@cognite/reveal 3.0.2 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/core/src/internals.d.ts +2 -2
  2. package/core/src/public/RevealManager.d.ts +8 -17
  3. package/core/src/public/createRevealManager.d.ts +5 -4
  4. package/core/src/public/migration/Cognite3DViewer.d.ts +26 -13
  5. package/core/src/public/migration/renderOptionsHelpers.d.ts +29 -0
  6. package/core/src/public/migration/types.d.ts +2 -0
  7. package/core/src/public/types.d.ts +6 -1
  8. package/core/src/storage/RevealManagerHelper.d.ts +7 -6
  9. package/eptBinaryDecoder.worker.map +1 -0
  10. package/extensions/datasource.js +6 -6
  11. package/extensions/datasource.map +1 -1
  12. package/index.js +213 -165
  13. package/index.map +1 -1
  14. package/package.json +5 -5
  15. package/packages/cad-geometry-loaders/index.d.ts +3 -0
  16. package/packages/{cad-model → cad-geometry-loaders}/src/CadManager.d.ts +2 -4
  17. package/packages/cad-geometry-loaders/src/CadModelUpdateHandler.d.ts +1 -1
  18. package/packages/{cad-model → cad-geometry-loaders}/src/InternalRevealCadOptions.d.ts +0 -0
  19. package/packages/{cad-model → cad-geometry-loaders}/src/createCadManager.d.ts +2 -2
  20. package/packages/cad-geometry-loaders/src/sector/culling/OrderSectorsByVisibilityCoverage.d.ts +3 -3
  21. package/packages/cad-geometry-loaders/src/sector/culling/RenderAlreadyLoadedGeometryProvider.d.ts +5 -3
  22. package/packages/cad-geometry-loaders/src/sector/culling/createV8SectorCuller.d.ts +2 -2
  23. package/packages/cad-geometry-loaders/src/sector/culling/types.d.ts +1 -1
  24. package/packages/cad-model/index.d.ts +6 -9
  25. package/packages/cad-model/src/CadModelFactory.d.ts +3 -2
  26. package/packages/{rendering/src → cad-model/src/batching}/GeometryBatchingManager.d.ts +2 -2
  27. package/packages/{rendering/src → cad-model/src/batching}/InstancedMeshManager.d.ts +2 -2
  28. package/packages/cad-model/src/picking/PickingHandler.d.ts +35 -0
  29. package/packages/cad-model/src/types.d.ts +59 -0
  30. package/packages/cad-model/src/{BoundingBoxClipper.d.ts → utilities/BoundingBoxClipper.d.ts} +0 -0
  31. package/packages/cad-model/src/{NodeIdAndTreeIndexMaps.d.ts → utilities/NodeIdAndTreeIndexMaps.d.ts} +0 -0
  32. package/packages/cad-model/src/{callActionWithIndicesAsync.d.ts → utilities/callActionWithIndicesAsync.d.ts} +0 -0
  33. package/packages/{rendering/src/sector → cad-model/src/wrappers}/CadNode.d.ts +2 -5
  34. package/packages/cad-model/src/{Cognite3DModel.d.ts → wrappers/Cognite3DModel.d.ts} +4 -4
  35. package/packages/cad-parsers/src/cad/primitiveGeometries.d.ts +3 -3
  36. package/packages/cad-styling/src/NodeAppearance.d.ts +6 -6
  37. package/packages/camera-manager/src/ComboControls.d.ts +1 -1
  38. package/packages/modeldata-api/index.d.ts +1 -1
  39. package/packages/modeldata-api/src/CdfModelDataProvider.d.ts +1 -2
  40. package/packages/modeldata-api/src/LocalModelDataProvider.d.ts +0 -2
  41. package/packages/modeldata-api/src/LocalModelMetadataProvider.d.ts +2 -2
  42. package/packages/modeldata-api/src/types.d.ts +1 -5
  43. package/packages/pointclouds/index.d.ts +5 -1
  44. package/packages/pointclouds/src/CognitePointCloudModel.d.ts +12 -1
  45. package/packages/pointclouds/src/PointCloudFactory.d.ts +9 -5
  46. package/packages/pointclouds/src/PointCloudManager.d.ts +13 -2
  47. package/packages/pointclouds/src/PointCloudNode.d.ts +11 -4
  48. package/packages/pointclouds/src/PotreeGroupWrapper.d.ts +8 -1
  49. package/packages/pointclouds/src/PotreeNodeWrapper.d.ts +8 -9
  50. package/packages/pointclouds/src/PotreePnextLoader.d.ts +4 -0
  51. package/packages/pointclouds/src/createPointClassKey.d.ts +5 -0
  52. package/packages/pointclouds/src/createPointCloudManager.d.ts +2 -1
  53. package/packages/pointclouds/src/potree-three-loader/Potree.d.ts +46 -0
  54. package/packages/pointclouds/src/potree-three-loader/geometry/IPointCloudTreeGeometry.d.ts +10 -0
  55. package/packages/pointclouds/src/potree-three-loader/geometry/IPointCloudTreeGeometryNode.d.ts +11 -0
  56. package/packages/pointclouds/src/potree-three-loader/geometry/PointCloudEptGeometry.d.ts +50 -0
  57. package/packages/pointclouds/src/potree-three-loader/geometry/PointCloudEptGeometryNode.d.ts +63 -0
  58. package/packages/pointclouds/src/potree-three-loader/geometry/translationUtils.d.ts +7 -0
  59. package/packages/pointclouds/src/potree-three-loader/index.d.ts +10 -0
  60. package/packages/pointclouds/src/potree-three-loader/loading/EptBinaryLoader.d.ts +12 -0
  61. package/packages/pointclouds/src/potree-three-loader/loading/EptLoader.d.ts +5 -0
  62. package/packages/pointclouds/src/potree-three-loader/loading/ILoader.d.ts +4 -0
  63. package/packages/pointclouds/src/potree-three-loader/loading/globalLoadingCounter.d.ts +5 -0
  64. package/packages/pointclouds/src/potree-three-loader/rendering/PointCloudMaterial.d.ts +203 -0
  65. package/packages/pointclouds/src/potree-three-loader/rendering/classification.d.ts +2 -0
  66. package/packages/pointclouds/src/potree-three-loader/rendering/clipping.d.ts +12 -0
  67. package/packages/pointclouds/src/potree-three-loader/rendering/constants.d.ts +14 -0
  68. package/packages/pointclouds/src/potree-three-loader/rendering/enums.d.ts +46 -0
  69. package/packages/pointclouds/src/potree-three-loader/rendering/features.d.ts +6 -0
  70. package/packages/pointclouds/src/potree-three-loader/rendering/gradients/SpectralGradient.d.ts +2 -0
  71. package/packages/pointclouds/src/potree-three-loader/rendering/index.d.ts +5 -0
  72. package/packages/pointclouds/src/potree-three-loader/rendering/texture-generation.d.ts +5 -0
  73. package/packages/pointclouds/src/potree-three-loader/rendering/types.d.ts +10 -0
  74. package/packages/pointclouds/src/potree-three-loader/tree/IPointCloudTreeNode.d.ts +7 -0
  75. package/packages/pointclouds/src/potree-three-loader/tree/IPointCloudTreeNodeBase.d.ts +18 -0
  76. package/packages/pointclouds/src/potree-three-loader/tree/PointAttributes.d.ts +52 -0
  77. package/packages/pointclouds/src/potree-three-loader/tree/PointCloudOctree.d.ts +48 -0
  78. package/packages/pointclouds/src/potree-three-loader/tree/PointCloudOctreeNode.d.ts +27 -0
  79. package/packages/pointclouds/src/potree-three-loader/tree/PointCloudOctreePicker.d.ts +11 -0
  80. package/packages/pointclouds/src/potree-three-loader/tree/PointCloudOctreePickerHelper.d.ts +57 -0
  81. package/packages/pointclouds/src/potree-three-loader/tree/PointCloudTree.d.ts +6 -0
  82. package/packages/pointclouds/src/potree-three-loader/types/IPotree.d.ts +11 -0
  83. package/packages/pointclouds/src/potree-three-loader/types/IVisibilityUpdateResult.d.ts +18 -0
  84. package/packages/pointclouds/src/potree-three-loader/types/type-predicates.d.ts +6 -0
  85. package/packages/pointclouds/src/potree-three-loader/types/types.d.ts +14 -0
  86. package/packages/pointclouds/src/potree-three-loader/utils/BinaryHeap.d.ts +11 -0
  87. package/packages/pointclouds/src/potree-three-loader/utils/WorkerPool.d.ts +31 -0
  88. package/packages/pointclouds/src/potree-three-loader/utils/async-blocking-queue.d.ts +8 -0
  89. package/packages/pointclouds/src/potree-three-loader/utils/bounds.d.ts +6 -0
  90. package/packages/pointclouds/src/potree-three-loader/utils/box3-helper.d.ts +13 -0
  91. package/packages/pointclouds/src/potree-three-loader/utils/lru.d.ts +32 -0
  92. package/packages/pointclouds/src/potree-three-loader/utils/math.d.ts +1 -0
  93. package/packages/pointclouds/src/potree-three-loader/utils/utils.d.ts +8 -0
  94. package/packages/pointclouds/src/potree-three-loader/version.d.ts +9 -0
  95. package/packages/pointclouds/src/potree-three-loader/workers/eptBinaryDecoder.worker.d.ts +18 -0
  96. package/packages/pointclouds/src/types.d.ts +0 -30
  97. package/packages/rendering/index.d.ts +5 -2
  98. package/packages/rendering/src/RenderPass.d.ts +15 -0
  99. package/packages/rendering/src/RenderPipelineExecutor.d.ts +12 -0
  100. package/packages/rendering/src/RenderPipelineProvider.d.ts +15 -0
  101. package/packages/rendering/src/pipeline-executors/BasicPipelineExecutor.d.ts +11 -0
  102. package/packages/rendering/src/render-passes/GeometryPass.d.ts +16 -0
  103. package/packages/rendering/src/render-passes/PostProcessingPass.d.ts +24 -0
  104. package/packages/rendering/src/render-passes/SSAOPass.d.ts +14 -0
  105. package/packages/rendering/src/render-passes/types.d.ts +31 -0
  106. package/packages/rendering/src/render-pipeline-providers/CadGeometryRenderModePipelineProvider.d.ts +23 -0
  107. package/packages/rendering/src/render-pipeline-providers/CadGeometryRenderPipelineProvider.d.ts +25 -0
  108. package/packages/rendering/src/render-pipeline-providers/DefaultRenderPipelineProvider.d.ts +34 -0
  109. package/packages/rendering/src/render-pipeline-providers/types.d.ts +19 -0
  110. package/packages/rendering/src/rendering/shaders.d.ts +1 -15
  111. package/packages/rendering/src/rendering/types.d.ts +1 -1
  112. package/packages/rendering/src/utilities/renderUtilities.d.ts +26 -0
  113. package/packages/tools/src/AxisView/AxisViewTool.d.ts +0 -1
  114. package/packages/utilities/index.d.ts +3 -0
  115. package/packages/utilities/src/DeferredPromise.d.ts +1 -1
  116. package/packages/utilities/src/SceneHandler.d.ts +21 -0
  117. package/packages/utilities/src/WebGLRendererStateHelper.d.ts +12 -0
  118. package/packages/utilities/src/device.d.ts +10 -0
  119. package/packages/utilities/src/isMobileOrTablet.d.ts +1 -0
  120. package/packages/utilities/src/three/createFullScreenTriangleGeometry.d.ts +5 -0
  121. package/tools.js +58 -45
  122. package/tools.map +1 -1
  123. package/packages/cad-model/src/CadModelSectorLoadStatistics.d.ts +0 -38
  124. package/packages/cad-model/src/GeometryFilter.d.ts +0 -20
  125. package/packages/cad-model/src/WellKnownUnit.d.ts +0 -7
  126. package/packages/cad-model/src/picking.d.ts +0 -28
  127. package/packages/rendering/src/rendering/EffectRenderManager.d.ts +0 -99
package/tools.js CHANGED
@@ -1,8 +1,8 @@
1
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var i in r)("object"==typeof exports?exports:e)[i]=r[i]}}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="https://apps-cdn.cogniteapp.com/@cognite/reveal-parser-worker/1.3.0/",r(r.s=72)}([function(e,t){e.exports=require("three")},function(e,t,r){"use strict";
1
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var i in r)("object"==typeof exports?exports:e)[i]=r[i]}}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="https://apps-cdn.cogniteapp.com/@cognite/reveal-parser-worker/1.3.0/",r(r.s=75)}([function(e,t){e.exports=require("three")},function(e,t,r){"use strict";
2
2
  /*!
3
3
  * Copyright 2021 Cognite AS
4
4
  */
5
- function i(e,t){if(t(e))for(let r=0;r<e.children.length;r++)i(e.children[r],t)}function n(e,t){if(void 0===e)return;const{position:r,target:i}=e;return r.applyMatrix4(t),i.applyMatrix4(t),{position:r,target:i}}r.d(t,"y",(function(){return i})),r.d(t,"x",(function(){return n})),r.d(t,"e",(function(){return s})),r.d(t,"g",(function(){return b})),r.d(t,"q",(function(){return A})),r.d(t,"m",(function(){return l})),r.d(t,"j",(function(){return p})),r.d(t,"o",(function(){return d})),r.d(t,"f",(function(){return g})),r.d(t,"u",(function(){return w})),r.d(t,"d",(function(){return I})),r.d(t,"a",(function(){return D})),r.d(t,"b",(function(){return G})),r.d(t,"w",(function(){return U})),r.d(t,"s",(function(){return S})),r.d(t,"z",(function(){return F})),r.d(t,"t",(function(){return W})),r.d(t,"k",(function(){return Z})),r.d(t,"l",(function(){return Y})),r.d(t,"h",(function(){return J})),r.d(t,"i",(function(){return Q})),r.d(t,"p",(function(){return L})),r.d(t,"v",(function(){return j})),r.d(t,"r",(function(){return X})),r.d(t,"n",(function(){return H})),r.d(t,"A",(function(){return $})),r.d(t,"B",(function(){return K})),r.d(t,"c",(function(){return ee}));var o=r(0);
5
+ function i(e,t){if(t(e))for(let r=0;r<e.children.length;r++)i(e.children[r],t)}function n(e,t){if(void 0===e)return;const{position:r,target:i}=e;return r.applyMatrix4(t),i.applyMatrix4(t),{position:r,target:i}}r.d(t,"B",(function(){return i})),r.d(t,"A",(function(){return n})),r.d(t,"e",(function(){return s})),r.d(t,"g",(function(){return b})),r.d(t,"t",(function(){return A})),r.d(t,"n",(function(){return l})),r.d(t,"j",(function(){return p})),r.d(t,"r",(function(){return d})),r.d(t,"f",(function(){return g})),r.d(t,"x",(function(){return w})),r.d(t,"d",(function(){return I})),r.d(t,"a",(function(){return D})),r.d(t,"b",(function(){return G})),r.d(t,"z",(function(){return U})),r.d(t,"q",(function(){return S})),r.d(t,"o",(function(){return F})),r.d(t,"v",(function(){return O})),r.d(t,"C",(function(){return j})),r.d(t,"w",(function(){return V})),r.d(t,"l",(function(){return Z})),r.d(t,"m",(function(){return J})),r.d(t,"h",(function(){return L})),r.d(t,"i",(function(){return X})),r.d(t,"s",(function(){return H})),r.d(t,"y",(function(){return Y})),r.d(t,"u",(function(){return q})),r.d(t,"p",(function(){return $})),r.d(t,"D",(function(){return ee})),r.d(t,"E",(function(){return te})),r.d(t,"c",(function(){return ie})),r.d(t,"k",(function(){return ae}));var o=r(0);
6
6
  /*!
7
7
  * Copyright 2021 Cognite AS
8
8
  */class a{static color(e){const t=a._colors.get(e);if(void 0!==t)return t;const r=a.generateRandomColor();return a._colors.set(e,r),r}static colorRGB(e){const t=a.color(e);return[Math.floor(255*t.r),Math.floor(255*t.g),Math.floor(255*t.b)]}static colorCSS(e){const[t,r,i]=a.colorRGB(e);return`rgb(${t}, ${r}, ${i})`}static generateRandomColor(){const e=Math.random(),t=.4+.6*Math.random(),r=.3+.4*Math.random();return(new o.Color).setHSL(e,t,r)}}
@@ -37,7 +37,7 @@ function l(e,t){throw new Error(t||"Unexpected object: "+e)}
37
37
  */class v{constructor(e){this.range=e,this.maxSubtreeDepth=0,this.count=e.count}static fromInterval(e,t){return new v(p.createFromInterval(e,t))}traverse(e){e(this.range)}contains(e){return this.range.contains(e)}addRange(e){return this.range.intersectsOrCoinciding(e)?new v(this.range.union(e)):y.fromIndexNodesAndBalance(this,new v(e))}removeRange(e){if(!e.intersects(this.range))return this;if(this.range.isInside(e))return;let t=void 0,r=void 0;return this.range.from<e.from&&(t=p.createFromInterval(this.range.from,e.from-1)),this.range.toInclusive>e.toInclusive&&(r=p.createFromInterval(e.toInclusive+1,this.range.toInclusive)),null!=t&&null!=r?y.fromIndexNodesAndBalance(new v(t),new v(r)):null!=t?new v(t):null!=r?new v(r):void 0}hasIntersectionWith(e){return e.range.intersects(this.range)}soak(e){return this.range.intersectsOrCoinciding(e)?[void 0,this.range.union(e)]:[this,e]}clone(){return new v(this.range)}}class g{constructor(e){if(null==e)this.rootNode=void 0;else if(p.isNumericRange(e))this.addRange(e);else for(const t of e)this.add(t)}forEachRange(e){this.rootNode&&this.rootNode.traverse(e)}add(e){const t=new p(e,1);this.addRange(t)}addRange(e){this.rootNode?this.rootNode=this.rootNode.addRange(e):this.rootNode=new v(e)}remove(e){const t=new p(e,1);this.removeRange(t)}removeRange(e){this.rootNode&&(this.rootNode=this.rootNode.removeRange(e))}contains(e){return!!this.rootNode&&this.rootNode.contains(e)}get count(){return this.rootNode?this.rootNode.count:0}toRangeArray(){const e=[];return this.forEachRange(t=>{e.push(t)}),e}toIndexArray(){const e=[];return this.rootNode&&this.forEachRange(t=>{t.forEach(t=>{e.push(t)})}),e}toPlainSet(){const e=this.toIndexArray();return new Set(e)}invertedRanges(){const e=this.toRangeArray(),t=[];for(let r=0;r<e.length-1;r++)e[r].toInclusive+1>=e[r+1].from||t.push(p.createFromInterval(e[r].toInclusive+1,e[r+1].from-1));return t}unionWith(e){return this.rootNode?e.forEachRange(e=>{this.rootNode=this.rootNode.addRange(e)}):this.rootNode=e.rootNode,this}differenceWith(e){return this.rootNode&&e.forEachRange(e=>{var t;this.rootNode=null===(t=this.rootNode)||void 0===t?void 0:t.removeRange(e)}),this}hasIntersectionWith(e){if(e instanceof g)return void 0!==this.rootNode&&void 0!==e.rootNode&&this.rootNode.hasIntersectionWith(e.rootNode);if(e instanceof Map){for(const t of e.keys())if(this.contains(t))return!0;return!1}for(const t of e)if(this.contains(t))return!0;return!1}intersectWith(e){if(this.rootNode&&e.rootNode){if(this.rootNode.range.from<e.rootNode.range.from){const t=p.createFromInterval(this.rootNode.range.from,e.rootNode.range.from-1);if(this.rootNode=this.rootNode.removeRange(t),!this.rootNode)return this}if(this.rootNode.range.toInclusive>e.rootNode.range.toInclusive){const t=p.createFromInterval(e.rootNode.range.toInclusive+1,this.rootNode.range.toInclusive);this.rootNode=this.rootNode.removeRange(t)}e.invertedRanges().forEach(e=>{this.rootNode&&(this.rootNode=this.rootNode.removeRange(e))})}else this.rootNode&&(this.rootNode=void 0);return this}clear(){this.rootNode=void 0}clone(){const e=new g;return this.rootNode&&(e.rootNode=this.rootNode.clone()),e}}
38
38
  /*!
39
39
  * Copyright 2021 Cognite AS
40
- */function w(e,t,r){const i=N(e);if(0==i)return;const n=E(0,-e);let o=R(x(i));const a=i/T(o);a<1&&(o-=1),o+=127,t[r]=128*n+R(o*T(-1)),t[r+1]=128*B(o,2)+B(R(128*a),128),t[r+2]=R(B(R(a*T(15)),T(8))),t[r+3]=R(T(23)*B(a,T(-15)))}function E(e,t){return t<e?0:1}function T(e){return Math.pow(2,e)}function B(e,t){return e-t*R(e/t)}function R(e){return Math.floor(e)}function x(e){return Math.log(e)/Math.log(2)}function N(e){return Math.abs(e)}
40
+ */function w(e,t,r){const i=N(e);if(0==i)return;const n=E(0,-e);let o=x(R(i));const a=i/T(o);a<1&&(o-=1),o+=127,t[r]=128*n+x(o*T(-1)),t[r+1]=128*B(o,2)+B(x(128*a),128),t[r+2]=x(B(x(a*T(15)),T(8))),t[r+3]=x(T(23)*B(a,T(-15)))}function E(e,t){return t<e?0:1}function T(e){return Math.pow(2,e)}function B(e,t){return e-t*x(e/t)}function x(e){return Math.floor(e)}function R(e){return Math.log(e)/Math.log(2)}function N(e){return Math.abs(e)}
41
41
  /*!
42
42
  * Copyright 2021 Cognite AS
43
43
  */class I{constructor(e,t){this._numFilled=0,this._batchIdCounter=0,this._batchMap=new Map,this._type=t;const r=Math.pow(2,Math.ceil(Math.log2(e)));this._bufferView=new t(r)}get length(){return this._numFilled}get bufferView(){return this._bufferView}add(e){let t=!1;if(this._numFilled+e.length>this._bufferView.length){const r=Math.pow(2,Math.ceil(Math.log2(this._numFilled+e.length)));this.allocateNewBuffer(r),t=!0}this._bufferView.set(e,this._numFilled);const r=this.createBatch(e),i=this._numFilled;this._numFilled+=e.length;return{batchId:r,bufferIsReallocated:t,updateRange:{byteOffset:i,byteCount:e.length}}}remove(e){const t=this._batchMap.get(e);if(!t)throw new Error("batch does not exist in buffer");this._bufferView.copyWithin(t.from,t.from+t.count,this._numFilled),this._numFilled-=t.count;const r=t.from,i=this._numFilled-t.from;this._currentTail===t&&(this._currentTail=t.prev);const n=t.prev,o=t.next;n&&(n.next=o),o&&(o.prev=n);let a=o;for(;a;)a.from-=t.count,a=a.next;return this._batchMap.delete(e),{byteOffset:r,byteCount:i}}getRangeForBatchId(e){const t=this._batchMap.get(e);if(!t)throw new Error("batch does not exist in buffer");return{byteOffset:t.from,byteCount:t.count}}createBatch(e){const t={from:this._numFilled,count:e.length,prev:this._currentTail,next:void 0};this._currentTail&&(this._currentTail.next=t),this._currentTail=t;const r=this._batchIdCounter;return this._batchIdCounter++,this._batchMap.set(r,t),r}allocateNewBuffer(e){const t=new this._type(e);t.set(this._bufferView),this._bufferView=t}}
@@ -52,47 +52,60 @@ function l(e,t){throw new Error(t||"Unexpected object: "+e)}
52
52
  */function U(e,t){return(t=null!=t?t:new o.Box3).min.set(e.min[0],e.min[1],e.min[2]),t.max.set(e.max[0],e.max[1],e.max[2]),t}
53
53
  /*!
54
54
  * Copyright 2022 Cognite AS
55
- */
55
+ */function V(){let e=!1;var t;return t=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e}
56
+ /*!
57
+ * Copyright 2022 Cognite AS
58
+ */function S(){
56
59
  /*!
57
60
  * Copyright 2021 Cognite AS
58
61
  */
59
- const V={tmpVector:new o.Vector3};function F(e,t){const{tmpVector:r}=V;r.set(e.min.x,e.min.y,e.min.z),t(r),r.set(e.min.x,e.min.y,e.max.z),t(r),r.set(e.min.x,e.max.y,e.min.z),t(r),r.set(e.min.x,e.max.y,e.max.z),t(r),r.set(e.max.x,e.min.y,e.min.z),t(r),r.set(e.max.x,e.min.y,e.max.z),t(r),r.set(e.max.x,e.max.y,e.min.z),t(r),r.set(e.max.x,e.max.y,e.max.z),t(r)}function S(e,t){let r=!1;return F(e,e=>{r=r||t.distanceToPoint(e)>=0}),r}
62
+ return function(){let e=!1;var t;return t=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e}()?{deviceType:"mobile"}:V()?{deviceType:"tablet"}:{deviceType:"desktop"}}
63
+ /*!
64
+ * Copyright 2022 Cognite AS
65
+ */function F(){const e=new o.BufferGeometry,t=new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),r=new Float32Array([0,0,2,0,0,2]);return e.setAttribute("position",new o.BufferAttribute(t,3)),e.setAttribute("uv",new o.BufferAttribute(r,2)),e}
60
66
  /*!
61
67
  * Copyright 2021 Cognite AS
62
- */function W(){let e=!1;var t;return t=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e}
68
+ */const W={tmpVector:new o.Vector3};function j(e,t){const{tmpVector:r}=W;r.set(e.min.x,e.min.y,e.min.z),t(r),r.set(e.min.x,e.min.y,e.max.z),t(r),r.set(e.min.x,e.max.y,e.min.z),t(r),r.set(e.min.x,e.max.y,e.max.z),t(r),r.set(e.max.x,e.min.y,e.min.z),t(r),r.set(e.max.x,e.min.y,e.max.z),t(r),r.set(e.max.x,e.max.y,e.min.z),t(r),r.set(e.max.x,e.max.y,e.max.z),t(r)}function O(e,t){let r=!1;return j(e,e=>{r=r||t.distanceToPoint(e)>=0}),r}
63
69
  /*!
64
70
  * Copyright 2021 Cognite AS
65
- */class Z{constructor(e){this._originalState={},this._renderer=e,this._originalState={}}setClearColor(e,t){this._originalState={clearColor:this._renderer.getClearColor(new o.Color),clearAlpha:this._renderer.getClearAlpha(),...this._originalState},this._renderer.setClearColor(e,t)}setSize(e,t){this._originalState={size:this._renderer.getSize(new o.Vector2),...this._originalState},this._renderer.setSize(e,t)}set localClippingEnabled(e){this._originalState={localClippingEnabled:this._renderer.localClippingEnabled,...this._originalState},this._renderer.localClippingEnabled=e}set autoClear(e){this._originalState={autoClear:this._renderer.autoClear,...this._originalState},this._renderer.autoClear=e}setRenderTarget(e){this._originalState={renderTarget:this._renderer.getRenderTarget(),...this._originalState},this._renderer.setRenderTarget(e)}resetState(){void 0!==this._originalState.autoClear&&(this._renderer.autoClear=this._originalState.autoClear),void 0!==this._originalState.clearColor&&this._renderer.setClearColor(this._originalState.clearColor,this._originalState.clearAlpha),void 0!==this._originalState.localClippingEnabled&&(this._renderer.localClippingEnabled=this._originalState.localClippingEnabled),void 0!==this._originalState.size&&this._renderer.setSize(this._originalState.size.width,this._originalState.size.height),void 0!==this._originalState.renderTarget&&this._renderer.setRenderTarget(this._originalState.renderTarget),this._originalState={}}}var O=r(25);
71
+ */class Z{constructor(e){this._originalState={},this._renderer=e,this._originalState={}}setScissor(e,t,r,i){const n=this._renderer.getScissor(new o.Vector4);this._originalState={scissorData:n||void 0,...this._originalState},this._renderer.setScissor(e,t,r,i)}setScissorTest(e){this._originalState={scissorTest:this._renderer.getScissorTest(),...this._originalState},this._renderer.setScissorTest(e)}setClearColor(e,t){this._originalState={clearColor:this._renderer.getClearColor(new o.Color),clearAlpha:this._renderer.getClearAlpha(),...this._originalState},this._renderer.setClearColor(e,t)}setWebGLState(e){var t,r,i;const n=this._renderer.getContext();if(this._originalState={webGLState:{buffers:(null==e?void 0:e.buffers)?{}:void 0},...this._originalState},null===(t=null==e?void 0:e.buffers)||void 0===t?void 0:t.depth){const t=null===(r=e.buffers.depth)||void 0===r?void 0:r.test,o=null===(i=e.buffers.depth)||void 0===i?void 0:i.mask;this._originalState.webGLState.buffers.depth={test:t?n.getParameter(n.DEPTH_TEST):void 0,mask:o?n.getParameter(n.DEPTH_WRITEMASK):void 0},o&&this._renderer.state.buffers.depth.setMask(o),t&&this._renderer.state.buffers.depth.setTest(t)}}setSize(e,t){this._originalState={size:this._renderer.getSize(new o.Vector2),...this._originalState},this._renderer.setSize(e,t)}set localClippingEnabled(e){this._originalState={localClippingEnabled:this._renderer.localClippingEnabled,...this._originalState},this._renderer.localClippingEnabled=e}set autoClear(e){this._originalState={autoClear:this._renderer.autoClear,...this._originalState},this._renderer.autoClear=e}setRenderTarget(e){this._originalState={renderTarget:this._renderer.getRenderTarget(),...this._originalState},this._renderer.setRenderTarget(e)}resetState(){var e,t,r,i;if(void 0!==this._originalState.autoClear&&(this._renderer.autoClear=this._originalState.autoClear),void 0!==this._originalState.clearColor&&this._renderer.setClearColor(this._originalState.clearColor,this._originalState.clearAlpha),void 0!==this._originalState.localClippingEnabled&&(this._renderer.localClippingEnabled=this._originalState.localClippingEnabled),void 0!==this._originalState.size&&this._renderer.setSize(this._originalState.size.width,this._originalState.size.height),void 0!==this._originalState.renderTarget&&this._renderer.setRenderTarget(this._originalState.renderTarget),void 0!==this._originalState.scissorData&&this._renderer.setScissor(this._originalState.scissorData),void 0!==this._originalState.scissorTest&&this._renderer.setScissorTest(this._originalState.scissorTest),void 0!==this._originalState.webGLState&&(null===(t=null===(e=this._originalState.webGLState)||void 0===e?void 0:e.buffers)||void 0===t?void 0:t.depth)){const e=null===(r=this._originalState.webGLState.buffers.depth)||void 0===r?void 0:r.test,t=null===(i=this._originalState.webGLState.buffers.depth)||void 0===i?void 0:i.mask;t&&this._renderer.state.buffers.depth.setMask(t),e&&this._renderer.state.buffers.depth.setTest(e)}this._originalState={}}}var P=r(25);
66
72
  /*!
67
73
  * Copyright 2021 Cognite AS
68
- */const j={publicPath:""};
74
+ */const Y={publicPath:""};
69
75
  /*!
70
76
  * Copyright 2021 Cognite AS
71
- */var P=r(11);
77
+ */var z=r(10);
72
78
  /*!
73
79
  * Copyright 2021 Cognite AS
74
- */class Y{constructor(){this.workerList=[];const e=this.determineNumberOfWorkers();for(let t=0;t<e;t++){const e={worker:Object(O.wrap)(this.createWorker()),activeJobCount:0,messageIdCounter:0};this.workerList.push(e)}(async function(e){let t;try{t=await e.getVersion()}catch(e){t="1.1.0"}const r="1.3.0",[i,n,o]=r.split(".").map(e=>parseInt(e,10)),[a,f,s]=t.split(".").map(e=>parseInt(e,10)),c=`Update your local copy of @cognite/reveal-parser-worker. Required version is ${r}. Received ${t}.`;if(i!==a)throw new Error(c);if(f<n)throw new Error(c);if(f===n&&s<o)throw new Error(c)}
80
+ */class J{constructor(){this.workerList=[];const e=this.determineNumberOfWorkers();for(let t=0;t<e;t++){const e={worker:Object(P.wrap)(this.createWorker()),activeJobCount:0,messageIdCounter:0};this.workerList.push(e)}(async function(e){let t;try{t=await e.getVersion()}catch(e){t="1.1.0"}const r="1.3.0",[i,n,o]=r.split(".").map(e=>parseInt(e,10)),[a,f,s]=t.split(".").map(e=>parseInt(e,10)),c=`Update your local copy of @cognite/reveal-parser-worker. Required version is ${r}. Received ${t}.`;if(i!==a)throw new Error(c);if(f<n)throw new Error(c);if(f===n&&s<o)throw new Error(c)}
75
81
  /*!
76
82
  * Copyright 2021 Cognite AS
77
- */)(this.workerList[0].worker).catch(e=>P.a.error(e)),this.workerObjUrl&&URL.revokeObjectURL(this.workerObjUrl)}static get defaultPool(){return Y._defaultPool=Y._defaultPool||new Y,Y._defaultPool}createWorker(){const e=(j.publicPath||r.p)+"reveal.parser.worker.js",t={name:"reveal.parser #"+this.workerList.length};if(function(e,t=location.origin){const r=e=>!e.match(/^.*\/\//);if(r(t))throw new Error("isTheSameDomain: the second argument must be an absolute url or omitted. Received "+t);if(r(e))return!0;try{const r=[e,t].map(e=>e.startsWith("//")?"https:"+e:e).map(e=>new URL(e));return r[0].host===r[1].host}catch(r){return console.error(`can not create URLs for ${e} and ${t}`,r),!1}}(e))return new Worker(e,t);if(!this.workerObjUrl){const t=new Blob([`importScripts(${JSON.stringify(e)});`],{type:"text/javascript"});this.workerObjUrl=URL.createObjectURL(t)}return new Worker(this.workerObjUrl,t)}async postWorkToAvailable(e){const t=this.workerList.reduce((e,t)=>e.activeJobCount>t.activeJobCount?t:e,this.workerList[0]);t.activeJobCount+=1;return await(async()=>{try{return await e(t.worker)}finally{t.activeJobCount-=1}})()}determineNumberOfWorkers(){return Math.max(2,Math.min(4,window.navigator.hardwareConcurrency||2))}}class z{constructor(e){this._value=e,this._lastAccessTime=Date.now()}get value(){return this.touch(),this._value}get lastAccessTime(){return this._lastAccessTime}touch(){this._lastAccessTime=Date.now()}}class J{constructor(e=50,t,r=10){this._data=new Map,this._maxElementsInCache=e,this._defaultCleanupCount=Math.max(r,1),this._removeCallback=t}has(e){return this._data.has(e)}forceInsert(e,t){this.isFull()&&this.cleanCache(this._defaultCleanupCount),this.insert(e,t)}insert(e,t){if(this._data.size<this._maxElementsInCache)this._data.set(e,new z(t));else if(this._maxElementsInCache>0)throw new Error("Cache full, please clean Cache and retry adding data")}remove(e){if(void 0!==this._removeCallback){const t=this._data.get(e);void 0!==t&&this._removeCallback(t.value)}this._data.delete(e)}get(e){const t=this._data.get(e);if(void 0!==t)return t.value;throw new Error(`Cache element ${e} does not exist`)}isFull(){return this._data.size>=this._maxElementsInCache}cleanCache(e){const t=Array.from(this._data.entries());t.sort((e,t)=>t[1].lastAccessTime-e[1].lastAccessTime);for(let r=0;r<e;r++){const e=t.pop();if(void 0===e)return;this.remove(e[0])}}resize(e){this._maxElementsInCache=e,this._defaultCleanupCount=Math.max(e*J.CLEANUP_COUNT_TO_CAPACITY_RATIO,1),this.isFull()&&this.cleanCache(this._data.size-this._maxElementsInCache)}clear(){if(void 0!==this._removeCallback)for(const e of this._data.values())this._removeCallback(e.value);this._data.clear()}}J.CLEANUP_COUNT_TO_CAPACITY_RATIO=.2;
83
+ */)(this.workerList[0].worker).catch(e=>z.a.error(e)),this.workerObjUrl&&URL.revokeObjectURL(this.workerObjUrl)}static get defaultPool(){return J._defaultPool=J._defaultPool||new J,J._defaultPool}createWorker(){const e=(Y.publicPath||r.p)+"reveal.parser.worker.js",t={name:"reveal.parser #"+this.workerList.length};if(function(e,t=location.origin){const r=e=>!e.match(/^.*\/\//);if(r(t))throw new Error("isTheSameDomain: the second argument must be an absolute url or omitted. Received "+t);if(r(e))return!0;try{const r=[e,t].map(e=>e.startsWith("//")?"https:"+e:e).map(e=>new URL(e));return r[0].host===r[1].host}catch(r){return console.error(`can not create URLs for ${e} and ${t}`,r),!1}}(e))return new Worker(e,t);if(!this.workerObjUrl){const t=new Blob([`importScripts(${JSON.stringify(e)});`],{type:"text/javascript"});this.workerObjUrl=URL.createObjectURL(t)}return new Worker(this.workerObjUrl,t)}async postWorkToAvailable(e){const t=this.workerList.reduce((e,t)=>e.activeJobCount>t.activeJobCount?t:e,this.workerList[0]);t.activeJobCount+=1;return await(async()=>{try{return await e(t.worker)}finally{t.activeJobCount-=1}})()}determineNumberOfWorkers(){return Math.max(2,Math.min(4,window.navigator.hardwareConcurrency||2))}}class Q{constructor(e){this._value=e,this._lastAccessTime=Date.now()}get value(){return this.touch(),this._value}get lastAccessTime(){return this._lastAccessTime}touch(){this._lastAccessTime=Date.now()}}class L{constructor(e=50,t,r=10){this._data=new Map,this._maxElementsInCache=e,this._defaultCleanupCount=Math.max(r,1),this._removeCallback=t}has(e){return this._data.has(e)}forceInsert(e,t){this.isFull()&&this.cleanCache(this._defaultCleanupCount),this.insert(e,t)}insert(e,t){if(this._data.size<this._maxElementsInCache)this._data.set(e,new Q(t));else if(this._maxElementsInCache>0)throw new Error("Cache full, please clean Cache and retry adding data")}remove(e){if(void 0!==this._removeCallback){const t=this._data.get(e);void 0!==t&&this._removeCallback(t.value)}this._data.delete(e)}get(e){const t=this._data.get(e);if(void 0!==t)return t.value;throw new Error(`Cache element ${e} does not exist`)}isFull(){return this._data.size>=this._maxElementsInCache}cleanCache(e){const t=Array.from(this._data.entries());t.sort((e,t)=>t[1].lastAccessTime-e[1].lastAccessTime);for(let r=0;r<e;r++){const e=t.pop();if(void 0===e)return;this.remove(e[0])}}resize(e){this._maxElementsInCache=e,this._defaultCleanupCount=Math.max(e*L.CLEANUP_COUNT_TO_CAPACITY_RATIO,1),this.isFull()&&this.cleanCache(this._data.size-this._maxElementsInCache)}clear(){if(void 0!==this._removeCallback)for(const e of this._data.values())this._removeCallback(e.value);this._data.clear()}}L.CLEANUP_COUNT_TO_CAPACITY_RATIO=.2;
78
84
  /*!
79
85
  * Copyright 2021 Cognite AS
80
86
  */
81
- class Q{constructor(e,t){this._cache=new Map,this._retrieves=new Map,this._capacity=e,this._disposeCallback=t}get(e){const t=this._retrieves.get(e)||0;return this._retrieves.set(e,t+1),this._cache.get(e)}set(e,t){return this._cache.has(e)||this._capacity<this._cache.size?(this._cache.set(e,t),!0):(this._cache.set(e,t),this.ensureWithinCapacity(),this._cache.has(e))}remove(e){this._retrieves.delete(e);const t=this._cache.get(e);return void 0!==t&&(void 0!==this._disposeCallback&&this._disposeCallback(t),this._cache.delete(e),!0)}clear(){if(void 0!==this._disposeCallback)for(const e of this._cache.values())this._disposeCallback(e);this._retrieves.clear(),this._cache.clear()}ensureWithinCapacity(){if(this._capacity>=this._cache.size)return;const e=Array.from(this._cache.keys()).map(e=>({key:e,retrivalCount:this._retrieves.get(e)||0})).sort((e,t)=>e.retrivalCount-t.retrivalCount).slice(0,this._cache.size-this._capacity).map(e=>e.key);for(const t of e)this.remove(t)}}
87
+ class X{constructor(e,t){this._cache=new Map,this._retrieves=new Map,this._capacity=e,this._disposeCallback=t}get(e){const t=this._retrieves.get(e)||0;return this._retrieves.set(e,t+1),this._cache.get(e)}set(e,t){return this._cache.has(e)||this._capacity<this._cache.size?(this._cache.set(e,t),!0):(this._cache.set(e,t),this.ensureWithinCapacity(),this._cache.has(e))}remove(e){this._retrieves.delete(e);const t=this._cache.get(e);return void 0!==t&&(void 0!==this._disposeCallback&&this._disposeCallback(t),this._cache.delete(e),!0)}clear(){if(void 0!==this._disposeCallback)for(const e of this._cache.values())this._disposeCallback(e);this._retrieves.clear(),this._cache.clear()}ensureWithinCapacity(){if(this._capacity>=this._cache.size)return;const e=Array.from(this._cache.keys()).map(e=>({key:e,retrivalCount:this._retrieves.get(e)||0})).sort((e,t)=>e.retrivalCount-t.retrivalCount).slice(0,this._cache.size-this._capacity).map(e=>e.key);for(const t of e)this.remove(t)}}
82
88
  /*!
83
89
  * Copyright 2021 Cognite AS
84
- */function L(){this.array=null}function X(e,t){const r=e.get(t);void 0===r?e.set(t,1):e.set(t,r+1)}function H(e,t){const r=e.get(t);m()(void 0!==r),r<=1?e.delete(t):e.set(t,r-1)}r(17),r(27);
90
+ */function H(){this.array=null}function q(e,t){const r=e.get(t);void 0===r?e.set(t,1):e.set(t,r+1)}function $(e,t){const r=e.get(t);void 0!==r&&(r<=1?e.delete(t):e.set(t,r-1))}r(16),r(27);
85
91
  /*!
86
92
  * Copyright 2021 Cognite AS
87
93
  */
88
- const q={renderSize:new o.Vector2,position:new o.Vector3};function $(e,t,r=new o.Vector3){const{position:i}=q;i.copy(t),i.project(e);const n=(i.x+1)/2,a=(1-i.y)/2;return r.set(n,a,i.z)}function K(e,t,r,i=new o.Vector3){$(t,r,i);const{renderSize:n}=q;e.getSize(n);const a=e.domElement,{width:f,height:s}=a.getBoundingClientRect();return i.x=Math.round(i.x*f),i.y=Math.round(i.y*s),i}
94
+ const K={renderSize:new o.Vector2,position:new o.Vector3};function ee(e,t,r=new o.Vector3){const{position:i}=K;i.copy(t),i.project(e);const n=(i.x+1)/2,a=(1-i.y)/2;return r.set(n,a,i.z)}function te(e,t,r,i=new o.Vector3){ee(t,r,i);const{renderSize:n}=K;e.getSize(n);const a=e.domElement,{width:f,height:s}=a.getBoundingClientRect();return i.x=Math.round(i.x*f),i.y=Math.round(i.y*s),i}
89
95
  /*!
90
96
  * Copyright 2022 Cognite AS
91
- */class ee{constructor(){this._state="pending",this._promise=new Promise((e,t)=>{this._resolve=e,this._reject=t})}get state(){return this._state}finally(e){return this._promise.finally(e)}then(e,t){return this._promise.then(e,t)}catch(e){return this._promise.catch(e)}resolve(e){this._resolve(e),this._state="fulfilled"}reject(e){this._reject(e),this._state="rejected"}}Symbol.toStringTag},function(e,t){e.exports=require("assert")},function(e,t,r){"use strict";r.d(t,"b",(function(){return _})),r.d(t,"a",(function(){return y})),r.d(t,"f",(function(){return E})),r.d(t,"e",(function(){return T})),r.d(t,"c",(function(){return B})),r.d(t,"d",(function(){return w})),r.d(t,"m",(function(){return F})),r.d(t,"n",(function(){return S})),r.d(t,"o",(function(){return Z})),r.d(t,"p",(function(){return W})),r.d(t,"l",(function(){return j})),r.d(t,"g",(function(){return P})),r.d(t,"t",(function(){return z})),r.d(t,"i",(function(){return X})),r.d(t,"w",(function(){return Q})),r.d(t,"r",(function(){return $})),r.d(t,"v",(function(){return q})),r.d(t,"h",(function(){return Y})),r.d(t,"u",(function(){return J})),r.d(t,"s",(function(){return K})),r.d(t,"k",(function(){return te})),r.d(t,"q",(function(){return p})),r.d(t,"j",(function(){return le}));var i=r(0),n=r(1),o=r(28),a=r.n(o);
97
+ */var re;class ie{constructor(){this[re]="Promise",this._state="pending",this._promise=new Promise((e,t)=>{this._resolve=e,this._reject=t})}get state(){return this._state}finally(e){return this._promise.finally(e)}then(e,t){return this._promise.then(e,t)}catch(e){return this._promise.catch(e)}resolve(e){this._resolve(e),this._state="fulfilled"}reject(e){this._reject(e),this._state="rejected"}}re=Symbol.toStringTag;var ne=r(20),oe=r.n(ne);
98
+ /*!
99
+ * Copyright 2022 Cognite AS
100
+ */
101
+ class ae{constructor(){this._cadModels=[],this._customObjects=[],this._scene=new o.Scene,this._scene.autoUpdate=!1}get scene(){return this._scene}get cadModels(){return this._cadModels}get customObjects(){return this._customObjects}addCadModel(e,t){this._cadModels.push({object:e,modelIdentifier:t}),this._scene.add(e)}removeCadModel(e){this.scene.remove(e),oe()(this._cadModels,{object:e})}addCustomObject(e){this._customObjects.push(e),this._scene.add(e)}removeCustomObject(e){this.scene.remove(e),oe()(this._customObjects,e)}dispose(){this._cadModels.splice(0),this._customObjects.splice(0),this.scene.traverse(e=>{var t,r;(e instanceof o.Mesh||e instanceof o.Points||e instanceof o.Line)&&(null===(t=e.geometry)||void 0===t||t.dispose(),Array.isArray(e.material)?e.material.forEach(e=>e.dispose()):null===(r=e.material)||void 0===r||r.dispose())}),this.scene.clear()}}
102
+ /*!
103
+ * Copyright 2021 Cognite AS
104
+ */},function(e,t){e.exports=require("assert")},function(e,t,r){"use strict";r.d(t,"b",(function(){return _})),r.d(t,"a",(function(){return y})),r.d(t,"f",(function(){return E})),r.d(t,"e",(function(){return T})),r.d(t,"c",(function(){return B})),r.d(t,"d",(function(){return w})),r.d(t,"m",(function(){return S})),r.d(t,"n",(function(){return F})),r.d(t,"o",(function(){return j})),r.d(t,"p",(function(){return W})),r.d(t,"l",(function(){return Z})),r.d(t,"g",(function(){return P})),r.d(t,"t",(function(){return z})),r.d(t,"i",(function(){return X})),r.d(t,"w",(function(){return Q})),r.d(t,"r",(function(){return $})),r.d(t,"v",(function(){return q})),r.d(t,"h",(function(){return Y})),r.d(t,"u",(function(){return J})),r.d(t,"s",(function(){return K})),r.d(t,"k",(function(){return te})),r.d(t,"q",(function(){return p})),r.d(t,"j",(function(){return le}));var i=r(0),n=r(1),o=r(28),a=r.n(o);
92
105
  /*!
93
106
  * Copyright 2021 Cognite AS
94
107
  */
95
- class f{constructor(e,t,r,i,n){this.version=e,this.maxTreeIndex=t,this.root=i,this.sectors=n,this.unit=r}get sectorCount(){return this.sectors.size}getSectorById(e){return this.sectors.get(e)}getAllSectors(){return[...this.sectors.values()]}getSectorsContainingPoint(e){const t=[];return Object(n.y)(this.root,r=>!!r.subtreeBoundingBox.containsPoint(e)&&(t.push(r),!0)),t}getSectorsIntersectingBox(e){const t=[];return Object(n.y)(this.root,r=>!!r.subtreeBoundingBox.intersectsBox(e)&&(t.push(r),!0)),t}getBoundsOfMostGeometry(){var e;return this._cachedBoundsOfMostGeometry=null!==(e=this._cachedBoundsOfMostGeometry)&&void 0!==e?e:this.computeBoundsOfMostGeometry(),this._cachedBoundsOfMostGeometry}getSectorsIntersectingFrustum(e,t){const r=(new i.Matrix4).multiplyMatrices(e,t),o=(new i.Frustum).setFromProjectionMatrix(r),a=[];return Object(n.y)(this.root,e=>!!o.intersectsBox(e.subtreeBoundingBox)&&(a.push(e),!0)),a}computeBoundsOfMostGeometry(){if(0===this.root.children.length)return this.root.subtreeBoundingBox;const e=[],t=[];Object(n.y)(this.root,r=>(0===r.children.length&&(t.push(r.subtreeBoundingBox.min.toArray(),r.subtreeBoundingBox.max.toArray()),e.push(r.subtreeBoundingBox,r.subtreeBoundingBox)),!0));const r=Math.min(t.length,4),o=a()(t,r,"kmpp",10),f=new Array(o.idxs.length).fill(0),s=f.map(e=>new i.Box3);o.idxs.map(e=>f[e]++);const c=f.reduce((e,t,r)=>(t>e.count&&(e.count=t,e.idx=r),e),{count:0,idx:-1}).idx;o.idxs.forEach((t,r)=>{f[t]++,s[t].expandByPoint(e[r].min),s[t].expandByPoint(e[r].max)});const u=s.filter((e,t)=>!(t===c||!e.intersectsBox(s[c])));if(u.length>0){const e=s[c].clone();return u.forEach(t=>{e.expandByPoint(t.min),e.expandByPoint(t.max)}),e}return s[c]}}
108
+ class f{constructor(e,t,r,i,n){this.version=e,this.maxTreeIndex=t,this.root=i,this.sectors=n,this.unit=r}get sectorCount(){return this.sectors.size}getSectorById(e){return this.sectors.get(e)}getAllSectors(){return[...this.sectors.values()]}getSectorsContainingPoint(e){const t=[];return Object(n.B)(this.root,r=>!!r.subtreeBoundingBox.containsPoint(e)&&(t.push(r),!0)),t}getSectorsIntersectingBox(e){const t=[];return Object(n.B)(this.root,r=>!!r.subtreeBoundingBox.intersectsBox(e)&&(t.push(r),!0)),t}getBoundsOfMostGeometry(){var e;return this._cachedBoundsOfMostGeometry=null!==(e=this._cachedBoundsOfMostGeometry)&&void 0!==e?e:this.computeBoundsOfMostGeometry(),this._cachedBoundsOfMostGeometry}getSectorsIntersectingFrustum(e,t){const r=(new i.Matrix4).multiplyMatrices(e,t),o=(new i.Frustum).setFromProjectionMatrix(r),a=[];return Object(n.B)(this.root,e=>!!o.intersectsBox(e.subtreeBoundingBox)&&(a.push(e),!0)),a}computeBoundsOfMostGeometry(){if(0===this.root.children.length)return this.root.subtreeBoundingBox;const e=[],t=[];Object(n.B)(this.root,r=>(0===r.children.length&&(t.push(r.subtreeBoundingBox.min.toArray(),r.subtreeBoundingBox.max.toArray()),e.push(r.subtreeBoundingBox,r.subtreeBoundingBox)),!0));const r=Math.min(t.length,4),o=a()(t,r,"kmpp",10),f=new Array(o.idxs.length).fill(0),s=f.map(e=>new i.Box3);o.idxs.map(e=>f[e]++);const c=f.reduce((e,t,r)=>(t>e.count&&(e.count=t,e.idx=r),e),{count:0,idx:-1}).idx;o.idxs.forEach((t,r)=>{f[t]++,s[t].expandByPoint(e[r].min),s[t].expandByPoint(e[r].max)});const u=s.filter((e,t)=>!(t===c||!e.intersectsBox(s[c])));if(u.length>0){const e=s[c].clone();return u.forEach(t=>{e.expandByPoint(t.min),e.expandByPoint(t.max)}),e}return s[c]}}
96
109
  /*!
97
110
  * Copyright 2021 Cognite AS
98
111
  */function s(e){const t=new Map,r=[];e.sectors.forEach(e=>{var n;const o=function(e){const t=function(e){if(!e.facesFile)return{quadSize:-1,coverageFactors:{xy:-1,yz:-1,xz:-1},recursiveCoverageFactors:{xy:-1,yz:-1,xz:-1},fileName:null,downloadSize:e.indexFile.downloadSize};return{...e.facesFile,recursiveCoverageFactors:e.facesFile.recursiveCoverageFactors||e.facesFile.coverageFactors}}(e),r=e.boundingBox,n=r.min.x,o=r.min.y,a=r.min.z,f=r.max.x,s=r.max.y,c=r.max.z;return{id:e.id,path:e.path,depth:e.depth,subtreeBoundingBox:new i.Box3(new i.Vector3(n,o,a),new i.Vector3(f,s,c)),estimatedDrawCallCount:e.estimatedDrawCallCount||0,estimatedRenderCost:e.estimatedTriangleCount||0,indexFile:{...e.indexFile},facesFile:t,children:[]}}(e);t.set(e.id,o),r[e.id]=null!==(n=e.parentId)&&void 0!==n?n:-1});for(const e of t.values()){const i=r[e.id];if(-1===i)continue;t.get(i).children.push(e)}const n=t.get(0);if(!n)throw new Error("Root sector not found, must have ID 0");!function e(t,r){!function(e){return-1===e.facesFile.coverageFactors.xy}(t)?t.children.forEach(r=>e(r,t.facesFile)):(t.facesFile.coverageFactors.xy=r.recursiveCoverageFactors.xy,t.facesFile.coverageFactors.yz=r.recursiveCoverageFactors.yz,t.facesFile.coverageFactors.xz=r.recursiveCoverageFactors.xz,t.facesFile.recursiveCoverageFactors.xy=r.recursiveCoverageFactors.xy,t.facesFile.recursiveCoverageFactors.yz=r.recursiveCoverageFactors.yz,t.facesFile.recursiveCoverageFactors.xz=r.recursiveCoverageFactors.xz,t.children.forEach(t=>e(t,r)))}
@@ -107,14 +120,14 @@ class f{constructor(e,t,r,i,n){this.version=e,this.maxTreeIndex=t,this.root=i,th
107
120
  */const A=new Map([["meters",1],["meter",1],["m",1],["centimeters",.01],["centimeter",.01],["cm",.01],["millimeters",.001],["millimeter",.001],["mm",.001],["micrometers",1e-6],["micrometer",1e-6],["kilometers",1e3],["kilometer",1e3],["km",1e3],["feet",.3048],["ft",.3048],["inches",.0254],["inch",.0254],["yards",.9144],["yard",.9144],["miles",1609.34],["miles",1609.34],["mile",1609.34],["mils",254e-7],["mil",254e-7],["microinches",2.54e-8],["microinch",2.54e-8]]);function p(e){return e=null!=e?e:"meters",A.get(e.toLowerCase())}var d=r(6);
108
121
  /*!
109
122
  * Copyright 2021 Cognite AS
110
- */class _{constructor(e,t,r="scene.json"){this._currentModelIdentifier=0,this._cadSceneParser=new b,this._modelMetadataProvider=e,this._modelDataProvider=t,this._blobFileName=r}async loadData(e){const t=await this.getSupportedOutput(e),r=this._modelMetadataProvider.getModelUri(e,t),o=this._modelMetadataProvider.getModelMatrix(e,t.format),a=this._modelMetadataProvider.getModelCamera(e),f=await r,s=await this._modelDataProvider.getJsonFile(f,this._blobFileName),c=this._cadSceneParser.parse(s),u=function(e,t){var r;const n=null!==(r=p(e))&&void 0!==r?r:1;if(void 0===n)throw new Error(`Unknown model unit '${e}'`);return(new i.Matrix4).makeScale(n,n,n).multiply(t)}(c.unit,await o),l=(new i.Matrix4).copy(u).invert(),b=await a;return{modelIdentifier:""+this._currentModelIdentifier++,modelBaseUrl:f,geometryClipBox:null,format:t.format,formatVersion:t.version,modelMatrix:u,inverseModelMatrix:l,cameraConfiguration:Object(n.x)(b,u),scene:c}}async getSupportedOutput(e){const t=await this._modelMetadataProvider.getModelOutputs(e),r=[{format:d.d.GltfCadModel,version:9},{format:d.d.RevealCadModel,version:8}],i=r.map(e=>t.find(t=>t.format===e.format&&t.version===e.version)).filter(e=>void 0!==e);if(0===i.length){const e=t.map(e=>`${e.format} v${e.version}`).join(", "),i=r.map(e=>`${e.format} v${e.version}`).join(", ");throw new Error(`Model does not contain any supported CAD model outputs, got [${e}], but only supports [${i}]`)}return i[0]}}var h=r(2),k=r.n(h);
123
+ */class _{constructor(e,t,r="scene.json"){this._currentModelIdentifier=0,this._cadSceneParser=new b,this._modelMetadataProvider=e,this._modelDataProvider=t,this._blobFileName=r}async loadData(e){const t=await this.getSupportedOutput(e),r=this._modelMetadataProvider.getModelUri(e,t),o=this._modelMetadataProvider.getModelMatrix(e,t.format),a=this._modelMetadataProvider.getModelCamera(e),f=await r,s=await this._modelDataProvider.getJsonFile(f,this._blobFileName),c=this._cadSceneParser.parse(s),u=function(e,t){var r;const n=null!==(r=p(e))&&void 0!==r?r:1;if(void 0===n)throw new Error(`Unknown model unit '${e}'`);return(new i.Matrix4).makeScale(n,n,n).multiply(t)}(c.unit,await o),l=(new i.Matrix4).copy(u).invert(),b=await a;return{modelIdentifier:""+this._currentModelIdentifier++,modelBaseUrl:f,geometryClipBox:null,format:t.format,formatVersion:t.version,modelMatrix:u,inverseModelMatrix:l,cameraConfiguration:Object(n.A)(b,u),scene:c}}async getSupportedOutput(e){const t=await this._modelMetadataProvider.getModelOutputs(e),r=[{format:d.d.GltfCadModel,version:9},{format:d.d.RevealCadModel,version:8}],i=r.map(e=>t.find(t=>t.format===e.format&&t.version===e.version)).filter(e=>void 0!==e);if(0===i.length){const e=t.map(e=>`${e.format} v${e.version}`).join(", "),i=r.map(e=>`${e.format} v${e.version}`).join(", ");throw new Error(`Model does not contain any supported CAD model outputs, got [${e}], but only supports [${i}]`)}return i[0]}}var h=r(2),k=r.n(h);
111
124
  /*!
112
125
  * Copyright 2021 Cognite AS
113
126
  */
114
- class m{createSectorScene(e,t,r,i){k()(8===e||9===e,"Only version 8 and 9 is currently supported");const o=new Map;return Object(n.y)(i,e=>(o.set(e.id,e),!0)),new f(e,t,r,i,o)}}
127
+ class m{createSectorScene(e,t,r,i){k()(8===e||9===e,"Only version 8 and 9 is currently supported");const o=new Map;return Object(n.B)(i,e=>(o.set(e.id,e),!0)),new f(e,t,r,i,o)}}
115
128
  /*!
116
129
  * Copyright 2021 Cognite AS
117
- */class y{constructor(e){this._geometryClipBox=e}createClippedModel(e){const t=function e(t,r){const i=t.subtreeBoundingBox,n=t.subtreeBoundingBox.clone();if(n.intersect(r),n.isEmpty())return;{const o=[];for(let i=0;i<t.children.length;i++){const n=e(t.children[i],r);void 0!==n&&o.push(n)}const a=g(n)/g(i),f=Math.min(1,1-1/(1+10*a));return{...t,children:o,estimatedDrawCallCount:Math.ceil(f*t.estimatedDrawCallCount),estimatedRenderCost:Math.ceil(f*t.estimatedRenderCost),subtreeBoundingBox:n}}}(e.scene.root,this._geometryClipBox);if(void 0===t)throw new Error("No sectors inside provided geometry clip box");const r=new Map;Object(n.y)(t,e=>(r.set(e.id,e),!0));const i=(new m).createSectorScene(e.scene.version,e.scene.maxTreeIndex,e.scene.unit,t);return{...e,scene:i,geometryClipBox:this._geometryClipBox.clone()}}}const v={size:new i.Vector3};function g(e){const{size:t}=v;return e.getSize(t),t.x*t.y*t.z}
130
+ */class y{constructor(e){this._geometryClipBox=e}createClippedModel(e){const t=function e(t,r){const i=t.subtreeBoundingBox,n=t.subtreeBoundingBox.clone();if(n.intersect(r),n.isEmpty())return;{const o=[];for(let i=0;i<t.children.length;i++){const n=e(t.children[i],r);void 0!==n&&o.push(n)}const a=g(n)/g(i),f=Math.min(1,1-1/(1+10*a));return{...t,children:o,estimatedDrawCallCount:Math.ceil(f*t.estimatedDrawCallCount),estimatedRenderCost:Math.ceil(f*t.estimatedRenderCost),subtreeBoundingBox:n}}}(e.scene.root,this._geometryClipBox);if(void 0===t)throw new Error("No sectors inside provided geometry clip box");const r=new Map;Object(n.B)(t,e=>(r.set(e.id,e),!0));const i=(new m).createSectorScene(e.scene.version,e.scene.maxTreeIndex,e.scene.unit,t);return{...e,scene:i,geometryClipBox:this._geometryClipBox.clone()}}}const v={size:new i.Vector3};function g(e){const{size:t}=v;return e.getSize(t),t.x*t.y*t.z}
118
131
  /*!
119
132
  * Copyright 2021 Cognite AS
120
133
  */var w;!function(e){e[e.Discarded=0]="Discarded",e[e.Simple=1]="Simple",e[e.Detailed=2]="Detailed"}(w||(w={}));
@@ -127,21 +140,21 @@ class E extends i.Group{constructor(e,t,r){super(),this._lod=w.Discarded,this._u
127
140
  */(t)}get levelOfDetail(){return this._lod}get group(){return this._group}get updatedTimestamp(){return this._updatedTimestamp}updateGeometry(e,t){this.resetGeometry(),this._group=e,void 0!==this._group&&this._group.reference(),this._lod=t,this._updatedTimestamp=Date.now(),this.visible=this._lod!==w.Discarded,this.updateMatrixWorld(!0)}dereference(){void 0!==this._group&&this._group.dereference()}resetGeometry(){void 0!==this._group&&(this._group.dereference(),this.remove(this._group)),this._group=void 0,this._lod=w.Discarded,this._updatedTimestamp=Date.now()}}class T extends E{constructor(e){const t=e.scene.root.subtreeBoundingBox.clone();t.applyMatrix4(e.modelMatrix),super(0,"/",t);const{scene:r,modelMatrix:i}=e;this.sectorNodeMap=new Map,function e(t,r,i,n){const o=t.subtreeBoundingBox.clone();o.applyMatrix4(n);const a=new E(t.id,t.path,o);a.name="Sector "+t.id,r.add(a),a.matrixAutoUpdate=!1,a.updateMatrixWorld(!0),i.set(t.id,a);for(const r of t.children)e(r,a,i,n)}
128
141
  /*!
129
142
  * Copyright 2021 Cognite AS
130
- */(r.root,this,this.sectorNodeMap,i),this.matrixAutoUpdate=!1,this.setModelTransformation(i)}dereferenceAllNodes(){for(const[e,t]of this.sectorNodeMap)t.dereference()}setModelTransformation(e){this.matrix.copy(e),this.updateMatrixWorld(!0)}getModelTransformation(e=new i.Matrix4){return e.copy(this.matrix)}}class B{constructor(e=n.l.defaultPool){this.workerPool=e}parseI3D(e){return this.parseDetailed(e)}parseF3D(e){return this.parseSimple(e)}parseCTM(e){return this.parseCtm(e)}async parseSimple(e){return this.workerPool.postWorkToAvailable(async t=>t.parseQuads(e))}async parseDetailed(e){return this.workerPool.postWorkToAvailable(async t=>t.parseSector(e))}async parseCtm(e){return this.workerPool.postWorkToAvailable(async t=>t.parseCtm(e))}}
143
+ */(r.root,this,this.sectorNodeMap,i),this.matrixAutoUpdate=!1,this.setModelTransformation(i)}dereferenceAllNodes(){for(const[e,t]of this.sectorNodeMap)t.dereference()}setModelTransformation(e){this.matrix.copy(e),this.updateMatrixWorld(!0)}getModelTransformation(e=new i.Matrix4){return e.copy(this.matrix)}}class B{constructor(e=n.m.defaultPool){this.workerPool=e}parseI3D(e){return this.parseDetailed(e)}parseF3D(e){return this.parseSimple(e)}parseCTM(e){return this.parseCtm(e)}async parseSimple(e){return this.workerPool.postWorkToAvailable(async t=>t.parseQuads(e))}async parseDetailed(e){return this.workerPool.postWorkToAvailable(async t=>t.parseSector(e))}async parseCtm(e){return this.workerPool.postWorkToAvailable(async t=>t.parseCtm(e))}}
131
144
  /*!
132
145
  * Copyright 2021 Cognite AS
133
- */const R={centerA:new i.Vector3,centerB:new i.Vector3,sphere:new i.Sphere,box:new i.Box3};function x(e,t,r,i,n,o,a,f){const{centerA:s,centerB:c,sphere:u,box:l}=R;function b(t,r=0){const i=(a*o+t)/e.BYTES_PER_ELEMENT;return e[i+r]}s.set(b(t,0),b(t,1),b(t,2)),c.set(b(r,0),b(r,1),b(r,2));const A=b(i),p=b(n);return u.set(s,A),u.getBoundingBox(f),u.set(c,p),u.getBoundingBox(l),f.expandByPoint(l.min),f.expandByPoint(l.max),f}const N={vertex1:new i.Vector3,vertex2:new i.Vector3,vertex3:new i.Vector3,vertex4:new i.Vector3};function I(e,t,r,i,n,o,a,f){const{vertex1:s,vertex2:c,vertex3:u,vertex4:l}=N;function b(e,t=0){const r=(a*o+e)/n.BYTES_PER_ELEMENT;return n[r+t]}return s.set(b(e,0),b(e,1),b(e,2)),c.set(b(t,0),b(t,1),b(t,2)),u.set(b(r,0),b(r,1),b(r,2)),l.set(b(i,0),b(i,1),b(i,2)),f.setFromPoints([s,c,u,l]),f}const C={instanceMatrix:new i.Matrix4};function D(e,t,r,i,n,o){const{instanceMatrix:a}=C,f=(i*r+t)/e.BYTES_PER_ELEMENT;return a.set(e[f+0],e[f+4],e[f+8],e[f+12],e[f+1],e[f+5],e[f+9],e[f+13],e[f+2],e[f+6],e[f+10],e[f+14],e[f+3],e[f+7],e[f+11],e[f+15]),o.copy(n).applyMatrix4(a),o}const M={center:new i.Vector3,size:new i.Vector3};function G(e,t,r,i,n){const{size:o}=M,a=2*Math.max(e,t,r);return o.set(a,a,a),n.setFromCenterAndSize(i,o),n}
146
+ */const x={centerA:new i.Vector3,centerB:new i.Vector3,sphere:new i.Sphere,box:new i.Box3};function R(e,t,r,i,n,o,a,f){const{centerA:s,centerB:c,sphere:u,box:l}=x;function b(t,r=0){const i=(a*o+t)/e.BYTES_PER_ELEMENT;return e[i+r]}s.set(b(t,0),b(t,1),b(t,2)),c.set(b(r,0),b(r,1),b(r,2));const A=b(i),p=b(n);return u.set(s,A),u.getBoundingBox(f),u.set(c,p),u.getBoundingBox(l),f.expandByPoint(l.min),f.expandByPoint(l.max),f}const N={vertex1:new i.Vector3,vertex2:new i.Vector3,vertex3:new i.Vector3,vertex4:new i.Vector3};function I(e,t,r,i,n,o,a,f){const{vertex1:s,vertex2:c,vertex3:u,vertex4:l}=N;function b(e,t=0){const r=(a*o+e)/n.BYTES_PER_ELEMENT;return n[r+t]}return s.set(b(e,0),b(e,1),b(e,2)),c.set(b(t,0),b(t,1),b(t,2)),u.set(b(r,0),b(r,1),b(r,2)),l.set(b(i,0),b(i,1),b(i,2)),f.setFromPoints([s,c,u,l]),f}const C={instanceMatrix:new i.Matrix4};function D(e,t,r,i,n,o){const{instanceMatrix:a}=C,f=(i*r+t)/e.BYTES_PER_ELEMENT;return a.set(e[f+0],e[f+4],e[f+8],e[f+12],e[f+1],e[f+5],e[f+9],e[f+13],e[f+2],e[f+6],e[f+10],e[f+14],e[f+3],e[f+7],e[f+11],e[f+15]),o.copy(n).applyMatrix4(a),o}const M={center:new i.Vector3,size:new i.Vector3};function G(e,t,r,i,n){const{size:o}=M,a=2*Math.max(e,t,r);return o.set(a,a,a),n.setFromCenterAndSize(i,o),n}
134
147
  /*!
135
148
  * Copyright 2021 Cognite AS
136
149
  */
137
150
  function U(e,t,r,n){const o=e.length/t,a=new Float32Array(e.buffer,e.byteOffset,e.byteLength/Float32Array.BYTES_PER_ELEMENT),f=new i.Box3,s=new Uint8Array(e.length);let c=0;for(let i=0;i<o;++i)if(n(i,t,a,f),r.intersectsBox(f)){const r=e.subarray(i*t,(i+1)*t);s.set(r,c*t),c++}return s.slice(0,c*t)}
138
151
  /*!
139
152
  * Copyright 2021 Cognite AS
140
- */function V(e){return Array.from(e.values()).reduce((e,t)=>Math.max(e,t.offset+t.size),0)}function F(e,t,r,i){if(null===i)return e;const n=t.get("instanceMatrix");k()(void 0!==n);const o=V(t),a=n.offset;return U(e,o,i,(e,t,i,n)=>{D(i,a,t,e,r,n)})}function S(e,t,r,i="radiusA",n="radiusB"){if(null===r)return e;const o=t.get("centerA"),a=t.get("centerB"),f=t.get(i),s=t.get(n);k()(void 0!==o&&void 0!==a&&void 0!==f&&void 0!==s);return U(e,V(t),r,(e,t,r,i)=>{x(r,o.offset,a.offset,f.offset,s.offset,t,e,i)})}function W(e,t,r){if(null===r)return e;const i=t.get("vertex1"),n=t.get("vertex2"),o=t.get("vertex3"),a=t.get("vertex4");k()(void 0!==i&&void 0!==n&&void 0!==o&&void 0!==a);return U(e,V(t),r,(e,t,r,f)=>{I(i.offset,n.offset,o.offset,a.offset,r,t,e,f)})}function Z(e,t,r,i="horizontalRadius",n="verticalRadius"){if(null===r)return e;const o=t.get("center"),a=t.get(i),f=t.get(n),s=t.get("height");k()(void 0!==o&&void 0!==a&&void 0!==f&&void 0!==s);return U(e,V(t),r,(e,t,r,i)=>{!function(e,t,r,i,n,o,a,f){const{center:s}=M;function c(e,t=0){const r=(a*o+e.offset)/n.BYTES_PER_ELEMENT;return n[r+t]}const u=c(t),l=c(r),b=c(i);s.set(c(e,0),c(e,1),c(e,2)),G(u,l,b,s,f)}(o,a,f,s,r,t,e,i)})}
153
+ */function V(e){return Array.from(e.values()).reduce((e,t)=>Math.max(e,t.offset+t.size),0)}function S(e,t,r,i){if(null===i)return e;const n=t.get("instanceMatrix");k()(void 0!==n);const o=V(t),a=n.offset;return U(e,o,i,(e,t,i,n)=>{D(i,a,t,e,r,n)})}function F(e,t,r,i="radiusA",n="radiusB"){if(null===r)return e;const o=t.get("centerA"),a=t.get("centerB"),f=t.get(i),s=t.get(n);k()(void 0!==o&&void 0!==a&&void 0!==f&&void 0!==s);return U(e,V(t),r,(e,t,r,i)=>{R(r,o.offset,a.offset,f.offset,s.offset,t,e,i)})}function W(e,t,r){if(null===r)return e;const i=t.get("vertex1"),n=t.get("vertex2"),o=t.get("vertex3"),a=t.get("vertex4");k()(void 0!==i&&void 0!==n&&void 0!==o&&void 0!==a);return U(e,V(t),r,(e,t,r,f)=>{I(i.offset,n.offset,o.offset,a.offset,r,t,e,f)})}function j(e,t,r,i="horizontalRadius",n="verticalRadius"){if(null===r)return e;const o=t.get("center"),a=t.get(i),f=t.get(n),s=t.get("height");k()(void 0!==o&&void 0!==a&&void 0!==f&&void 0!==s);return U(e,V(t),r,(e,t,r,i)=>{!function(e,t,r,i,n,o,a,f){const{center:s}=M;function c(e,t=0){const r=(a*o+e.offset)/n.BYTES_PER_ELEMENT;return n[r+t]}const u=c(t),l=c(r),b=c(i);s.set(c(e,0),c(e,1),c(e,2)),G(u,l,b,s,f)}(o,a,f,s,r,t,e,i)})}
141
154
  /*!
142
155
  * Copyright 2021 Cognite AS
143
156
  */
144
- const O={p:new i.Vector3,instanceMatrix:new i.Matrix4,baseBounds:new i.Box3,instanceBounds:new i.Box3};function j(e,t,r,i){if(null===i)return r;const{p:n,instanceMatrix:o,baseBounds:a,instanceBounds:f}=O;a.makeEmpty();for(let i=r.triangleOffset;i<r.triangleOffset+r.triangleCount;++i){const r=t[3*i+0],o=t[3*i+1],f=t[3*i+2];n.set(e[r+0],e[r+1],e[r+2]),a.expandByPoint(n),n.set(e[o+0],e[o+1],e[o+2]),a.expandByPoint(n),n.set(e[f+0],e[f+1],e[f+2]),a.expandByPoint(n)}let s=0;const c=r.treeIndices.length,u=new Float32Array(r.instanceMatrices.length),l=new Float32Array(c),b=new Uint8Array(4*c);for(let e=0;e<c;++e)if(A=r.instanceMatrices,p=e,o.set(A[p+0],A[p+4],A[p+8],A[p+12],A[p+1],A[p+5],A[p+9],A[p+13],A[p+2],A[p+6],A[p+10],A[p+14],A[p+3],A[p+7],A[p+11],A[p+15]),f.copy(a).applyMatrix4(o),i.intersectsBox(f)){const t=r.instanceMatrices.subarray(16*e,16*(e+1)),i=r.colors.subarray(4*e,4*(e+1)),n=r.treeIndices[e];u.set(t,16*s),b.set(i,4*s),l[s]=n,s++}var A,p;if(c===s)return r;return{triangleCount:r.triangleCount,triangleOffset:r.triangleOffset,instanceMatrices:u.slice(0,16*s),colors:b.slice(0,4*s),treeIndices:l.slice(0,s)}}
157
+ const O={p:new i.Vector3,instanceMatrix:new i.Matrix4,baseBounds:new i.Box3,instanceBounds:new i.Box3};function Z(e,t,r,i){if(null===i)return r;const{p:n,instanceMatrix:o,baseBounds:a,instanceBounds:f}=O;a.makeEmpty();for(let i=r.triangleOffset;i<r.triangleOffset+r.triangleCount;++i){const r=t[3*i+0],o=t[3*i+1],f=t[3*i+2];n.set(e[r+0],e[r+1],e[r+2]),a.expandByPoint(n),n.set(e[o+0],e[o+1],e[o+2]),a.expandByPoint(n),n.set(e[f+0],e[f+1],e[f+2]),a.expandByPoint(n)}let s=0;const c=r.treeIndices.length,u=new Float32Array(r.instanceMatrices.length),l=new Float32Array(c),b=new Uint8Array(4*c);for(let e=0;e<c;++e)if(A=r.instanceMatrices,p=e,o.set(A[p+0],A[p+4],A[p+8],A[p+12],A[p+1],A[p+5],A[p+9],A[p+13],A[p+2],A[p+6],A[p+10],A[p+14],A[p+3],A[p+7],A[p+11],A[p+15]),f.copy(a).applyMatrix4(o),i.intersectsBox(f)){const t=r.instanceMatrices.subarray(16*e,16*(e+1)),i=r.colors.subarray(4*e,4*(e+1)),n=r.treeIndices[e];u.set(t,16*s),b.set(i,4*s),l[s]=n,s++}var A,p;if(c===s)return r;return{triangleCount:r.triangleCount,triangleOffset:r.triangleOffset,instanceMatrices:u.slice(0,16*s),colors:b.slice(0,4*s),treeIndices:l.slice(0,s)}}
145
158
  /*!
146
159
  * Copyright 2021 Cognite AS
147
160
  */const{boxGeometry:P,boxGeometryBoundingBox:Y}=(()=>{const e=function(){const e=[-.5,-.5,-.5,-.5,-.5,.5,-.5,.5,-.5,-.5,.5,.5,.5,-.5,-.5,.5,-.5,.5,.5,.5,-.5,.5,.5,.5],t=function(){const e=[1,3,2,6,4,5],t=[];for(let r=0;r<e.length;r++){const i=(r+1)%e.length;t.push(0),t.push(e[r]),t.push(e[i]),t.push(7),t.push(e[i]),t.push(e[r])}return t}(),r=new Float32Array(e),n=new i.BufferAttribute(r,3,!1),o=new i.BufferGeometry;return o.setIndex(t),o.setAttribute("position",n),o}();try{const t={index:e.getIndex(),position:e.getAttribute("position")};return e.computeBoundingBox(),{boxGeometry:t,boxGeometryBoundingBox:e.boundingBox}}finally{e.dispose()}})(),{quadGeometry:z,quadGeometryBoundingBox:J}=(()=>{const e=new i.PlaneBufferGeometry(1,1,1,1);try{const t={index:e.getIndex(),position:e.getAttribute("position"),normal:e.getAttribute("normal")};return e.computeBoundingBox(),{quadGeometry:t,quadGeometryBoundingBox:e.boundingBox}}finally{e.dispose()}})(),{trapeziumGeometry:Q,trapeziumGeometryBoundingBox:L}=(()=>{const e=[0,0,0,1,1,1,2,2,2,3,3,3];return{trapeziumGeometry:{index:new i.BufferAttribute(new Uint16Array([0,1,3,0,3,2]),1),position:new i.BufferAttribute(new Float32Array(e),3)},trapeziumGeometryBoundingBox:(new i.Box3).setFromArray(e)}})(),{coneGeometry:X,coneGeometryBoundingBox:H}=(()=>{const e=[];e.push(-1,1,-1),e.push(-1,-1,-1),e.push(1,1,-1),e.push(1,-1,-1),e.push(1,1,1),e.push(1,-1,1);const t=new Uint16Array([1,2,0,1,3,2,3,4,2,3,5,4]);return{coneGeometry:{index:new i.BufferAttribute(t,1),position:new i.BufferAttribute(new Float32Array(e),3)},coneGeometryBoundingBox:(new i.Box3).setFromArray(e)}})(),{torusLodGeometries:q}=(()=>{const e=(e,t)=>[e,2*t*Math.PI];return{torusLodGeometries:[{tubularSegments:9,radialSegments:18},{tubularSegments:5,radialSegments:12},{tubularSegments:4,radialSegments:5}].map(({tubularSegments:t,radialSegments:r})=>function(e,t,r=((e,t)=>[e,t,0])){const n=[],o=[],a=1/e,f=1/t;for(let i=0;i<=t;i++)for(let t=0;t<=e;t++){const[e,o,s]=r(t*a,i*f);n.push(e||0,o||0,s||0)}for(let r=1;r<=t;r++)for(let t=1;t<=e;t++){const i=(e+1)*r+t-1,n=(e+1)*(r-1)+t-1,a=(e+1)*(r-1)+t,f=(e+1)*r+t;o.push(i,n,f),o.push(n,a,f)}return{index:new i.Uint16BufferAttribute(o,1),position:new i.Float32BufferAttribute(n,3)}}(r,t,e))}})(),{nutGeometry:$,nutGeometryBoundingBox:K}=(()=>{const e=new i.CylinderBufferGeometry(.5,.5,1,6);try{e.applyMatrix4((new i.Matrix4).makeRotationX(-Math.PI/2));const t={index:e.getIndex(),position:e.getAttribute("position"),normal:e.getAttribute("normal")};return{nutGeometry:t,nutGeometryBoundingBox:(new i.Box3).setFromArray(t.position.array)}}finally{e.dispose()}})();var ee=r(5);
@@ -150,14 +163,14 @@ const O={p:new i.Vector3,instanceMatrix:new i.Matrix4,baseBounds:new i.Box3,inst
150
163
  */function te(e,t,r){if(!r)return e;if(t===ee.b.InstanceMesh||t===ee.b.TriangleMesh){const t=e.boundingBox;return!t||t.intersectsBox(r)?e:void 0}const o=oe(e,i.InterleavedBufferAttribute);let a;switch(t){case ee.b.BoxCollection:a=function(e,t){return fe(e,ne,t)}(o,r);break;case ee.b.CircleCollection:a=function(e,t){return fe(e,ie,t)}(o,r);break;case ee.b.ConeCollection:case ee.b.EccentricConeCollection:a=function(e,t){return se(e,t,"a_radiusA","a_radiusB")}(o,r);break;case ee.b.EllipsoidSegmentCollection:a=function(e,t){return function(e,t){const{center:r}=ue;return ae(e,(t,i,n,o)=>{const a=e.get("a_horizontalRadius").getX(t),f=e.get("a_verticalRadius").getX(t),s=e.get("a_height").getX(t),c=e.get("a_center");return r.set(c.getX(t),c.getY(t),c.getZ(t)),G(a,f,s,r,o)},t)}(e,t)}(o,r);break;case ee.b.GeneralCylinderCollection:a=function(e,t){return se(e,t,"a_radius","a_radius")}(o,r);break;case ee.b.GeneralRingCollection:case ee.b.QuadCollection:a=function(e,t){return fe(e,ie,t)}(o,r);break;case ee.b.TorusSegmentCollection:a=function(e,t){return function(e,t){const{boundingBox:r}=ce;return ae(e,(t,i,n,o)=>{const a=e.get("a_radius").getX(t),f=e.get("a_tubeRadius").getX(t);r.min.set(-a-f,-a-f,-f),r.max.set(a+f,a+f,f);const s=e.get("a_instanceMatrix");return D(n,s.offset*s.array.BYTES_PER_ELEMENT,i,t,r,o)},t)}(e,t)}(o,r);break;case ee.b.TrapeziumCollection:a=function(e,t){return function(e,t){return ae(e,(t,r,i,n)=>{const o=e.get("a_vertex1"),a=e.get("a_vertex2"),f=e.get("a_vertex3"),s=e.get("a_vertex4"),c=o.array.BYTES_PER_ELEMENT;return I(o.offset*c,a.offset*c,f.offset*c,s.offset*c,i,r,t,n)},t)}(e,t)}(o,r);break;case ee.b.NutCollection:a=function(e,t){return fe(e,ne,t)}
151
164
  /*!
152
165
  * Copyright 2021 Cognite AS
153
- */(o,r);break;default:Object(n.m)(t)}return 0!==a.length?function(e,t,r){const n=new i.BufferGeometry;return oe(t,i["BufferAttribute"]).forEach((e,t)=>{n.setAttribute(t,e)}),n.setIndex(t.getIndex()),r.forEach((t,r)=>{const o=t.data.stride,a=t.array.BYTES_PER_ELEMENT,f=re.get(a),s=new i.InstancedInterleavedBuffer(new f(e.buffer),o);n.setAttribute(r,new i.InterleavedBufferAttribute(s,t.itemSize,t.offset,t.normalized))}),n}(a,e,o):void 0}const re=new Map([[1,Uint8Array],[4,Float32Array]]),ie=new i.Box3(new i.Vector3(-.5,-.5,-1e-4),new i.Vector3(.5,.5,1e-4)),ne=new i.Box3(new i.Vector3(-.5,-.5,-.5),new i.Vector3(.5,.5,.5));function oe(e,t){return new Map(Object.entries(e.attributes).filter(e=>e[1]instanceof t).map(e=>[e[0],e[1]]))}function ae(e,t,r){const i=e.values().next().value,n=i.array;return U(new Uint8Array(n.buffer,n.byteOffset,n.byteLength),i.data.stride*n.BYTES_PER_ELEMENT,r,t)}function fe(e,t,r){return ae(e,(r,i,n,o)=>{const a=e.get("a_instanceMatrix");return D(n,a.offset*a.array.BYTES_PER_ELEMENT,i,r,t,o)},r)}function se(e,t,r,i){return ae(e,(t,n,o,a)=>{const f=e.get("a_centerA"),s=e.get("a_centerB"),c=e.get(r),u=e.get(i),l=f.array.BYTES_PER_ELEMENT;return x(o,f.offset*l,s.offset*l,c.offset*l,u.offset*l,n,t,a)},t)}const ce={boundingBox:new i.Box3};const ue={center:new i.Vector3};function le(e,t,r,o){const a=[],f=e.filter(e=>null===o||function(e,t){const{p:r,box:i}=be;i.makeEmpty();for(let t=0;t<e.vertices.length;t+=3)r.set(e.vertices[t+0],e.vertices[t+1],e.vertices[t+2]),i.expandByPoint(r);return t.intersectsBox(i)}
166
+ */(o,r);break;default:Object(n.n)(t)}return 0!==a.length?function(e,t,r){const n=new i.BufferGeometry;return oe(t,i["BufferAttribute"]).forEach((e,t)=>{n.setAttribute(t,e)}),n.setIndex(t.getIndex()),r.forEach((t,r)=>{const o=t.data.stride,a=t.array.BYTES_PER_ELEMENT,f=re.get(a),s=new i.InstancedInterleavedBuffer(new f(e.buffer),o);n.setAttribute(r,new i.InterleavedBufferAttribute(s,t.itemSize,t.offset,t.normalized))}),n}(a,e,o):void 0}const re=new Map([[1,Uint8Array],[4,Float32Array]]),ie=new i.Box3(new i.Vector3(-.5,-.5,-1e-4),new i.Vector3(.5,.5,1e-4)),ne=new i.Box3(new i.Vector3(-.5,-.5,-.5),new i.Vector3(.5,.5,.5));function oe(e,t){return new Map(Object.entries(e.attributes).filter(e=>e[1]instanceof t).map(e=>[e[0],e[1]]))}function ae(e,t,r){const i=e.values().next().value,n=i.array;return U(new Uint8Array(n.buffer,n.byteOffset,n.byteLength),i.data.stride*n.BYTES_PER_ELEMENT,r,t)}function fe(e,t,r){return ae(e,(r,i,n,o)=>{const a=e.get("a_instanceMatrix");return D(n,a.offset*a.array.BYTES_PER_ELEMENT,i,r,t,o)},r)}function se(e,t,r,i){return ae(e,(t,n,o,a)=>{const f=e.get("a_centerA"),s=e.get("a_centerB"),c=e.get(r),u=e.get(i),l=f.array.BYTES_PER_ELEMENT;return R(o,f.offset*l,s.offset*l,c.offset*l,u.offset*l,n,t,a)},t)}const ce={boundingBox:new i.Box3};const ue={center:new i.Vector3};function le(e,t,r,o){const a=[],f=e.filter(e=>null===o||function(e,t){const{p:r,box:i}=be;i.makeEmpty();for(let t=0;t<e.vertices.length;t+=3)r.set(e.vertices[t+0],e.vertices[t+1],e.vertices[t+2]),i.expandByPoint(r);return t.intersectsBox(i)}
154
167
  /*!
155
168
  * Copyright 2021 Cognite AS
156
- */(e,o));for(const e of f){const o=new i.BufferGeometry,f=new i.Uint32BufferAttribute(e.indices.buffer,1).onUpload(n.p),s=new i.Float32BufferAttribute(e.vertices.buffer,3).onUpload(n.p),c=new i.Uint8BufferAttribute(e.colors.buffer,3).onUpload(n.p),u=new i.Float32BufferAttribute(e.treeIndices.buffer,1).onUpload(n.p);o.setIndex(f),o.setAttribute("color",c),o.setAttribute("position",s),o.setAttribute("treeIndex",u),o.boundingBox=t.clone(),o.boundingSphere=new i.Sphere,t.getBoundingSphere(o.boundingSphere);const l=new i.Mesh(o,r);l.name="Triangle mesh "+e.fileId,l.userData.treeIndices=new Map;for(const t of e.treeIndices)Object(n.r)(l.userData.treeIndices,t);a.push(l)}return a}const be={p:new i.Vector3,box:new i.Box3}},,function(e,t,r){"use strict";r.d(t,"a",(function(){return k})),r.d(t,"b",(function(){return i}));var i,n=r(0),o=r(2),a=r.n(o),f=r(1);function s(e,t=!0){const r=new n.PlaneBufferGeometry(1,1,1,1);return e.setIndex(r.getIndex()),e.setAttribute("position",r.getAttribute("position")),t&&e.setAttribute("normal",r.getAttribute("normal")),e.computeBoundingBox(),e.boundingBox}function c(e){const t=[];t.push(-1,1,-1),t.push(-1,-1,-1),t.push(1,1,-1),t.push(1,-1,-1),t.push(1,1,1),t.push(1,-1,1);const r=new Uint16Array([1,2,0,1,3,2,3,4,2,3,5,4]);return e.setIndex(new n.BufferAttribute(r,1)),e.setAttribute("position",new n.BufferAttribute(new Float32Array(t),3)),(new n.Box3).setFromArray(t)}function u(e){const t=[{tubularSegments:9,radialSegments:18},{tubularSegments:5,radialSegments:12},{tubularSegments:4,radialSegments:5}],r=
169
+ */(e,o));for(const e of f){const o=new i.BufferGeometry,f=new i.Uint32BufferAttribute(e.indices.buffer,1).onUpload(n.s),s=new i.Float32BufferAttribute(e.vertices.buffer,3).onUpload(n.s),c=new i.Uint8BufferAttribute(e.colors.buffer,3).onUpload(n.s),u=new i.Float32BufferAttribute(e.treeIndices.buffer,1).onUpload(n.s);o.setIndex(f),o.setAttribute("color",c),o.setAttribute("position",s),o.setAttribute("treeIndex",u),o.boundingBox=t.clone(),o.boundingSphere=new i.Sphere,t.getBoundingSphere(o.boundingSphere);const l=new i.Mesh(o,r);l.name="Triangle mesh "+e.fileId,l.userData.treeIndices=new Map;for(const t of e.treeIndices)Object(n.u)(l.userData.treeIndices,t);a.push(l)}return a}const be={p:new i.Vector3,box:new i.Box3}},,function(e,t,r){"use strict";r.d(t,"a",(function(){return k})),r.d(t,"b",(function(){return i}));var i,n=r(0),o=r(2),a=r.n(o),f=r(1);function s(e,t=!0){const r=new n.PlaneBufferGeometry(1,1,1,1);return e.setIndex(r.getIndex()),e.setAttribute("position",r.getAttribute("position")),t&&e.setAttribute("normal",r.getAttribute("normal")),e.computeBoundingBox(),e.boundingBox}function c(e){const t=[];t.push(-1,1,-1),t.push(-1,-1,-1),t.push(1,1,-1),t.push(1,-1,-1),t.push(1,1,1),t.push(1,-1,1);const r=new Uint16Array([1,2,0,1,3,2,3,4,2,3,5,4]);return e.setIndex(new n.BufferAttribute(r,1)),e.setAttribute("position",new n.BufferAttribute(new Float32Array(t),3)),(new n.Box3).setFromArray(t)}function u(e){const t=[{tubularSegments:9,radialSegments:18},{tubularSegments:5,radialSegments:12},{tubularSegments:4,radialSegments:5}],r=
157
170
  /*!
158
171
  * Copyright 2021 Cognite AS
159
172
  */
160
- function(e,t,r=((e,t)=>[e,t,0])){const i=[],o=[],a=1/e,f=1/t;for(let n=0;n<=t;n++)for(let t=0;t<=e;t++){const[e,o,s]=r(t*a,n*f);i.push(e||0,o||0,s||0)}for(let r=1;r<=t;r++)for(let t=1;t<=e;t++){const i=(e+1)*r+t-1,n=(e+1)*(r-1)+t-1,a=(e+1)*(r-1)+t,f=(e+1)*r+t;o.push(i,n,f),o.push(n,a,f)}return{index:new n.Uint16BufferAttribute(o,1),position:new n.Float32BufferAttribute(i,3)}}(t[0].radialSegments,t[0].tubularSegments,(e,t)=>[e,2*t*Math.PI]);return e.setIndex(r.index),e.setAttribute("position",r.position),(new n.Box3).setFromArray(r.position.array)}function l(e,t){switch(e){case i.BoxCollection:!function(e){const t=new n.BoxBufferGeometry(1,1,1,1,1,1);e.setIndex(t.getIndex()),e.setAttribute("position",t.getAttribute("position")),e.setAttribute("normal",t.getAttribute("normal")),e.computeBoundingBox(),e.boundingBox}(t);break;case i.CircleCollection:s(t);break;case i.ConeCollection:case i.EccentricConeCollection:case i.EllipsoidSegmentCollection:case i.GeneralCylinderCollection:c(t);break;case i.GeneralRingCollection:s(t,!1);break;case i.NutCollection:!function(e){const t=new n.CylinderBufferGeometry(.5,.5,1,6);t.applyMatrix4((new n.Matrix4).makeRotationX(-Math.PI/2)),e.setIndex(t.getIndex()),e.setAttribute("position",t.getAttribute("position")),e.setAttribute("normal",t.getAttribute("normal")),(new n.Box3).setFromArray(t.getAttribute("position").array)}(t);break;case i.QuadCollection:s(t);break;case i.TrapeziumCollection:!function(e){const t=[0,0,0,1,1,1,2,2,2,3,3,3];e.setIndex(new n.BufferAttribute(new Uint16Array([0,1,3,0,3,2]),1)),e.setAttribute("position",new n.BufferAttribute(new Float32Array(t),3)),(new n.Box3).setFromArray(t)}(t);break;case i.TorusSegmentCollection:u(t);break;case i.InstanceMesh:case i.TriangleMesh:break;default:Object(f.m)(e)}}
173
+ function(e,t,r=((e,t)=>[e,t,0])){const i=[],o=[],a=1/e,f=1/t;for(let n=0;n<=t;n++)for(let t=0;t<=e;t++){const[e,o,s]=r(t*a,n*f);i.push(e||0,o||0,s||0)}for(let r=1;r<=t;r++)for(let t=1;t<=e;t++){const i=(e+1)*r+t-1,n=(e+1)*(r-1)+t-1,a=(e+1)*(r-1)+t,f=(e+1)*r+t;o.push(i,n,f),o.push(n,a,f)}return{index:new n.Uint16BufferAttribute(o,1),position:new n.Float32BufferAttribute(i,3)}}(t[0].radialSegments,t[0].tubularSegments,(e,t)=>[e,2*t*Math.PI]);return e.setIndex(r.index),e.setAttribute("position",r.position),(new n.Box3).setFromArray(r.position.array)}function l(e,t){switch(e){case i.BoxCollection:!function(e){const t=new n.BoxBufferGeometry(1,1,1,1,1,1);e.setIndex(t.getIndex()),e.setAttribute("position",t.getAttribute("position")),e.setAttribute("normal",t.getAttribute("normal")),e.computeBoundingBox(),e.boundingBox}(t);break;case i.CircleCollection:s(t);break;case i.ConeCollection:case i.EccentricConeCollection:case i.EllipsoidSegmentCollection:case i.GeneralCylinderCollection:c(t);break;case i.GeneralRingCollection:s(t,!1);break;case i.NutCollection:!function(e){const t=new n.CylinderBufferGeometry(.5,.5,1,6);t.applyMatrix4((new n.Matrix4).makeRotationX(-Math.PI/2)),e.setIndex(t.getIndex()),e.setAttribute("position",t.getAttribute("position")),e.setAttribute("normal",t.getAttribute("normal")),(new n.Box3).setFromArray(t.getAttribute("position").array)}(t);break;case i.QuadCollection:s(t);break;case i.TrapeziumCollection:!function(e){const t=[0,0,0,1,1,1,2,2,2,3,3,3];e.setIndex(new n.BufferAttribute(new Uint16Array([0,1,3,0,3,2]),1)),e.setAttribute("position",new n.BufferAttribute(new Float32Array(t),3)),(new n.Box3).setFromArray(t)}(t);break;case i.TorusSegmentCollection:u(t);break;case i.InstanceMesh:case i.TriangleMesh:break;default:Object(f.n)(e)}}
161
174
  /*!
162
175
  * Copyright 2021 Cognite AS
163
176
  */!function(e){e[e.BoxCollection=0]="BoxCollection",e[e.CircleCollection=1]="CircleCollection",e[e.ConeCollection=2]="ConeCollection",e[e.EccentricConeCollection=3]="EccentricConeCollection",e[e.EllipsoidSegmentCollection=4]="EllipsoidSegmentCollection",e[e.GeneralCylinderCollection=5]="GeneralCylinderCollection",e[e.GeneralRingCollection=6]="GeneralRingCollection",e[e.QuadCollection=7]="QuadCollection",e[e.TorusSegmentCollection=8]="TorusSegmentCollection",e[e.TrapeziumCollection=9]="TrapeziumCollection",e[e.NutCollection=10]="NutCollection",e[e.TriangleMesh=11]="TriangleMesh",e[e.InstanceMesh=12]="InstanceMesh"}(i||(i={}));class b{constructor(){this._textDecoder=new TextDecoder}parseGlbMetadata(e){this.verifyGlbHeaders(e);const{length:t,json:r}=this.parseJson(e),{length:i,byteOffsetToBinContent:n}=this.parseBinHeaders(e,b.CHUNK_HEADER_BYTE_SIZE+t);return{json:r,byteOffsetToBinContent:n,binContentLength:i}}verifyGlbHeaders(e){const t=new DataView(e,0,b.GLB_HEADER_BYTE_SIZE),r=this._textDecoder.decode(new Uint8Array(e,0,4)),i=t.getUint32(4,!0);a()("glTF"===r,"Unknown file format"),a()(2===i,`Unsupported glTF version{${i}}`)}parseJson(e){const t=new DataView(e,b.GLB_HEADER_BYTE_SIZE,b.CHUNK_HEADER_BYTE_SIZE).getUint32(0,!0),r=this._textDecoder.decode(new Uint8Array(e,b.GLB_HEADER_BYTE_SIZE+4,4));a()("JSON"===r);const i=new Uint8Array(e,b.GLB_HEADER_BYTE_SIZE+b.CHUNK_HEADER_BYTE_SIZE,t),n=JSON.parse(this._textDecoder.decode(i));return a()(void 0!==n,"Failed to assign types to gltf json"),{type:r,length:t,json:n}}parseBinHeaders(e,t){const r=new DataView(e,b.GLB_HEADER_BYTE_SIZE+t,b.CHUNK_HEADER_BYTE_SIZE).getUint32(0,!0),i=this._textDecoder.decode(new Uint8Array(e,b.GLB_HEADER_BYTE_SIZE+t+4,4));return a()(i.includes("BIN")),{type:i,byteOffsetToBinContent:b.GLB_HEADER_BYTE_SIZE+t+b.CHUNK_HEADER_BYTE_SIZE,length:r}}}b.GLB_HEADER_BYTE_SIZE=12,b.CHUNK_HEADER_BYTE_SIZE=8;const A=new Map([["SCALAR",1],["VEC2",2],["VEC3",3],["VEC4",4],["MAT2",4],["MAT3",9],["MAT4",16]]),p=new Map([[5120,Int8Array],[5121,Uint8Array],[5122,Int16Array],[5123,Uint16Array],[5125,Uint32Array],[5126,Float32Array]]);var d=r(29),_=r.n(d);
@@ -167,51 +180,51 @@ function(e,t,r=((e,t)=>[e,t,0])){const i=[],o=[],a=1/e,f=1/t;for(let n=0;n<=t;n+
167
180
  class h{constructor(){this._dracoDecoderModule=_()().then(e=>({module:e,decoder:new e.Decoder})),this._dracoDataTypes=this._dracoDecoderModule.then(e=>{const{module:t}=e;return new Map([[5120,t.DT_INT8],[5121,t.DT_UINT8],[5122,t.DT_INT16],[5123,t.DT_UINT16],[5125,t.DT_UINT32],[5126,t.DT_FLOAT32]])})}async decodeDracoBufferToDracoMesh(e){const{module:t,decoder:r}=await this._dracoDecoderModule,i=new t.DecoderBuffer;i.Init(e,e.length);const n=r.GetEncodedGeometryType(i);a()(n===t.TRIANGULAR_MESH);const o=new t.Mesh,f=r.DecodeBufferToMesh(i,o);if(!f.ok()||0===o.ptr)throw new Error("Failed to decode draco mesh. Error: "+f.error_msg());return o}async decodeDracoMeshToGeometryBuffers(e,t,r,i){const{module:n,decoder:o}=await this._dracoDecoderModule,a=this.decodeIndex(o,t,n),f=this.getAttributeDescriptors(e,o,i,r,t),{decodedVertexBufferView:s,vertexBufferDescriptor:c}=await this.decodeVertexBuffer(n,o,t,f);return{vertexBufferDescriptor:c,vertexBufferView:s,indexBufferView:a}}async decodeVertexBuffer(e,t,r,i){const n=i.map(e=>e.componentSize*e.numberOfComponents).reduce((e,t)=>e+t)*r.num_points(),o=e._malloc(n),a=await this._dracoDataTypes,f=r.num_points(),s=this.computeVertexBufferDescriptor(i,a,f,t,r,o),c=new Uint8Array(e.HEAP8.buffer,o,n),u=new Uint8Array(new ArrayBuffer(n));return this.copyLinearToInterleaved({buffer:c,attributeByteLengths:Object.values(s).map(e=>e.byteStride),numPoints:r.num_points()},u),e._free(o),{decodedVertexBufferView:u,vertexBufferDescriptor:s}}computeVertexBufferDescriptor(e,t,r,i,n,o){let a=0,f=0;return e.reduce((e,s)=>{const{componentSize:c,numberOfComponents:u,dracoAttribute:l,gltfAccessor:b}=s,A=t.get(b.componentType),p=c*u*r;i.GetAttributeDataArrayForAllPoints(n,l,A,p,o+a),b.byteOffset=f;const d=c*u;return a+=p,e[s.attributeName]={byteStride:d,byteOffset:f},f+=c*u,e},{})}getAttributeDescriptors(e,t,r,i,n){return Object.keys(r).map(o=>{const a=e.accessors[r[o]];return{attributeName:o,numberOfComponents:A.get(a.type),componentSize:p.get(a.componentType).BYTES_PER_ELEMENT,gltfAccessor:a,dracoAttribute:t.GetAttributeByUniqueId(n,i[o])}})}decodeIndex(e,t,r){const i=3*t.num_faces();let n,o;if(t.num_points()<=65536){const a=i*Uint16Array.BYTES_PER_ELEMENT;n=r._malloc(a),e.GetTrianglesUInt16Array(t,a,n),o=new Uint16Array(r.HEAPU16.buffer,n,i).slice()}else{const a=i*Uint32Array.BYTES_PER_ELEMENT;n=r._malloc(a),e.GetTrianglesUInt32Array(t,a,n),o=new Uint32Array(r.HEAPU32.buffer,n,i).slice()}return r._free(n),o}copyLinearToInterleaved(e,t){a()(e.buffer.byteLength<=t.byteLength);const r=e.attributeByteLengths.reduce((e,t)=>e+t,0);let i=0;e.attributeByteLengths.forEach(n=>{for(let o=0;o<e.numPoints;o++){const a=i*e.numPoints+o*n,f=o*r+i;t.set(e.buffer.subarray(a,a+n),f)}i+=n})}}
168
181
  /*!
169
182
  * Copyright 2021 Cognite AS
170
- */class k{constructor(){this._glbMetadataParser=new b,this._dracoDecoderHelper=new h}async parseSector(e){const t=this._glbMetadataParser.parseGlbMetadata(e),r=t.json;return this.traverseDefaultSceneNodes(r,t,e)}async traverseDefaultSceneNodes(e,t,r){const i=[],n=e.scenes[e.scene].nodes;return await Promise.all(n.map(t=>e.nodes[t]).map(async e=>{const n=await this.processNode(e,t,r);void 0!==n&&i.push(n)})),i}async processNode(e,t,r){var o;const f=null===(o=e.extensions)||void 0===o?void 0:o.EXT_mesh_gpu_instancing,s=e.mesh;if(void 0===f&&void 0===s)return;const c=f?new n.InstancedBufferGeometry:new n.BufferGeometry,u=i[e.name],l={bufferGeometry:c,geometryType:u,glbHeaderData:t,instancingExtension:f,meshId:s,data:r};switch(u){case i.InstanceMesh:return a()(void 0!==l.instancingExtension),this.processInstancedTriangleMesh(l);case i.TriangleMesh:a()(void 0===l.instancingExtension),await this.processTriangleMesh(l);break;default:a()(void 0!==l.instancingExtension),this.processPrimitiveCollection(l)}return{type:u,geometryBuffer:c}}async processInstancedTriangleMesh(e){var t,r;const{bufferGeometry:o,glbHeaderData:f,meshId:s,data:c}=e,u=f.json;a()(void 0!==s);const l=u.meshes[s];a()(1===l.primitives.length),a()(void 0!==(null===(t=l.extras)||void 0===t?void 0:t.InstanceId));const b=l.primitives[0],{vertexBuffer:A,byteOffset:p,byteLength:d}=await this.getVertexBuffer(u,f,c,b,o);this.setPositionBuffer(A,p,d,o);const _=this.getSharedBufferView(e.glbHeaderData.json,e.instancingExtension.attributes),h=e.glbHeaderData.byteOffsetToBinContent+(null!==(r=_.byteOffset)&&void 0!==r?r:0),{byteLength:k,byteStride:m}=_;return this.setInterleavedBufferAttributes(e.glbHeaderData.json,e.instancingExtension.attributes,e.data,h,k,m,e=>"a"+e,e.bufferGeometry,n.InstancedInterleavedBuffer),{type:i.InstanceMesh,geometryBuffer:e.bufferGeometry,instanceId:l.extras.InstanceId.toString()}}processPrimitiveCollection(e){var t;a()(null!==e.instancingExtension,"Primitive does not contain the instanced gltf extension"),l(e.geometryType,e.bufferGeometry);const r=this.getSharedBufferView(e.glbHeaderData.json,e.instancingExtension.attributes),i=e.glbHeaderData.byteOffsetToBinContent+(null!==(t=r.byteOffset)&&void 0!==t?t:0),{byteLength:o,byteStride:f}=r;this.setInterleavedBufferAttributes(e.glbHeaderData.json,e.instancingExtension.attributes,e.data,i,o,f,e=>"a"+e,e.bufferGeometry,n.InstancedInterleavedBuffer)}async processTriangleMesh(e){const{bufferGeometry:t,glbHeaderData:r,meshId:i,data:o}=e,f=r.json;a()(void 0!==i);const s=f.meshes[i];a()(1===s.primitives.length);const c=s.primitives[0],{vertexBuffer:u,byteOffset:l,byteLength:b,byteStride:A}=await this.getVertexBuffer(f,r,o,c,t);this.setInterleavedBufferAttributes(f,c.attributes,u,l,b,A,(function(e){switch(e){case"COLOR_0":return"color";case"POSITION":return"position";case"_treeIndex":return"treeIndex";default:throw new Error}}),t,n.InterleavedBuffer)}async getVertexBuffer(e,t,r,i,o){var a,f;let s,c,u,l;const b=t.byteOffsetToBinContent,A=null===(a=i.extensions)||void 0===a?void 0:a.KHR_draco_mesh_compression;if(void 0!==A){const t=e.bufferViews[A.bufferView],a=b+t.byteOffset,f=t.byteLength,p=new Int8Array(r,a,f),d=await this._dracoDecoderHelper.decodeDracoBufferToDracoMesh(p),{indexBufferView:_,vertexBufferView:h,vertexBufferDescriptor:k}=await this._dracoDecoderHelper.decodeDracoMeshToGeometryBuffers(e,d,A.attributes,i.attributes);o.setIndex(new n.BufferAttribute(_,1)),s=h.buffer,c=h.byteOffset,u=h.byteLength,l=Object.values(k).reduce((e,t)=>e+t.byteStride,0)}else{this.setIndexBuffer(t,i,r,o);const n=this.getSharedBufferView(e,i.attributes);s=r,c=b+(null!==(f=n.byteOffset)&&void 0!==f?f:0),u=n.byteLength,l=n.byteStride}return{vertexBuffer:s,byteOffset:c,byteLength:u,byteStride:l}}setIndexBuffer(e,t,r,i){var o;const a=e.json,f=e.byteOffsetToBinContent,s=a.accessors[t.indices],c=a.bufferViews[s.bufferView];c.byteOffset=null!==(o=c.byteOffset)&&void 0!==o?o:0;const u=p.get(s.componentType),l=new u(r,f+c.byteOffset,c.byteLength/u.BYTES_PER_ELEMENT),b=A.get(s.type);i.setIndex(new n.BufferAttribute(l,b))}setPositionBuffer(e,t,r,i){const o=Float32Array.BYTES_PER_ELEMENT,a=new Float32Array(e,t,r/o);i.setAttribute("position",new n.BufferAttribute(a,3))}getSharedBufferView(e,t){const r=Object.values(t).map(t=>e.accessors[t].bufferView);a()(r.length>0);const i=r[0];for(let e=1;e<r.length;e++)a()(r[e]===i,"Unexpected number of unique buffer views");return e.bufferViews[i]}setInterleavedBufferAttributes(e,t,r,i,n,o,a,f,s){const c=Object.values(t).map(t=>e.accessors[t].componentType),u=this.getUniqueComponentViews(c,r,i,n,o,s);this.setAttributes(t,e,u,a,f)}setAttributes(e,t,r,i,o){Object.keys(e).forEach(f=>{var s;const c=t.accessors[e[f]],u=null!==(s=c.byteOffset)&&void 0!==s?s:0,l=r[c.componentType],b=A.get(c.type);a()(void 0!==b);const d=p.get(c.componentType);a()(void 0!==d);const _=d.BYTES_PER_ELEMENT;a()(void 0!==_);const h=new n.InterleavedBufferAttribute(l,b,u/_),k=i(f);o.setAttribute(k,h)})}getUniqueComponentViews(e,t,r,i,n,o){const a=[...new Set(e)].map(e=>{const a=p.get(e),f=new a(t,r,i/a.BYTES_PER_ELEMENT);return{componentType:e,interleavedBuffer:new o(f,n/a.BYTES_PER_ELEMENT)}});return Object.assign({},...a.map(e=>({[e.componentType]:e.interleavedBuffer})))}}
183
+ */class k{constructor(){this._glbMetadataParser=new b,this._dracoDecoderHelper=new h}async parseSector(e){const t=this._glbMetadataParser.parseGlbMetadata(e),r=t.json;return this.traverseDefaultSceneNodes(r,t,e)}async traverseDefaultSceneNodes(e,t,r){const i=[],n=e.scenes[e.scene].nodes;return await Promise.all(n.map(t=>e.nodes[t]).map(async e=>{const n=await this.processNode(e,t,r);void 0!==n&&i.push(n)})),i}async processNode(e,t,r){var o;const f=null===(o=e.extensions)||void 0===o?void 0:o.EXT_mesh_gpu_instancing,s=e.mesh;if(void 0===f&&void 0===s)return;const c=f?new n.InstancedBufferGeometry:new n.BufferGeometry,u=i[e.name],l={bufferGeometry:c,geometryType:u,glbHeaderData:t,instancingExtension:f,meshId:s,data:r};switch(u){case i.InstanceMesh:return a()(void 0!==l.instancingExtension),this.processInstancedTriangleMesh(l);case i.TriangleMesh:a()(void 0===l.instancingExtension),await this.processTriangleMesh(l);break;default:a()(void 0!==l.instancingExtension),this.processPrimitiveCollection(l)}return{type:u,geometryBuffer:c}}async processInstancedTriangleMesh(e){var t,r;const{bufferGeometry:o,glbHeaderData:f,meshId:s,data:c}=e,u=f.json;a()(void 0!==s);const l=u.meshes[s];a()(1===l.primitives.length),a()(void 0!==(null===(t=l.extras)||void 0===t?void 0:t.InstanceId));const b=l.primitives[0],{vertexBuffer:A,byteOffset:p,byteLength:d}=await this.getVertexBuffer(u,f,c,b,o);this.setPositionBuffer(A,p,d,o);const _=this.getSharedBufferView(e.glbHeaderData.json,e.instancingExtension.attributes),h=e.glbHeaderData.byteOffsetToBinContent+(null!==(r=_.byteOffset)&&void 0!==r?r:0),{byteLength:k,byteStride:m}=_;return this.setInterleavedBufferAttributes(e.glbHeaderData.json,e.instancingExtension.attributes,e.data,h,k,m,e=>"a"+e,e.bufferGeometry,n.InstancedInterleavedBuffer),{type:i.InstanceMesh,geometryBuffer:e.bufferGeometry,instanceId:l.extras.InstanceId.toString()}}processPrimitiveCollection(e){var t;a()(null!==e.instancingExtension,"Primitive does not contain the instanced gltf extension"),l(e.geometryType,e.bufferGeometry);const r=this.getSharedBufferView(e.glbHeaderData.json,e.instancingExtension.attributes),i=e.glbHeaderData.byteOffsetToBinContent+(null!==(t=r.byteOffset)&&void 0!==t?t:0),{byteLength:o,byteStride:f}=r;this.setInterleavedBufferAttributes(e.glbHeaderData.json,e.instancingExtension.attributes,e.data,i,o,f,e=>"a"+e,e.bufferGeometry,n.InstancedInterleavedBuffer)}async processTriangleMesh(e){const{bufferGeometry:t,glbHeaderData:r,meshId:i,data:o}=e,f=r.json;a()(void 0!==i);const s=f.meshes[i];a()(1===s.primitives.length);const c=s.primitives[0],{vertexBuffer:u,byteOffset:l,byteLength:b,byteStride:A}=await this.getVertexBuffer(f,r,o,c,t);this.setInterleavedBufferAttributes(f,c.attributes,u,l,b,A,(function(e){switch(e){case"COLOR_0":return"color";case"POSITION":return"position";case"_treeIndex":return"treeIndex";default:throw new Error}}),t,n.InterleavedBuffer)}async getVertexBuffer(e,t,r,i,o){var a,f,s;let c,u,l,b;const A=t.byteOffsetToBinContent,p=null===(a=i.extensions)||void 0===a?void 0:a.KHR_draco_mesh_compression;if(void 0!==p){const t=e.bufferViews[p.bufferView],a=A+(null!==(f=t.byteOffset)&&void 0!==f?f:0),s=t.byteLength,d=new Int8Array(r,a,s),_=await this._dracoDecoderHelper.decodeDracoBufferToDracoMesh(d),{indexBufferView:h,vertexBufferView:k,vertexBufferDescriptor:m}=await this._dracoDecoderHelper.decodeDracoMeshToGeometryBuffers(e,_,p.attributes,i.attributes);o.setIndex(new n.BufferAttribute(h,1)),c=k.buffer,u=k.byteOffset,l=k.byteLength,b=Object.values(m).reduce((e,t)=>e+t.byteStride,0)}else{this.setIndexBuffer(t,i,r,o);const n=this.getSharedBufferView(e,i.attributes);c=r,u=A+(null!==(s=n.byteOffset)&&void 0!==s?s:0),l=n.byteLength,b=n.byteStride}return{vertexBuffer:c,byteOffset:u,byteLength:l,byteStride:b}}setIndexBuffer(e,t,r,i){var o;const a=e.json,f=e.byteOffsetToBinContent,s=a.accessors[t.indices],c=a.bufferViews[s.bufferView];c.byteOffset=null!==(o=c.byteOffset)&&void 0!==o?o:0;const u=p.get(s.componentType),l=new u(r,f+c.byteOffset,c.byteLength/u.BYTES_PER_ELEMENT),b=A.get(s.type);i.setIndex(new n.BufferAttribute(l,b))}setPositionBuffer(e,t,r,i){const o=Float32Array.BYTES_PER_ELEMENT,a=new Float32Array(e,t,r/o);i.setAttribute("position",new n.BufferAttribute(a,3))}getSharedBufferView(e,t){const r=Object.values(t).map(t=>e.accessors[t].bufferView);a()(r.length>0);const i=r[0];for(let e=1;e<r.length;e++)a()(r[e]===i,"Unexpected number of unique buffer views");return e.bufferViews[i]}setInterleavedBufferAttributes(e,t,r,i,n,o,a,f,s){const c=Object.values(t).map(t=>e.accessors[t].componentType),u=this.getUniqueComponentViews(c,r,i,n,o,s);this.setAttributes(t,e,u,a,f)}setAttributes(e,t,r,i,o){Object.keys(e).forEach(f=>{var s;const c=t.accessors[e[f]],u=null!==(s=c.byteOffset)&&void 0!==s?s:0,l=r[c.componentType],b=A.get(c.type);a()(void 0!==b);const d=p.get(c.componentType);a()(void 0!==d);const _=d.BYTES_PER_ELEMENT;a()(void 0!==_);const h=new n.InterleavedBufferAttribute(l,b,u/_),k=i(f);o.setAttribute(k,h)})}getUniqueComponentViews(e,t,r,i,n,o){const a=[...new Set(e)].map(e=>{const a=p.get(e),f=new a(t,r,i/a.BYTES_PER_ELEMENT);return{componentType:e,interleavedBuffer:new o(f,n/a.BYTES_PER_ELEMENT)}});return Object.assign({},...a.map(e=>({[e.componentType]:e.interleavedBuffer})))}}
171
184
  /*!
172
185
  * Copyright 2021 Cognite AS
173
- */},function(e,t,r){"use strict";r.d(t,"a",(function(){return i})),r.d(t,"b",(function(){return n})),r.d(t,"c",(function(){return c})),r.d(t,"e",(function(){return b})),r.d(t,"f",(function(){return A})),r.d(t,"g",(function(){return p})),r.d(t,"d",(function(){return o}));class i{constructor(e){this.client=e,this.authenticationPromise=e.authenticate()}get headers(){return this.client.getDefaultRequestHeaders()}async getBinaryFile(e,t){const r=`${e}/${t}`,i={...this.client.getDefaultRequestHeaders(),Accept:"*/*"};return(await this.fetchWithRetry(r,{headers:i,method:"GET"}).catch(e=>{throw Error("Could not download binary file")})).arrayBuffer()}async getJsonFile(e,t){return(await this.client.get(`${e}/${t}`).catch(e=>{throw Error("Could not download Json file")})).data}async fetchWithRetry(e,t,r=3){let i;for(let n=0;n<r;n++)try{await this.authenticationPromise;const r=await fetch(e,t);if(401===r.status){this.authenticationPromise=this.client.authenticate();continue}return r}catch(e){void 0!==i&&(i=e)}throw i}}class n{constructor(e,t){this.revealInternalId=Symbol(`${e}/${t}`),this.modelId=e,this.revisionId=t}toString(){return`${n.name} (${String(this.revealInternalId)})`}}var o,a=r(0);
186
+ */},function(e,t,r){"use strict";r.d(t,"a",(function(){return i})),r.d(t,"b",(function(){return n})),r.d(t,"c",(function(){return c})),r.d(t,"e",(function(){return b})),r.d(t,"f",(function(){return A})),r.d(t,"g",(function(){return p})),r.d(t,"d",(function(){return o}));class i{constructor(e){this.client=e,this.authenticationPromise=e.authenticate()}async getBinaryFile(e,t){const r=`${e}/${t}`,i={...this.client.getDefaultRequestHeaders(),Accept:"*/*"};return(await this.fetchWithRetry(r,{headers:i,method:"GET"}).catch(e=>{throw Error("Could not download binary file")})).arrayBuffer()}async getJsonFile(e,t){return(await this.client.get(`${e}/${t}`).catch(e=>{throw Error("Could not download Json file")})).data}async fetchWithRetry(e,t,r=3){let i;for(let n=0;n<r;n++)try{await this.authenticationPromise;const r=await fetch(e,t);if(401===r.status){this.authenticationPromise=this.client.authenticate();continue}return r}catch(e){void 0!==i&&(i=e)}throw i}}class n{constructor(e,t){this.revealInternalId=Symbol(`${e}/${t}`),this.modelId=e,this.revisionId=t}toString(){return`${n.name} (${String(this.revealInternalId)})`}}var o,a=r(0);
174
187
  /*!
175
188
  * Copyright 2021 Cognite AS
176
189
  */!function(e){e.EptPointCloud="ept-pointcloud",e.RevealCadModel="reveal-directory",e.GltfCadModel="gltf-directory",e.AnyFormat="all-outputs"}(o||(o={}));
177
190
  /*!
178
191
  * Copyright 2021 Cognite AS
179
192
  */
180
- const f=(new a.Matrix4).set(1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1);function s(e,t){switch(t){case o.RevealCadModel:case o.GltfCadModel:e.premultiply(f);break;case o.EptPointCloud:break;default:throw new Error("Unknown model format '"+t)}}
193
+ const f=(new a.Matrix4).set(1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1);function s(e,t){switch(t){case o.RevealCadModel:case o.GltfCadModel:case o.EptPointCloud:e.premultiply(f);break;default:throw new Error("Unknown model format '"+t)}}
181
194
  /*!
182
195
  * Copyright 2021 Cognite AS
183
- */class c{constructor(e){this._client=e}async getModelMatrix(e,t){if(!(e instanceof n))throw new Error(`Model must be a ${n.name}, but got ${e.toString()}`);const{modelId:r,revisionId:i}=e,o=await this._client.revisions3D.retrieve(r,i),f=new a.Matrix4;return o.rotation&&f.makeRotationFromEuler(new a.Euler(...o.rotation)),s(f,t),f}async getModelCamera(e){if(!(e instanceof n))throw new Error(`Model must be a ${n.name}, but got ${e.toString()}`);const{modelId:t,revisionId:r}=e,i=await this._client.revisions3D.retrieve(t,r);if(i.camera&&i.camera.position&&i.camera.target){const{position:e,target:t}=i.camera;return{position:new a.Vector3(e[0],e[1],e[2]),target:new a.Vector3(t[0],t[1],t[2])}}}async getModelUri(e,t){if(!(e instanceof n))throw new Error(`Model must be a ${n.name}, but got ${e.toString()}`);return`${this._client.getBaseUrl()}${this.getRequestPath(t.blobId)}`}async getModelOutputs(e){if(!(e instanceof n))throw new Error(`Model must be a ${n.name}, but got ${e.toString()}`);const{modelId:t,revisionId:r}=e,i=`/api/v1/projects/${this._client.project}/3d/models/${t}/revisions/${r}/outputs`,a=await this._client.get(i,{params:{format:o.AnyFormat}});if(200===a.status)return a.data.items.filter(e=>Object.values(o).includes(e.format));throw new Error(`Unexpected response ${a.status} (payload: '${a.data})`)}getRequestPath(e){return`/api/v1/projects/${this._client.project}/3d/files/${e}`}}var u=r(19);
196
+ */class c{constructor(e){this._client=e}async getModelMatrix(e,t){if(!(e instanceof n))throw new Error(`Model must be a ${n.name}, but got ${e.toString()}`);const{modelId:r,revisionId:i}=e,o=await this._client.revisions3D.retrieve(r,i),f=new a.Matrix4;return o.rotation&&f.makeRotationFromEuler(new a.Euler(...o.rotation)),s(f,t),f}async getModelCamera(e){if(!(e instanceof n))throw new Error(`Model must be a ${n.name}, but got ${e.toString()}`);const{modelId:t,revisionId:r}=e,i=await this._client.revisions3D.retrieve(t,r);if(i.camera&&i.camera.position&&i.camera.target){const{position:e,target:t}=i.camera;return{position:new a.Vector3(e[0],e[1],e[2]),target:new a.Vector3(t[0],t[1],t[2])}}}async getModelUri(e,t){if(!(e instanceof n))throw new Error(`Model must be a ${n.name}, but got ${e.toString()}`);return`${this._client.getBaseUrl()}${this.getRequestPath(t.blobId)}`}async getModelOutputs(e){if(!(e instanceof n))throw new Error(`Model must be a ${n.name}, but got ${e.toString()}`);const{modelId:t,revisionId:r}=e,i=`/api/v1/projects/${this._client.project}/3d/models/${t}/revisions/${r}/outputs`,a=await this._client.get(i,{params:{format:o.AnyFormat}});if(200===a.status)return a.data.items.filter(e=>Object.values(o).includes(e.format));throw new Error(`Unexpected response ${a.status} (payload: '${a.data})`)}getRequestPath(e){return`/api/v1/projects/${this._client.project}/3d/files/${e}`}}var u=r(18);
184
197
  /*!
185
198
  * Copyright 2021 Cognite AS
186
199
  */async function l(e){const t=await fetch(e);if(!t.ok){const e={};throw t.headers.forEach((t,r)=>{e[t]=r}),new u.HttpError(t.status,t.body,e)}return t}
187
200
  /*!
188
201
  * Copyright 2021 Cognite AS
189
- */class b{get headers(){return{}}async getBinaryFile(e,t){return(await l(`${e}/${t}`)).arrayBuffer()}async getJsonFile(e,t){return(await l(`${e}/${t}`)).json()}}
202
+ */class b{async getBinaryFile(e,t){return(await l(`${e}/${t}`)).arrayBuffer()}async getJsonFile(e,t){return(await l(`${e}/${t}`)).json()}}
190
203
  /*!
191
204
  * Copyright 2021 Cognite AS
192
205
  */class A{constructor(e){this.revealInternalId=Symbol(e),this.localPath=e}toString(){return`${A.name} (${this.localPath})`}}
193
206
  /*!
194
207
  * Copyright 2021 Cognite AS
195
- */class p{getModelUri(e){if(!(e instanceof A))throw new Error(`Model must be a ${A.name}, but got ${e.toString()}`);return Promise.resolve(`${location.origin}/${e.localPath}`)}async getModelMatrix(e){if(!(e instanceof A))throw new Error(`Model must be a ${A.name}, but got ${e.toString()}`);const t=new a.Matrix4;return s(t,o.RevealCadModel),t}getModelCamera(e){if(!(e instanceof A))throw new Error(`Model must be a ${A.name}, but got ${e.toString()}`);return Promise.resolve(void 0)}async getModelOutputs(e){var t;const r=await this.getModelUri(e),i=null!==(t=await async function(e){let t;try{t=(await(await l(e+"/scene.json")).json()).version}catch(e){return}switch(t){case 8:return Promise.resolve({blobId:-1,format:o.RevealCadModel,version:8});case 9:return Promise.resolve({blobId:-1,format:o.GltfCadModel,version:9});default:return}}(r))&&void 0!==t?t:await async function(e){let t;try{t=await(await l(e+"/ept.json")).json()}catch(e){return}return t?Promise.resolve({blobId:-1,format:o.EptPointCloud,version:-1}):void 0}(r);if(i)return[i];throw new Error("Only point cloud or CAD models (version 8 and 9) are supported)")}}
208
+ */class p{getModelUri(e){if(!(e instanceof A))throw new Error(`Model must be a ${A.name}, but got ${e.toString()}`);return e.localPath.startsWith("http")?Promise.resolve(e.localPath):Promise.resolve(`${location.origin}/${e.localPath}`)}async getModelMatrix(e,t){if(!(e instanceof A))throw new Error(`Model must be a ${A.name}, but got ${e.toString()}`);const r=new a.Matrix4;return s(r,t),r}getModelCamera(e){if(!(e instanceof A))throw new Error(`Model must be a ${A.name}, but got ${e.toString()}`);return Promise.resolve(void 0)}async getModelOutputs(e){var t;const r=await this.getModelUri(e),i=null!==(t=await async function(e){let t;try{t=(await(await l(e+"/scene.json")).json()).version}catch(e){return}switch(t){case 8:return Promise.resolve({blobId:-1,format:o.RevealCadModel,version:8});case 9:return Promise.resolve({blobId:-1,format:o.GltfCadModel,version:9});default:return}}(r))&&void 0!==t?t:await async function(e){let t;try{t=await(await l(e+"/ept.json")).json()}catch(e){return}return t?Promise.resolve({blobId:-1,format:o.EptPointCloud,version:-1}):void 0}(r);if(i)return[i];throw new Error("Only point cloud or CAD models (version 8 and 9) are supported)")}}
196
209
  /*!
197
210
  * Copyright 2021 Cognite AS
198
- */},,,function(e,t,r){"use strict";r.d(t,"a",(function(){return s}));var i=r(13),n=r.n(i),o=r(11);const{VERSION:a,MIXPANEL_TOKEN:f}={VERSION:"3.0.2",WORKER_VERSION:"1.3.0",MIXPANEL_TOKEN:"8c900bdfe458e32b768450c20750853d",IS_DEVELOPMENT_MODE:!1};class s{constructor(e,t,r){n.a.init(f,{disable_cookie:!0,disable_persistence:!0,ip:!1,property_blacklist:["$city","$region","mp_country_code","$geo_source","$timezone","mp_lib","$lib_version","$device_id","$user_id","$current_url","$screen_width","$screen_height","$referrer","$referring_domain","$initial_referrer","$initial_referring_domain"]}),n.a.reset(),n.a.identify("reveal-single-user"),this._sessionProps={VERSION:a,project:"unknown",application:"unknown",sessionId:"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){const t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},e&&(this._sessionProps.project=e),t&&(this._sessionProps.application=t),this.innerTrackEvent("init",r)}static init(e,t,r,i){if(void 0===globalThis.revealMetricsLogger&&e){const e=new s(t,r,i);globalThis.revealMetricsLogger={metricsLogger:e}}}innerTrackEvent(e,t){const r={...this._sessionProps,...t};n.a.track(e,r)}static trackEvent(e,t){globalThis.revealMetricsLogger&&globalThis.revealMetricsLogger.metricsLogger.innerTrackEvent(e,t)}static trackCreateTool(e){s.trackEvent("toolCreated",{toolName:e})}static trackLoadModel(e,t,r){s.trackEvent("loadModel",{...e,modelIdentifier:t,modelVersion:r})}static trackCadModelStyled(e,t){s.trackEvent("cadModelStyleAssigned",{nodeCollectionClassToken:e,style:t})}static trackError(e,t){o.a.error(e),void 0!==e?this.trackEvent("error",{message:e.message||e,name:e.name,stack:e.stack,...t}):this.trackEvent("error",{name:"unknown",...t})}static trackCameraNavigation(e){s.trackEvent("cameraNavigated",e)}}
211
+ */},,function(e,t){e.exports=require("glslify")},function(e,t,r){"use strict";r.d(t,"a",(function(){return s}));var i=r(13),n=r.n(i),o=r(10);const{VERSION:a,MIXPANEL_TOKEN:f}={VERSION:"3.1.0",WORKER_VERSION:"1.3.0",MIXPANEL_TOKEN:"8c900bdfe458e32b768450c20750853d",IS_DEVELOPMENT_MODE:!1};class s{constructor(e,t,r){n.a.init(f,{disable_cookie:!0,disable_persistence:!0,ip:!1,property_blacklist:["$city","$region","mp_country_code","$geo_source","$timezone","mp_lib","$lib_version","$device_id","$user_id","$current_url","$screen_width","$screen_height","$referrer","$referring_domain","$initial_referrer","$initial_referring_domain"]}),n.a.reset(),n.a.identify("reveal-single-user"),this._sessionProps={VERSION:a,project:"unknown",application:"unknown",sessionId:"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){const t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},e&&(this._sessionProps.project=e),t&&(this._sessionProps.application=t),this.innerTrackEvent("init",r)}static init(e,t,r,i){if(void 0===globalThis.revealMetricsLogger&&e){const e=new s(t,r,i);globalThis.revealMetricsLogger={metricsLogger:e}}}innerTrackEvent(e,t){const r={...this._sessionProps,...t};n.a.track(e,r)}static trackEvent(e,t){globalThis.revealMetricsLogger&&globalThis.revealMetricsLogger.metricsLogger.innerTrackEvent(e,t)}static trackCreateTool(e){s.trackEvent("toolCreated",{toolName:e})}static trackLoadModel(e,t,r){s.trackEvent("loadModel",{...e,modelIdentifier:t,modelVersion:r})}static trackCadModelStyled(e,t){s.trackEvent("cadModelStyleAssigned",{nodeCollectionClassToken:e,style:t})}static trackError(e,t){o.a.error(e),void 0!==e?this.trackEvent("error",{message:e.message||e,name:e.name,stack:e.stack,...t}):this.trackEvent("error",{name:"unknown",...t})}static trackCameraNavigation(e){s.trackEvent("cameraNavigated",e)}}
199
212
  /*!
200
213
  * Copyright 2021 Cognite AS
201
- */},,function(e,t,r){"use strict";var i=r(26);
214
+ */},function(e,t,r){"use strict";var i=r(26);
202
215
  /*!
203
216
  * Copyright 2021 Cognite AS
204
- */t.a=i},function(e,t){e.exports=require("@tweenjs/tween.js")},function(e,t){e.exports=require("mixpanel-browser")},function(e,t){e.exports=require("lodash/debounce")},function(e,t){e.exports=require("lodash/range")},function(e,t){e.exports=require("lodash/cloneDeep")},function(e,t){e.exports=require("lodash/chunk")},function(e,t){e.exports=require("geo-three")},function(e,t){e.exports=require("@cognite/sdk-core")},function(e,t,r){(function(e){function r(e,t){for(var r=0,i=e.length-1;i>=0;i--){var n=e[i];"."===n?e.splice(i,1):".."===n?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function i(e,t){if(e.filter)return e.filter(t);for(var r=[],i=0;i<e.length;i++)t(e[i],i,e)&&r.push(e[i]);return r}t.resolve=function(){for(var t="",n=!1,o=arguments.length-1;o>=-1&&!n;o--){var a=o>=0?arguments[o]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(t=a+"/"+t,n="/"===a.charAt(0))}return(n?"/":"")+(t=r(i(t.split("/"),(function(e){return!!e})),!n).join("/"))||"."},t.normalize=function(e){var o=t.isAbsolute(e),a="/"===n(e,-1);return(e=r(i(e.split("/"),(function(e){return!!e})),!o).join("/"))||o||(e="."),e&&a&&(e+="/"),(o?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(i(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,r){function i(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=t.resolve(e).substr(1),r=t.resolve(r).substr(1);for(var n=i(e.split("/")),o=i(r.split("/")),a=Math.min(n.length,o.length),f=a,s=0;s<a;s++)if(n[s]!==o[s]){f=s;break}var c=[];for(s=f;s<n.length;s++)c.push("..");return(c=c.concat(o.slice(f))).join("/")},t.sep="/",t.delimiter=":",t.dirname=function(e){if("string"!=typeof e&&(e+=""),0===e.length)return".";for(var t=e.charCodeAt(0),r=47===t,i=-1,n=!0,o=e.length-1;o>=1;--o)if(47===(t=e.charCodeAt(o))){if(!n){i=o;break}}else n=!1;return-1===i?r?"/":".":r&&1===i?"/":e.slice(0,i)},t.basename=function(e,t){var r=function(e){"string"!=typeof e&&(e+="");var t,r=0,i=-1,n=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!n){r=t+1;break}}else-1===i&&(n=!1,i=t+1);return-1===i?"":e.slice(r,i)}(e);return t&&r.substr(-1*t.length)===t&&(r=r.substr(0,r.length-t.length)),r},t.extname=function(e){"string"!=typeof e&&(e+="");for(var t=-1,r=0,i=-1,n=!0,o=0,a=e.length-1;a>=0;--a){var f=e.charCodeAt(a);if(47!==f)-1===i&&(n=!1,i=a+1),46===f?-1===t?t=a:1!==o&&(o=1):-1!==t&&(o=-1);else if(!n){r=a+1;break}}return-1===t||-1===i||0===o||1===o&&t===i-1&&t===r+1?"":e.slice(t,i)};var n="b"==="ab".substr(-1)?function(e,t,r){return e.substr(t,r)}:function(e,t,r){return t<0&&(t=e.length+t),e.substr(t,r)}}).call(this,r(22))},,function(e,t){var r,i,n=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function f(e){if(r===setTimeout)return setTimeout(e,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:o}catch(e){r=o}try{i="function"==typeof clearTimeout?clearTimeout:a}catch(e){i=a}}();var s,c=[],u=!1,l=-1;function b(){u&&s&&(u=!1,s.length?c=s.concat(c):l=-1,c.length&&A())}function A(){if(!u){var e=f(b);u=!0;for(var t=c.length;t;){for(s=c,c=[];++l<t;)s&&s[l].run();l=-1,t=c.length}s=null,u=!1,function(e){if(i===clearTimeout)return clearTimeout(e);if((i===a||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(e);try{i(e)}catch(t){try{return i.call(null,e)}catch(t){return i.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function d(){}n.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new p(e,t)),1!==c.length||u||f(A)},p.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=d,n.addListener=d,n.once=d,n.off=d,n.removeListener=d,n.removeAllListeners=d,n.emit=d,n.prependListener=d,n.prependOnceListener=d,n.listeners=function(e){return[]},n.binding=function(e){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(e){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}},function(e,t){},function(e,t,r){"use strict";var i=r(1);r.d(t,"b",(function(){return i.m})),r.d(t,"a",(function(){return i.e})),r.d(t,"c",(function(){return i.B}));r(6);
217
+ */t.a=i},function(e,t){e.exports=require("@tweenjs/tween.js")},function(e,t){e.exports=require("lodash/cloneDeep")},function(e,t){e.exports=require("mixpanel-browser")},function(e,t){e.exports=require("lodash/debounce")},function(e,t){e.exports=require("lodash/range")},function(e,t){e.exports=require("lodash/chunk")},function(e,t){e.exports=require("geo-three")},function(e,t){e.exports=require("@cognite/sdk-core")},function(e,t,r){(function(e){function r(e,t){for(var r=0,i=e.length-1;i>=0;i--){var n=e[i];"."===n?e.splice(i,1):".."===n?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function i(e,t){if(e.filter)return e.filter(t);for(var r=[],i=0;i<e.length;i++)t(e[i],i,e)&&r.push(e[i]);return r}t.resolve=function(){for(var t="",n=!1,o=arguments.length-1;o>=-1&&!n;o--){var a=o>=0?arguments[o]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(t=a+"/"+t,n="/"===a.charAt(0))}return(n?"/":"")+(t=r(i(t.split("/"),(function(e){return!!e})),!n).join("/"))||"."},t.normalize=function(e){var o=t.isAbsolute(e),a="/"===n(e,-1);return(e=r(i(e.split("/"),(function(e){return!!e})),!o).join("/"))||o||(e="."),e&&a&&(e+="/"),(o?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(i(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,r){function i(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=t.resolve(e).substr(1),r=t.resolve(r).substr(1);for(var n=i(e.split("/")),o=i(r.split("/")),a=Math.min(n.length,o.length),f=a,s=0;s<a;s++)if(n[s]!==o[s]){f=s;break}var c=[];for(s=f;s<n.length;s++)c.push("..");return(c=c.concat(o.slice(f))).join("/")},t.sep="/",t.delimiter=":",t.dirname=function(e){if("string"!=typeof e&&(e+=""),0===e.length)return".";for(var t=e.charCodeAt(0),r=47===t,i=-1,n=!0,o=e.length-1;o>=1;--o)if(47===(t=e.charCodeAt(o))){if(!n){i=o;break}}else n=!1;return-1===i?r?"/":".":r&&1===i?"/":e.slice(0,i)},t.basename=function(e,t){var r=function(e){"string"!=typeof e&&(e+="");var t,r=0,i=-1,n=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!n){r=t+1;break}}else-1===i&&(n=!1,i=t+1);return-1===i?"":e.slice(r,i)}(e);return t&&r.substr(-1*t.length)===t&&(r=r.substr(0,r.length-t.length)),r},t.extname=function(e){"string"!=typeof e&&(e+="");for(var t=-1,r=0,i=-1,n=!0,o=0,a=e.length-1;a>=0;--a){var f=e.charCodeAt(a);if(47!==f)-1===i&&(n=!1,i=a+1),46===f?-1===t?t=a:1!==o&&(o=1):-1!==t&&(o=-1);else if(!n){r=a+1;break}}return-1===t||-1===i||0===o||1===o&&t===i-1&&t===r+1?"":e.slice(t,i)};var n="b"==="ab".substr(-1)?function(e,t,r){return e.substr(t,r)}:function(e,t,r){return t<0&&(t=e.length+t),e.substr(t,r)}}).call(this,r(22))},function(e,t){e.exports=require("lodash/remove")},,function(e,t){var r,i,n=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function f(e){if(r===setTimeout)return setTimeout(e,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:o}catch(e){r=o}try{i="function"==typeof clearTimeout?clearTimeout:a}catch(e){i=a}}();var s,c=[],u=!1,l=-1;function b(){u&&s&&(u=!1,s.length?c=s.concat(c):l=-1,c.length&&A())}function A(){if(!u){var e=f(b);u=!0;for(var t=c.length;t;){for(s=c,c=[];++l<t;)s&&s[l].run();l=-1,t=c.length}s=null,u=!1,function(e){if(i===clearTimeout)return clearTimeout(e);if((i===a||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(e);try{i(e)}catch(t){try{return i.call(null,e)}catch(t){return i.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function d(){}n.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new p(e,t)),1!==c.length||u||f(A)},p.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=d,n.addListener=d,n.once=d,n.off=d,n.removeListener=d,n.removeAllListeners=d,n.emit=d,n.prependListener=d,n.prependOnceListener=d,n.listeners=function(e){return[]},n.binding=function(e){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(e){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}},function(e,t){},function(e,t,r){"use strict";var i=r(1);r.d(t,"b",(function(){return i.n})),r.d(t,"a",(function(){return i.e})),r.d(t,"c",(function(){return i.E}));r(6);
205
218
  /*!
206
219
  * Copyright 2021 Cognite AS
207
- */},function(e,t){e.exports=require("comlink")},function(e,t){e.exports=require("loglevel")},function(e,t){e.exports=require("lodash/map")},function(e,t){e.exports=require("skmeans")},function(e,t,r){(function(t,i,n,o){var a,f=(a=(a="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||t,function(e){var t,f,s=void 0!==(e=e||{})?e:{};s.ready=new Promise((function(e,r){t=e,f=r}));var c=!1,u=!1;s.onRuntimeInitialized=function(){c=!0,u&&"function"==typeof s.onModuleLoaded&&s.onModuleLoaded(s)},s.onModuleParsed=function(){u=!0,c&&"function"==typeof s.onModuleLoaded&&s.onModuleLoaded(s)},s.isVersionSupported=function(e){if("string"!=typeof e)return!1;const t=e.split(".");return!(t.length<2||t.length>3)&&(1==t[0]&&t[1]>=0&&t[1]<=5||!(0!=t[0]||t[1]>10))};var l,b={};for(l in s)s.hasOwnProperty(l)&&(b[l]=s[l]);var A,p,d,_,h,k=[],m="object"==typeof window,y="function"==typeof importScripts,v="object"==typeof i&&"object"==typeof i.versions&&"string"==typeof i.versions.node,g="";v?(g=y?r(20).dirname(g)+"/":n+"/",A=function(e,t){var i=ne(e);return i?t?i:i.toString():(_||(_=r(23)),h||(h=r(20)),e=h.normalize(e),_.readFileSync(e,t?null:"utf8"))},d=function(e){var t=A(e,!0);return t.buffer||(t=new Uint8Array(t)),x(t.buffer),t},p=function(e,t,i){var n=ne(e);n&&t(n),_||(_=r(23)),h||(h=r(20)),e=h.normalize(e),_.readFile(e,(function(e,r){e?i(e):t(r.buffer)}))},i.argv.length>1&&i.argv[1].replace(/\\/g,"/"),k=i.argv.slice(2),s.inspect=function(){return"[Emscripten Module object]"}):(m||y)&&(y?g=self.location.href:"undefined"!=typeof document&&document.currentScript&&(g=document.currentScript.src),a&&(g=a),g=0!==g.indexOf("blob:")?g.substr(0,g.replace(/[?#].*/,"").lastIndexOf("/")+1):"",A=function(e){try{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText}catch(t){var r=ne(e);if(r)return function(e){for(var t=[],r=0;r<e.length;r++){var i=e[r];i>255&&(i&=255),t.push(String.fromCharCode(i))}return t.join("")}(r);throw t}},y&&(d=function(e){try{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}catch(t){var r=ne(e);if(r)return r;throw t}}),p=function(e,t,r){var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=function(){if(200==i.status||0==i.status&&i.response)t(i.response);else{var n=ne(e);n?t(n.buffer):r()}},i.onerror=r,i.send(null)}),s.print||console.log.bind(console);var w,E=s.printErr||console.warn.bind(console);for(l in b)b.hasOwnProperty(l)&&(s[l]=b[l]);b=null,s.arguments&&(k=s.arguments),s.thisProgram&&s.thisProgram,s.quit&&s.quit,s.wasmBinary&&(w=s.wasmBinary);s.noExitRuntime;var T,B={Memory:function(e){this.buffer=new ArrayBuffer(65536*e.initial)},Module:function(e){},Instance:function(e,t){this.exports=function(e){for(var t,r=new Uint8Array(123),i=25;i>=0;--i)r[48+i]=52+i,r[65+i]=i,r[97+i]=26+i;function n(e,t,i){for(var n,o,a=0,f=t,s=i.length,c=t+(3*s>>2)-("="==i[s-2])-("="==i[s-1]);a<s;a+=4)n=r[i.charCodeAt(a+1)],o=r[i.charCodeAt(a+2)],e[f++]=r[i.charCodeAt(a)]<<2|n>>4,f<c&&(e[f++]=n<<4|o>>2),f<c&&(e[f++]=o<<6|r[i.charCodeAt(a+3)])}r[43]=62,r[47]=63;var o=new ArrayBuffer(16),a=new Int32Array(o),f=new Float32Array(o);function s(e){f[2]=e}function c(e){return a[e]}return new Float64Array(o),function(e){var r=e.a,i=r.buffer;r.grow=function(e){e|=0;var n=0|hi(),s=n+e|0;if(n<s&&s<65536){var c=new ArrayBuffer(d(s,65536));new Int8Array(c).set(o),o=new Int8Array(c),a=new Int16Array(c),f=new Int32Array(c),u=new Uint8Array(c),l=new Uint16Array(c),b=new Uint32Array(c),A=new Float32Array(c),p=new Float64Array(c),i=c,r.buffer=i,t=u}return n};var o=new Int8Array(i),a=new Int16Array(i),f=new Int32Array(i),u=new Uint8Array(i),l=new Uint16Array(i),b=new Uint32Array(i),A=new Float32Array(i),p=new Float64Array(i),d=Math.imul,_=Math.fround,h=Math.abs,k=Math.clz32,m=Math.min,y=Math.max,v=Math.floor,g=Math.ceil,w=(Math.trunc,Math.sqrt),E=e.abort,T=e.b,B=e.c,R=e.d,x=e.e,N=e.f,I=5254912,C=0;function D(e,t,r,i){var n=0,a=0,s=0,c=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,E=0,T=0,B=0,R=0,x=0,N=0;if(!e)return 1;e:if(!((0|(s=f[r+20>>2]))>=(0|(h=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|s)>(0|h))){h=u[n+f[r>>2]|0],s=(n=n+1|0)?s:s+1|0,f[r+16>>2]=n,f[r+20>>2]=s;t:switch(0|h){case 0:p=e,s=t,m=i,e=0,i=0,I=h=I+-64|0,f[h+56>>2]=0,f[h+48>>2]=0,f[h+52>>2]=0,f[h+40>>2]=0,f[h+44>>2]=0,f[h+32>>2]=0,f[h+36>>2]=0,f[h+24>>2]=0,f[h+28>>2]=0,f[h+16>>2]=0,f[h+20>>2]=0,f[h+8>>2]=0,f[h+12>>2]=0;r:if(se(h+8|0,r)&&!(!Fe(h+8|0,r)|(f[h+20>>2]?0:p))){if(Kt(r,0,0),p)for(w=s<<2,E=f[h+36>>2],B=f[h+48>>2],R=f[h+24>>2];;){i:if(!((A=f[h+56>>2])>>>0>16383))for(e=f[h+52>>2];;){if((0|e)<=0)break i;if(e=e-1|0,f[h+52>>2]=e,A=u[e+B|0]|A<<8,f[h+56>>2]=A,!(A>>>0<16384))break}if(t=E+((_=f[R+((e=4095&A)<<2)>>2])<<3)|0,f[h+56>>2]=(d(f[t>>2],A>>>12|0)+e|0)-f[t+4>>2],!((0|s)<=0)){if(e=0,!u[r+36|0]|_>>>0>32)break r;if(_){for(x=-2&_,N=1&_,n=i+s|0,t=f[r+32>>2];;){if(k=f[r+28>>2],g=f[r+24>>2],A=0,e=t,a=0,v=0,1!=(0|_))for(;(c=(e>>>3|0)+g|0)>>>0>=k>>>0?c=0:(c=u[0|c],t=e+1|0,f[r+32>>2]=t,c=c>>>(7&e)&1,e=t),c=c<<A|a,a=0,(T=(e>>>3|0)+g|0)>>>0<k>>>0&&(a=u[0|T],t=e+1|0,f[r+32>>2]=t,a=a>>>(7&e)&1,e=t),T=1|A,A=A+2|0,a=c|a<<T,(0|x)!=(0|(v=v+2|0)););if(c=m+(i<<2)|0,N&&((v=k)>>>0>(k=(e>>>3|0)+g|0)>>>0?(k=u[0|k],t=e+1|0,f[r+32>>2]=t,e=k>>>(7&e)&1):e=0,a|=e<<A),f[c>>2]=a,(0|n)==(0|(i=i+1|0)))break}i=n}else Ye(m+(i<<2)|0,0,w),i=i+s|0}if(!(p>>>0>(y=s+y|0)>>>0))break}o[r+36|0]=0,i=f[r+20>>2],e=0,t=(s=(e=(t=f[r+32>>2]+7|0)>>>0<7?1:e)<<29|t>>>3)+f[r+16>>2]|0,e=(e>>>3|0)+i|0,f[r+16>>2]=t,f[r+20>>2]=t>>>0<s>>>0?e+1|0:e,e=1}return(t=f[h+36>>2])&&(f[h+40>>2]=t,ee(t)),(t=f[h+24>>2])&&(f[h+28>>2]=t,ee(t)),(t=f[h+8>>2])&&(f[h+12>>2]=t,ee(t)),I=h- -64|0,e;case 1:break t;default:break e}t=0;t:if(!((0|(s=f[r+20>>2]))>=(0|(n=f[r+12>>2]))&(a=f[r+16>>2])>>>0>=b[r+8>>2]|(0|n)<(0|s))){n=u[a+f[r>>2]|0],s=(a=a+1|0)?s:s+1|0,f[r+16>>2]=a,f[r+20>>2]=s;r:switch(n-1|0){case 4:if(I=a=I+-64|0,f[a+56>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a+8>>2]=0,f[a+12>>2]=0,!(!se(a+8|0,r)|(f[a+20>>2]?0:e))&&Fe(a+8|0,r))if(e)for(r=f[a+36>>2],s=f[a+48>>2],p=f[a+24>>2],c=f[a+56>>2];;){i:if(!(c>>>0>16383))for(t=f[a+52>>2];;){if((0|t)<=0)break i;if(t=t-1|0,f[a+52>>2]=t,c=u[t+s|0]|c<<8,f[a+56>>2]=c,!(c>>>0<16384))break}if(m=f[p+((t=4095&c)<<2)>>2],c=(d(f[(n=r+(m<<3)|0)>>2],c>>>12|0)+t|0)-f[n+4>>2]|0,f[a+56>>2]=c,f[(y<<2)+i>>2]=m,t=1,(0|(y=y+1|0))==(0|e))break}else t=1;(e=f[a+36>>2])&&(f[a+40>>2]=e,ee(e)),(e=f[a+24>>2])&&(f[a+28>>2]=e,ee(e)),(e=f[a+8>>2])&&(f[a+12>>2]=e,ee(e)),I=a- -64|0;break t;case 8:h=e,I=n=I+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(l[r+38>>1]&&Et(1,n+12|0,r)){if(A=f[n+12>>2],t=f[n>>2],A>>>0>(e=f[n+4>>2]-t>>2)>>>0?(st(n,A-e|0),A=f[n+12>>2]):e>>>0<=A>>>0||(f[n+4>>2]=t+(A<<2)),e=1,!A)break i;for(g=f[r+8>>2],y=f[r+12>>2],v=f[n>>2],a=0;;){if(e=0,(0|y)<=(0|(s=f[r+20>>2]))&g>>>0<=(t=f[r+16>>2])>>>0|(0|s)>(0|y))break i;w=f[r>>2],k=u[w+t|0],s=(e=t+1|0)?s:s+1|0,_=e,f[r+16>>2]=e,e=s,f[r+20>>2]=e,t=k>>>2|0,c=0;o:{a:{f:{s:switch(0|(s=3&k)){case 0:break a;case 3:break s;default:break f}if(e=0,(t=t+a|0)>>>0>=A>>>0)break i;Ye(v+(a<<2)|0,0,4+(252&k)|0),a=t;break o}for(;;){if((0|e)>=(0|y)&_>>>0>=g>>>0|(0|e)>(0|y))break n;if(A=u[_+w|0],e=(_=_+1|0)?e:e+1|0,f[r+16>>2]=_,f[r+20>>2]=e,t|=A<<(c<<3|6),(0|s)==(0|(c=c+1|0)))break}}f[v+(a<<2)>>2]=t}if(!((a=a+1|0)>>>0<(A=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(a=(t=f[n+20>>2]-e|0)>>2)>>>0<=8191?st(y,8192-a|0):32768!=(0|t)&&(f[n+20>>2]=e+32768),a=f[(e=n+28|0)>>2],(t=f[n+32>>2]-a>>3)>>>0<A>>>0)ct(e,A-t|0),a=f[e>>2];else if(t>>>0>A>>>0&&(f[n+32>>2]=(A<<3)+a),!A)break n;for(c=0,e=0;;){if(_=f[(s=g+(c<<2)|0)>>2],t=e,f[4+(k=(c<<3)+a|0)>>2]=e,f[k>>2]=_,(e=(s=f[s>>2])+e|0)>>>0>8192)break n;if(!(e>>>0<=t>>>0)){if(k=f[y>>2],_=0,v=7&s)for(;f[k+(t<<2)>>2]=c,t=t+1|0,(0|v)!=(0|(_=_+1|0)););if(!(s-1>>>0<=6))for(;f[(s=k+(t<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(t=t+8|0))!=(0|e););}if((0|A)==(0|(c=c+1|0)))break}m=8192==(0|e)}e=m}i:if(!(!e|(f[n+12>>2]?0:h))&&dt(1,n+56|0,r)&&(a=(e=f[r+8>>2])-(t=f[r+16>>2])|0,s=f[n+60>>2],m=f[r+20>>2],!((0|s)==(0|(c=f[r+12>>2]-(m+(e>>>0<t>>>0)|0)|0))&a>>>0<(e=f[n+56>>2])>>>0|s>>>0>c>>>0||(s=s+m|0,s=(a=e+t|0)>>>0<e>>>0?s+1|0:s,f[r+16>>2]=a,f[r+20>>2]=s,(0|e)<=0)))){r=t+f[r>>2]|0,f[n+40>>2]=r;n:if((s=u[0|(a=r+(t=e-1|0)|0)])>>>0<=63)f[n+44>>2]=t,e=63&u[0|a];else{o:switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;t=e-2|0,f[n+44>>2]=t,e=u[1+(e=(e+r|0)-2|0)|0]<<8&16128|u[0|e];break n;case 1:if(e>>>0<3)break i;t=e-3|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-3|0)|0]<<16&4128768|u[e+1|0]<<8|u[0|e];break n}t=e-4|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-4|0)|0]<<16|u[e+3|0]<<24&1056964608|u[e+1|0]<<8|u[0|e]}if(a=e+32768|0,f[n+48>>2]=a,!(a>>>0>8388607))if(h)for(s=f[n+28>>2],e=0,m=f[n+16>>2];;){n:if(!(a>>>0>32767))for(;;){if((0|t)<=0)break n;if(t=t-1|0,f[n+44>>2]=t,a=u[t+r|0]|a<<8,f[n+48>>2]=a,!(a>>>0<32768))break}if(c=f[m+((p=8191&a)<<2)>>2],a=(d(f[(A=s+(c<<3)|0)>>2],a>>>13|0)+p|0)-f[A+4>>2]|0,f[n+48>>2]=a,f[(e<<2)+i>>2]=c,p=1,(0|h)==(0|(e=e+1|0)))break}else p=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),I=n- -64|0,t=p;break t;case 9:h=e,I=n=I+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(l[r+38>>1]&&Et(1,n+12|0,r)){if(A=f[n+12>>2],t=f[n>>2],A>>>0>(e=f[n+4>>2]-t>>2)>>>0?(st(n,A-e|0),A=f[n+12>>2]):e>>>0<=A>>>0||(f[n+4>>2]=t+(A<<2)),e=1,!A)break i;for(k=f[r+8>>2],y=f[r+12>>2],g=f[n>>2],a=0;;){if(e=0,(0|y)<=(0|(t=f[r+20>>2]))&k>>>0<=(c=f[r+16>>2])>>>0|(0|t)>(0|y))break i;v=f[r>>2],s=u[v+c|0],e=t,e=(t=c+1|0)?e:e+1|0,_=t,f[r+16>>2]=t,f[r+20>>2]=e,t=s>>>2|0,c=0;o:{a:{f:{s:switch(0|(w=3&s)){case 0:break a;case 3:break s;default:break f}if(e=0,(t=t+a|0)>>>0>=A>>>0)break i;Ye(g+(a<<2)|0,0,4+(252&s)|0),a=t;break o}for(;;){if((0|e)>=(0|y)&_>>>0>=k>>>0|(0|e)>(0|y))break n;if(A=u[_+v|0],s=e,s=(e=_+1|0)?s:s+1|0,_=e,f[r+16>>2]=e,e=s,f[r+20>>2]=e,t|=A<<(c<<3|6),(0|w)==(0|(c=c+1|0)))break}}f[g+(a<<2)>>2]=t}if(!((a=a+1|0)>>>0<(A=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(a=(t=f[n+20>>2]-e|0)>>2)>>>0<=32767?st(y,32768-a|0):131072!=(0|t)&&(f[n+20>>2]=e+131072),a=f[(e=n+28|0)>>2],(t=f[n+32>>2]-a>>3)>>>0<A>>>0)ct(e,A-t|0),a=f[e>>2];else if(t>>>0>A>>>0&&(f[n+32>>2]=(A<<3)+a),!A)break n;for(c=0,e=0;;){if(_=f[(s=g+(c<<2)|0)>>2],t=e,f[4+(k=(c<<3)+a|0)>>2]=e,f[k>>2]=_,(e=(s=f[s>>2])+e|0)>>>0>32768)break n;if(!(e>>>0<=t>>>0)){if(k=f[y>>2],_=0,v=7&s)for(;f[k+(t<<2)>>2]=c,t=t+1|0,(0|v)!=(0|(_=_+1|0)););if(!(s-1>>>0<=6))for(;f[(s=k+(t<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(t=t+8|0))!=(0|e););}if((0|A)==(0|(c=c+1|0)))break}m=32768==(0|e)}e=m}i:if(!(!e|(f[n+12>>2]?0:h))&&dt(1,n+56|0,r)&&(s=(e=f[r+8>>2])-(t=a=f[r+16>>2])|0,m=f[n+60>>2],c=f[r+20>>2],!((0|m)==(0|(e=f[r+12>>2]-(c+(e>>>0<t>>>0)|0)|0))&s>>>0<(t=f[n+56>>2])>>>0|e>>>0<m>>>0||(e=c+m|0,e=(s=t+a|0)>>>0<t>>>0?e+1|0:e,f[r+16>>2]=s,f[r+20>>2]=e,(0|(e=t))<=0)))){r=a+f[r>>2]|0,f[n+40>>2]=r;n:if((s=u[0|(a=r+(t=e-1|0)|0)])>>>0<=63)f[n+44>>2]=t,e=63&u[0|a];else{o:switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;t=e-2|0,f[n+44>>2]=t,e=u[1+(e=(e+r|0)-2|0)|0]<<8&16128|u[0|e];break n;case 1:if(e>>>0<3)break i;t=e-3|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-3|0)|0]<<16&4128768|u[e+1|0]<<8|u[0|e];break n}t=e-4|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-4|0)|0]<<16|u[e+3|0]<<24&1056964608|u[e+1|0]<<8|u[0|e]}if(a=e+131072|0,f[n+48>>2]=a,!(a>>>0>33554431))if(h)for(s=f[n+28>>2],e=0,m=f[n+16>>2];;){n:if(!(a>>>0>131071))for(;;){if((0|t)<=0)break n;if(t=t-1|0,f[n+44>>2]=t,a=u[t+r|0]|a<<8,f[n+48>>2]=a,!(a>>>0<131072))break}if(c=f[m+((p=32767&a)<<2)>>2],a=(d(f[(A=s+(c<<3)|0)>>2],a>>>15|0)+p|0)-f[A+4>>2]|0,f[n+48>>2]=a,f[(e<<2)+i>>2]=c,p=1,(0|h)==(0|(e=e+1|0)))break}else p=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),I=n- -64|0,t=p;break t;case 10:h=e,I=n=I+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(l[r+38>>1]&&Et(1,n+12|0,r)){if(A=f[n+12>>2],t=f[n>>2],A>>>0>(e=f[n+4>>2]-t>>2)>>>0?(st(n,A-e|0),A=f[n+12>>2]):e>>>0<=A>>>0||(f[n+4>>2]=t+(A<<2)),e=1,!A)break i;for(g=f[r+8>>2],y=f[r+12>>2],v=f[n>>2],a=0;;){if(e=0,(0|y)<=(0|(s=f[r+20>>2]))&g>>>0<=(t=f[r+16>>2])>>>0|(0|s)>(0|y))break i;w=f[r>>2],k=u[w+t|0],s=(e=t+1|0)?s:s+1|0,_=e,f[r+16>>2]=e,e=s,f[r+20>>2]=e,t=k>>>2|0,c=0;o:{a:{f:{s:switch(0|(E=3&k)){case 0:break a;case 3:break s;default:break f}if(e=0,(t=t+a|0)>>>0>=A>>>0)break i;Ye(v+(a<<2)|0,0,4+(252&k)|0),a=t;break o}for(;;){if((0|e)>=(0|y)&_>>>0>=g>>>0|(0|e)>(0|y))break n;if(A=u[_+w|0],s=e,s=(e=_+1|0)?s:s+1|0,_=e,f[r+16>>2]=e,e=s,f[r+20>>2]=e,t|=A<<(c<<3|6),(0|E)==(0|(c=c+1|0)))break}}f[v+(a<<2)>>2]=t}if(!((a=a+1|0)>>>0<(A=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(a=(t=f[n+20>>2]-e|0)>>2)>>>0<=65535?st(y,65536-a|0):262144!=(0|t)&&(f[n+20>>2]=e+262144),a=f[(e=n+28|0)>>2],(t=f[n+32>>2]-a>>3)>>>0<A>>>0)ct(e,A-t|0),a=f[e>>2];else if(t>>>0>A>>>0&&(f[n+32>>2]=(A<<3)+a),!A)break n;for(c=0,e=0;;){if(_=f[(s=g+(c<<2)|0)>>2],t=e,f[4+(k=(c<<3)+a|0)>>2]=e,f[k>>2]=_,(e=(s=f[s>>2])+e|0)>>>0>65536)break n;if(!(e>>>0<=t>>>0)){if(k=f[y>>2],_=0,v=7&s)for(;f[k+(t<<2)>>2]=c,t=t+1|0,(0|v)!=(0|(_=_+1|0)););if(!(s-1>>>0<=6))for(;f[(s=k+(t<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(t=t+8|0))!=(0|e););}if((0|A)==(0|(c=c+1|0)))break}m=65536==(0|e)}e=m}i:if(!(!e|(f[n+12>>2]?0:h))&&dt(1,n+56|0,r)&&(a=(e=f[r+8>>2])-(t=f[r+16>>2])|0,s=f[n+60>>2],m=f[r+20>>2],!((0|s)==(0|(c=f[r+12>>2]-(m+(e>>>0<t>>>0)|0)|0))&a>>>0<(e=f[n+56>>2])>>>0|s>>>0>c>>>0||(s=s+m|0,s=(a=e+t|0)>>>0<e>>>0?s+1|0:s,f[r+16>>2]=a,f[r+20>>2]=s,(0|e)<=0)))){r=t+f[r>>2]|0,f[n+40>>2]=r;n:if((s=u[0|(a=r+(t=e-1|0)|0)])>>>0<=63)f[n+44>>2]=t,e=63&u[0|a];else{o:switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;t=e-2|0,f[n+44>>2]=t,e=u[1+(e=(e+r|0)-2|0)|0]<<8&16128|u[0|e];break n;case 1:if(e>>>0<3)break i;t=e-3|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-3|0)|0]<<16&4128768|u[e+1|0]<<8|u[0|e];break n}t=e-4|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-4|0)|0]<<16|u[e+3|0]<<24&1056964608|u[e+1|0]<<8|u[0|e]}if(a=e+262144|0,f[n+48>>2]=a,!(a>>>0>67108863))if(h)for(s=f[n+28>>2],e=0,m=f[n+16>>2];;){n:if(!(a>>>0>262143))for(;;){if((0|t)<=0)break n;if(t=t-1|0,f[n+44>>2]=t,a=u[t+r|0]|a<<8,f[n+48>>2]=a,!(a>>>0<262144))break}if(c=f[m+((p=65535&a)<<2)>>2],a=(d(f[(A=s+(c<<3)|0)>>2],a>>>16|0)+p|0)-f[A+4>>2]|0,f[n+48>>2]=a,f[(e<<2)+i>>2]=c,p=1,(0|h)==(0|(e=e+1|0)))break}else p=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),I=n- -64|0,t=p;break t;case 11:h=e,I=n=I+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(l[r+38>>1]&&Et(1,n+12|0,r)){if(A=f[n+12>>2],t=f[n>>2],A>>>0>(e=f[n+4>>2]-t>>2)>>>0?(st(n,A-e|0),A=f[n+12>>2]):e>>>0<=A>>>0||(f[n+4>>2]=t+(A<<2)),e=1,!A)break i;for(g=f[r+8>>2],y=f[r+12>>2],v=f[n>>2],a=0;;){if(e=0,(0|y)<=(0|(s=f[r+20>>2]))&g>>>0<=(t=f[r+16>>2])>>>0|(0|s)>(0|y))break i;w=f[r>>2],k=u[w+t|0],s=(e=t+1|0)?s:s+1|0,_=e,f[r+16>>2]=e,e=s,f[r+20>>2]=e,t=k>>>2|0,c=0;o:{a:{f:{s:switch(0|(s=3&k)){case 0:break a;case 3:break s;default:break f}if(e=0,(t=t+a|0)>>>0>=A>>>0)break i;Ye(v+(a<<2)|0,0,4+(252&k)|0),a=t;break o}for(;;){if((0|e)>=(0|y)&_>>>0>=g>>>0|(0|e)>(0|y))break n;if(A=u[_+w|0],e=(_=_+1|0)?e:e+1|0,f[r+16>>2]=_,f[r+20>>2]=e,t|=A<<(c<<3|6),(0|s)==(0|(c=c+1|0)))break}}f[v+(a<<2)>>2]=t}if(!((a=a+1|0)>>>0<(A=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(a=(t=f[n+20>>2]-e|0)>>2)>>>0<=262143?st(y,262144-a|0):1048576!=(0|t)&&(f[n+20>>2]=e- -1048576),a=f[(e=n+28|0)>>2],(t=f[n+32>>2]-a>>3)>>>0<A>>>0)ct(e,A-t|0),a=f[e>>2];else if(t>>>0>A>>>0&&(f[n+32>>2]=(A<<3)+a),!A)break n;for(c=0,e=0;;){if(_=f[(s=g+(c<<2)|0)>>2],t=e,f[4+(k=(c<<3)+a|0)>>2]=e,f[k>>2]=_,(e=(s=f[s>>2])+e|0)>>>0>262144)break n;if(!(e>>>0<=t>>>0)){if(k=f[y>>2],_=0,v=7&s)for(;f[k+(t<<2)>>2]=c,t=t+1|0,(0|v)!=(0|(_=_+1|0)););if(!(s-1>>>0<=6))for(;f[(s=k+(t<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(t=t+8|0))!=(0|e););}if((0|A)==(0|(c=c+1|0)))break}m=262144==(0|e)}e=m}i:if(!(!e|(f[n+12>>2]?0:h))&&dt(1,n+56|0,r)&&(a=(e=f[r+8>>2])-(t=f[r+16>>2])|0,s=f[n+60>>2],m=f[r+20>>2],!((0|s)==(0|(c=f[r+12>>2]-(m+(e>>>0<t>>>0)|0)|0))&a>>>0<(e=f[n+56>>2])>>>0|s>>>0>c>>>0||(s=s+m|0,s=(a=e+t|0)>>>0<e>>>0?s+1|0:s,f[r+16>>2]=a,f[r+20>>2]=s,(0|e)<=0)))){r=t+f[r>>2]|0,f[n+40>>2]=r;n:if((s=u[0|(a=r+(t=e-1|0)|0)])>>>0<=63)f[n+44>>2]=t,e=63&u[0|a];else{o:switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;t=e-2|0,f[n+44>>2]=t,e=u[1+(e=(e+r|0)-2|0)|0]<<8&16128|u[0|e];break n;case 1:if(e>>>0<3)break i;t=e-3|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-3|0)|0]<<16&4128768|u[e+1|0]<<8|u[0|e];break n}t=e-4|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-4|0)|0]<<16|u[e+3|0]<<24&1056964608|u[e+1|0]<<8|u[0|e]}if(a=e- -1048576|0,f[n+48>>2]=a,!(a>>>0>268435455))if(h)for(s=f[n+28>>2],e=0,m=f[n+16>>2];;){n:if(!(a>>>0>1048575))for(;;){if((0|t)<=0)break n;if(t=t-1|0,f[n+44>>2]=t,a=u[t+r|0]|a<<8,f[n+48>>2]=a,!(a>>>0<1048576))break}if(c=f[m+((p=262143&a)<<2)>>2],a=(d(f[(A=s+(c<<3)|0)>>2],a>>>18|0)+p|0)-f[A+4>>2]|0,f[n+48>>2]=a,f[(e<<2)+i>>2]=c,p=1,(0|h)==(0|(e=e+1|0)))break}else p=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),I=n- -64|0,t=p;break t;case 12:h=e,I=n=I+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(l[r+38>>1]&&Et(1,n+12|0,r)){if(A=f[n+12>>2],t=f[n>>2],A>>>0>(e=f[n+4>>2]-t>>2)>>>0?(st(n,A-e|0),A=f[n+12>>2]):e>>>0<=A>>>0||(f[n+4>>2]=t+(A<<2)),e=1,!A)break i;for(k=f[r+8>>2],y=f[r+12>>2],g=f[n>>2],a=0;;){if(e=0,(0|y)<=(0|(t=f[r+20>>2]))&k>>>0<=(c=f[r+16>>2])>>>0|(0|t)>(0|y))break i;v=f[r>>2],s=u[v+c|0],e=t,e=(t=c+1|0)?e:e+1|0,_=t,f[r+16>>2]=t,f[r+20>>2]=e,t=s>>>2|0,c=0;o:{a:{f:{s:switch(0|(w=3&s)){case 0:break a;case 3:break s;default:break f}if(e=0,(t=t+a|0)>>>0>=A>>>0)break i;Ye(g+(a<<2)|0,0,4+(252&s)|0),a=t;break o}for(;;){if((0|e)>=(0|y)&_>>>0>=k>>>0|(0|e)>(0|y))break n;if(A=u[_+v|0],s=e,s=(e=_+1|0)?s:s+1|0,_=e,f[r+16>>2]=e,e=s,f[r+20>>2]=e,t|=A<<(c<<3|6),(0|w)==(0|(c=c+1|0)))break}}f[g+(a<<2)>>2]=t}if(!((a=a+1|0)>>>0<(A=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(a=(t=f[n+20>>2]-e|0)>>2)>>>0<=524287?st(y,524288-a|0):2097152!=(0|t)&&(f[n+20>>2]=e+2097152),a=f[(e=n+28|0)>>2],(t=f[n+32>>2]-a>>3)>>>0<A>>>0)ct(e,A-t|0),a=f[e>>2];else if(t>>>0>A>>>0&&(f[n+32>>2]=(A<<3)+a),!A)break n;for(c=0,e=0;;){if(_=f[(s=g+(c<<2)|0)>>2],t=e,f[4+(k=(c<<3)+a|0)>>2]=e,f[k>>2]=_,(e=(s=f[s>>2])+e|0)>>>0>524288)break n;if(!(e>>>0<=t>>>0)){if(k=f[y>>2],_=0,v=7&s)for(;f[k+(t<<2)>>2]=c,t=t+1|0,(0|v)!=(0|(_=_+1|0)););if(!(s-1>>>0<=6))for(;f[(s=k+(t<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(t=t+8|0))!=(0|e););}if((0|A)==(0|(c=c+1|0)))break}m=524288==(0|e)}e=m}i:if(!(!e|(f[n+12>>2]?0:h))&&dt(1,n+56|0,r)&&(s=(e=f[r+8>>2])-(t=a=f[r+16>>2])|0,m=f[n+60>>2],c=f[r+20>>2],!((0|m)==(0|(e=f[r+12>>2]-(c+(e>>>0<t>>>0)|0)|0))&s>>>0<(t=f[n+56>>2])>>>0|e>>>0<m>>>0||(e=c+m|0,e=(s=t+a|0)>>>0<t>>>0?e+1|0:e,f[r+16>>2]=s,f[r+20>>2]=e,(0|(e=t))<=0)))){r=a+f[r>>2]|0,f[n+40>>2]=r;n:if((s=u[0|(a=r+(t=e-1|0)|0)])>>>0<=63)f[n+44>>2]=t,e=63&u[0|a];else{o:switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;t=e-2|0,f[n+44>>2]=t,e=u[1+(e=(e+r|0)-2|0)|0]<<8&16128|u[0|e];break n;case 1:if(e>>>0<3)break i;t=e-3|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-3|0)|0]<<16&4128768|u[e+1|0]<<8|u[0|e];break n}t=e-4|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-4|0)|0]<<16|u[e+3|0]<<24&1056964608|u[e+1|0]<<8|u[0|e]}if(a=e+2097152|0,f[n+48>>2]=a,!(a>>>0>536870911))if(h)for(s=f[n+28>>2],e=0,m=f[n+16>>2];;){n:if(!(a>>>0>2097151))for(;;){if((0|t)<=0)break n;if(t=t-1|0,f[n+44>>2]=t,a=u[t+r|0]|a<<8,f[n+48>>2]=a,!(a>>>0<2097152))break}if(c=f[m+((p=524287&a)<<2)>>2],a=(d(f[(A=s+(c<<3)|0)>>2],a>>>19|0)+p|0)-f[A+4>>2]|0,f[n+48>>2]=a,f[(e<<2)+i>>2]=c,p=1,(0|h)==(0|(e=e+1|0)))break}else p=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),I=n- -64|0,t=p;break t;case 17:t=H(e,r,i);break t;case 0:case 1:case 2:case 3:case 5:case 6:case 7:a=0,I=p=I+-64|0,f[p+48>>2]=0,f[p+40>>2]=0,f[p+44>>2]=0,f[p+32>>2]=0,f[p+36>>2]=0,f[p+24>>2]=0,f[p+28>>2]=0,f[p+16>>2]=0,f[p+20>>2]=0,f[p+8>>2]=0,f[p+12>>2]=0,f[p>>2]=0,f[p+4>>2]=0;i:if(!(!se(p,r)|(f[p+12>>2]?0:e))&&dt(1,p+56|0,r)&&(n=(t=f[r+8>>2])-(s=m=f[r+16>>2])|0,h=f[p+60>>2],c=f[r+20>>2],!((0|h)==(0|(s=f[r+12>>2]-(c+(t>>>0<s>>>0)|0)|0))&n>>>0<(t=f[p+56>>2])>>>0|s>>>0<h>>>0||(s=c+h|0,s=(n=t+m|0)>>>0<t>>>0?s+1|0:s,f[r+16>>2]=n,f[r+20>>2]=s,(0|t)<=0)))){s=m+f[r>>2]|0,f[p+40>>2]=s;n:if((n=u[0|(m=s+(r=t-1|0)|0)])>>>0<=63)f[p+44>>2]=r,t=63&u[0|m];else{o:switch((n>>>6|0)-1|0){case 0:if(t>>>0<2)break i;r=t-2|0,f[p+44>>2]=r,t=u[1+(t=(t+s|0)-2|0)|0]<<8&16128|u[0|t];break n;case 1:if(t>>>0<3)break i;r=t-3|0,f[p+44>>2]=r,t=u[2+(t=(t+s|0)-3|0)|0]<<16&4128768|u[t+1|0]<<8|u[0|t];break n}r=t-4|0,f[p+44>>2]=r,t=u[2+(t=(t+s|0)-4|0)|0]<<16|u[t+3|0]<<24&1056964608|u[t+1|0]<<8|u[0|t]}if(c=t+16384|0,f[p+48>>2]=c,!(c>>>0>4194303))if(e)for(t=f[p+28>>2],m=f[p+16>>2];;){n:if(!(c>>>0>16383))for(;;){if((0|r)<=0)break n;if(r=r-1|0,f[p+44>>2]=r,c=u[r+s|0]|c<<8,f[p+48>>2]=c,!(c>>>0<16384))break}if(n=f[m+((a=4095&c)<<2)>>2],c=(d(f[(h=t+(n<<3)|0)>>2],c>>>12|0)+a|0)-f[h+4>>2]|0,f[p+48>>2]=c,f[(_<<2)+i>>2]=n,a=1,(0|(_=_+1|0))==(0|e))break}else a=1}(e=f[p+28>>2])&&(f[p+32>>2]=e,ee(e)),(e=f[p+16>>2])&&(f[p+20>>2]=e,ee(e)),(e=f[p>>2])&&(f[p+4>>2]=e,ee(e)),I=p- -64|0,t=a;break t;case 13:case 14:case 15:case 16:break r;default:break t}t=H(e,r,i)}a=t}return a}function M(e){var t,r=0,i=0,n=0,o=0,a=0,s=0,c=0,l=0,A=0,p=0,d=0,_=0;I=t=I-16|0;e:{t:{r:{i:{n:{o:{a:{f:{s:{c:{u:{if((e|=0)>>>0<=244){if(3&(r=(o=f[2881])>>>(i=(c=e>>>0<11?16:e+11&-8)>>>3|0)|0)){e=(a=f[11572+(r=(n=i+(1&(-1^r))|0)<<3)>>2])+8|0,(0|(i=f[a+8>>2]))!=(0|(r=r+11564|0))?(f[i+12>>2]=r,f[r+8>>2]=i):(d=11524,_=Rr(n)&o,f[d>>2]=_),r=n<<3,f[a+4>>2]=3|r,f[4+(r=r+a|0)>>2]=1|f[r+4>>2];break e}if((p=f[2883])>>>0>=c>>>0)break u;if(r){i=e=(r=(0-(e=(0-(e=2<<i)|e)&r<<i)&e)-1|0)>>>12&16,i|=e=(r=r>>>e|0)>>>5&8,i|=e=(r=r>>>e|0)>>>2&4,s=f[11572+(e=(i=((i|=e=(r=r>>>e|0)>>>1&2)|(e=(r=r>>>e|0)>>>1&1))+(r>>>e|0)|0)<<3)>>2],(0|(r=f[s+8>>2]))!=(0|(e=e+11564|0))?(f[r+12>>2]=e,f[e+8>>2]=r):(o=Rr(i)&o,f[2881]=o),e=s+8|0,f[s+4>>2]=3|c,a=(r=i<<3)-c|0,f[4+(n=s+c|0)>>2]=1|a,f[r+s>>2]=a,p&&(i=11564+((r=p>>>3|0)<<3)|0,s=f[2886],(r=1<<r)&o?r=f[i+8>>2]:(f[2881]=r|o,r=i),f[i+8>>2]=s,f[r+12>>2]=s,f[s+12>>2]=i,f[s+8>>2]=r),f[2886]=n,f[2883]=a;break e}if(!(A=f[2882]))break u;for(i=e=(r=(A&0-A)-1|0)>>>12&16,i|=e=(r=r>>>e|0)>>>5&8,i|=e=(r=r>>>e|0)>>>2&4,r=f[11828+(((i|=e=(r=r>>>e|0)>>>1&2)|(e=(r=r>>>e|0)>>>1&1))+(r>>>e|0)<<2)>>2],n=(-8&f[r+4>>2])-c|0,i=r;(e=f[i+16>>2])||(e=f[i+20>>2]);)n=(a=(i=(-8&f[e+4>>2])-c|0)>>>0<n>>>0)?i:n,r=a?e:r,i=e;if(l=f[r+24>>2],(0|(a=f[r+12>>2]))!=(0|r)){e=f[r+8>>2],f[e+12>>2]=a,f[a+8>>2]=e;break t}if(!(e=f[(i=r+20|0)>>2])){if(!(e=f[r+16>>2]))break c;i=r+16|0}for(;s=i,a=e,(e=f[(i=e+20|0)>>2])||(i=a+16|0,e=f[a+16>>2]););f[s>>2]=0;break t}if(c=-1,!(e>>>0>4294967231)&&(c=-8&(e=e+11|0),A=f[2882])){n=0-c|0,o=0,c>>>0<256||(o=31,c>>>0>16777215||(e=e>>>8|0,e<<=s=e+1048320>>>16&8,o=28+((e=((e<<=i=e+520192>>>16&4)<<(r=e+245760>>>16&2)>>>15|0)-(r|i|s)|0)<<1|c>>>e+21&1)|0));l:{b:{if(i=f[11828+(o<<2)>>2])for(e=0,r=c<<(31==(0|o)?0:25-(o>>>1|0)|0);;){if(!((s=(-8&f[i+4>>2])-c|0)>>>0>=n>>>0||(a=i,n=s))){n=0,e=i;break b}if(s=f[i+20>>2],i=f[16+((r>>>29&4)+i|0)>>2],e=s?(0|s)==(0|i)?e:s:e,r<<=1,!i)break}else e=0;if(!(e|a)){if(a=0,!(e=(0-(e=2<<o)|e)&A))break u;i=e=(r=(e&0-e)-1|0)>>>12&16,i|=e=(r=r>>>e|0)>>>5&8,i|=e=(r=r>>>e|0)>>>2&4,e=f[11828+(((i|=e=(r=r>>>e|0)>>>1&2)|(e=(r=r>>>e|0)>>>1&1))+(r>>>e|0)<<2)>>2]}if(!e)break l}for(;n=(i=(r=(-8&f[e+4>>2])-c|0)>>>0<n>>>0)?r:n,a=i?e:a,e=(r=f[e+16>>2])||f[e+20>>2];);}if(!(!a|f[2883]-c>>>0<=n>>>0)){if(o=f[a+24>>2],(0|a)!=(0|(r=f[a+12>>2]))){e=f[a+8>>2],f[e+12>>2]=r,f[r+8>>2]=e;break r}if(!(e=f[(i=a+20|0)>>2])){if(!(e=f[a+16>>2]))break s;i=a+16|0}for(;s=i,r=e,(e=f[(i=e+20|0)>>2])||(i=r+16|0,e=f[r+16>>2]););f[s>>2]=0;break r}}}if((i=f[2883])>>>0>=c>>>0){n=f[2886],(r=i-c|0)>>>0>=16?(f[2883]=r,e=n+c|0,f[2886]=e,f[e+4>>2]=1|r,f[i+n>>2]=r,f[n+4>>2]=3|c):(f[2886]=0,f[2883]=0,f[n+4>>2]=3|i,f[4+(e=i+n|0)>>2]=1|f[e+4>>2]),e=n+8|0;break e}if((l=f[2884])>>>0>c>>>0){r=l-c|0,f[2884]=r,e=(i=f[2887])+c|0,f[2887]=e,f[e+4>>2]=1|r,f[i+4>>2]=3|c,e=i+8|0;break e}if(e=0,A=c+47|0,f[2999]?i=f[3001]:(f[3002]=-1,f[3003]=-1,f[3e3]=4096,f[3001]=4096,f[2999]=t+12&-16^1431655768,f[3004]=0,f[2992]=0,i=4096),(i=(s=A+i|0)&(a=0-i|0))>>>0<=c>>>0)break e;if((n=f[2991])&&n>>>0<(o=(r=f[2989])+i|0)>>>0|r>>>0>=o>>>0)break e;if(4&u[11968])break o;u:{l:{if(n=f[2887])for(e=11972;;){if((r=f[e>>2])>>>0<=n>>>0&n>>>0<r+f[e+4>>2]>>>0)break l;if(!(e=f[e+8>>2]))break}if(-1==(0|(r=er(0))))break a;if(o=i,(e=(n=f[3e3])-1|0)&r&&(o=(i-r|0)+(e+r&0-n)|0),o>>>0<=c>>>0|o>>>0>2147483646)break a;if((n=f[2991])&&n>>>0<(a=(e=f[2989])+o|0)>>>0|e>>>0>=a>>>0)break a;if((0|r)!=(0|(e=er(o))))break u;break n}if((o=a&s-l)>>>0>2147483646)break a;if((0|(r=er(o)))==(f[e>>2]+f[e+4>>2]|0))break f;e=r}if(!(-1==(0|e)|c+48>>>0<=o>>>0)){if((r=(r=f[3001])+(A-o|0)&0-r)>>>0>2147483646){r=e;break n}if(-1!=(0|er(r))){o=r+o|0,r=e;break n}er(0-o|0);break a}if(r=e,-1!=(0|e))break n;break a}a=0;break t}r=0;break r}if(-1!=(0|r))break n}f[2992]=4|f[2992]}if(i>>>0>2147483646)break i;if(-1==(0|(r=er(i)))|-1==(0|(e=er(0)))|e>>>0<=r>>>0)break i;if((o=e-r|0)>>>0<=c+40>>>0)break i}e=f[2989]+o|0,f[2989]=e,e>>>0>b[2990]&&(f[2990]=e);n:{o:{a:{if(s=f[2887]){for(e=11972;;){if(((n=f[e>>2])+(i=f[e+4>>2])|0)==(0|r))break a;if(!(e=f[e+8>>2]))break}break o}for((e=f[2885])>>>0<=r>>>0&&e||(f[2885]=r),e=0,f[2994]=o,f[2993]=r,f[2889]=-1,f[2890]=f[2999],f[2996]=0;i=11564+(n=e<<3)|0,f[n+11572>>2]=i,f[n+11576>>2]=i,32!=(0|(e=e+1|0)););i=(n=o-40|0)-(e=r+8&7?-8-r&7:0)|0,f[2884]=i,e=e+r|0,f[2887]=e,f[e+4>>2]=1|i,f[4+(r+n|0)>>2]=40,f[2888]=f[3003];break n}if(!(8&u[e+12|0]|n>>>0>s>>>0|r>>>0<=s>>>0)){f[e+4>>2]=i+o,i=(e=s+8&7?-8-s&7:0)+s|0,f[2887]=i,e=(r=f[2884]+o|0)-e|0,f[2884]=e,f[i+4>>2]=1|e,f[4+(r+s|0)>>2]=40,f[2888]=f[3003];break n}}b[2885]>r>>>0&&(f[2885]=r),i=r+o|0,e=11972;o:{a:{f:{s:{c:{u:{for(;;){if((0|i)!=f[e>>2]){if(e=f[e+8>>2])continue;break u}break}if(!(8&u[e+12|0]))break c}for(e=11972;;){if((i=f[e>>2])>>>0<=s>>>0&&(a=i+f[e+4>>2]|0)>>>0>s>>>0)break s;e=f[e+8>>2]}}if(f[e>>2]=r,f[e+4>>2]=f[e+4>>2]+o,f[4+(A=(r+8&7?-8-r&7:0)+r|0)>>2]=3|c,i=(o=i+(i+8&7?-8-i&7:0)|0)-(l=c+A|0)|0,(0|o)==(0|s)){f[2887]=l,e=f[2884]+i|0,f[2884]=e,f[l+4>>2]=1|e;break a}if(f[2886]==(0|o)){f[2886]=l,e=f[2883]+i|0,f[2883]=e,f[l+4>>2]=1|e,f[e+l>>2]=e;break a}if(1==(3&(e=f[o+4>>2]))){s=-8&e;c:if(e>>>0<=255){if(n=f[o+8>>2],e=e>>>3|0,(0|(r=f[o+12>>2]))==(0|n)){d=11524,_=f[2881]&Rr(e),f[d>>2]=_;break c}f[n+12>>2]=r,f[r+8>>2]=n}else{if(c=f[o+24>>2],(0|o)==(0|(r=f[o+12>>2])))if((n=f[(e=o+20|0)>>2])||(n=f[(e=o+16|0)>>2])){for(;a=e,(n=f[(e=(r=n)+20|0)>>2])||(e=r+16|0,n=f[r+16>>2]););f[a>>2]=0}else r=0;else e=f[o+8>>2],f[e+12>>2]=r,f[r+8>>2]=e;if(c){n=f[o+28>>2];u:{if(f[(e=11828+(n<<2)|0)>>2]==(0|o)){if(f[e>>2]=r,r)break u;d=11528,_=f[2882]&Rr(n),f[d>>2]=_;break c}if(f[c+(f[c+16>>2]==(0|o)?16:20)>>2]=r,!r)break c}f[r+24>>2]=c,(e=f[o+16>>2])&&(f[r+16>>2]=e,f[e+24>>2]=r),(e=f[o+20>>2])&&(f[r+20>>2]=e,f[e+24>>2]=r)}}o=o+s|0,i=i+s|0}if(f[o+4>>2]=-2&f[o+4>>2],f[l+4>>2]=1|i,f[i+l>>2]=i,i>>>0<=255){r=11564+((e=i>>>3|0)<<3)|0,(i=f[2881])&(e=1<<e)?e=f[r+8>>2]:(f[2881]=e|i,e=r),f[r+8>>2]=l,f[e+12>>2]=l,f[l+12>>2]=r,f[l+8>>2]=e;break a}if(e=31,i>>>0<=16777215&&(e=i>>>8|0,e<<=a=e+1048320>>>16&8,e=28+((e=((e<<=n=e+520192>>>16&4)<<(r=e+245760>>>16&2)>>>15|0)-(r|n|a)|0)<<1|i>>>e+21&1)|0),f[l+28>>2]=e,f[l+16>>2]=0,f[l+20>>2]=0,a=11828+(e<<2)|0,(n=f[2882])&(r=1<<e)){for(e=i<<(31==(0|e)?0:25-(e>>>1|0)|0),r=f[a>>2];;){if(n=r,(-8&f[r+4>>2])==(0|i))break f;if(r=e>>>29|0,e<<=1,!(r=f[16+(a=n+(4&r)|0)>>2]))break}f[a+16>>2]=l,f[l+24>>2]=n}else f[2882]=r|n,f[a>>2]=l,f[l+24>>2]=a;f[l+12>>2]=l,f[l+8>>2]=l;break a}for(i=(n=o-40|0)-(e=r+8&7?-8-r&7:0)|0,f[2884]=i,e=e+r|0,f[2887]=e,f[e+4>>2]=1|i,f[4+(r+n|0)>>2]=40,f[2888]=f[3003],f[(i=(e=(a+(a-39&7?39-a&7:0)|0)-47|0)>>>0<s+16>>>0?s:e)+4>>2]=27,e=f[2996],f[i+16>>2]=f[2995],f[i+20>>2]=e,e=f[2994],f[i+8>>2]=f[2993],f[i+12>>2]=e,f[2995]=i+8,f[2994]=o,f[2993]=r,f[2996]=0,e=i+24|0;f[e+4>>2]=7,r=e+8|0,e=e+4|0,r>>>0<a>>>0;);if((0|i)==(0|s))break n;if(f[i+4>>2]=-2&f[i+4>>2],a=i-s|0,f[s+4>>2]=1|a,f[i>>2]=a,a>>>0<=255){r=11564+((e=a>>>3|0)<<3)|0,(i=f[2881])&(e=1<<e)?e=f[r+8>>2]:(f[2881]=e|i,e=r),f[r+8>>2]=s,f[e+12>>2]=s,f[s+12>>2]=r,f[s+8>>2]=e;break n}if(e=31,f[s+16>>2]=0,f[s+20>>2]=0,a>>>0<=16777215&&(e=a>>>8|0,e<<=n=e+1048320>>>16&8,e=28+((e=((e<<=i=e+520192>>>16&4)<<(r=e+245760>>>16&2)>>>15|0)-(r|i|n)|0)<<1|a>>>e+21&1)|0),f[s+28>>2]=e,n=11828+(e<<2)|0,(i=f[2882])&(r=1<<e)){for(e=a<<(31==(0|e)?0:25-(e>>>1|0)|0),r=f[n>>2];;){if(i=r,(0|a)==(-8&f[r+4>>2]))break o;if(r=e>>>29|0,e<<=1,!(r=f[16+(n=i+(4&r)|0)>>2]))break}f[n+16>>2]=s,f[s+24>>2]=i}else f[2882]=r|i,f[n>>2]=s,f[s+24>>2]=n;f[s+12>>2]=s,f[s+8>>2]=s;break n}e=f[n+8>>2],f[e+12>>2]=l,f[n+8>>2]=l,f[l+24>>2]=0,f[l+12>>2]=n,f[l+8>>2]=e}e=A+8|0;break e}e=f[i+8>>2],f[e+12>>2]=s,f[i+8>>2]=s,f[s+24>>2]=0,f[s+12>>2]=i,f[s+8>>2]=e}if(!((e=f[2884])>>>0<=c>>>0)){r=e-c|0,f[2884]=r,e=(i=f[2887])+c|0,f[2887]=e,f[e+4>>2]=1|r,f[i+4>>2]=3|c,e=i+8|0;break e}}f[2879]=48,e=0;break e}r:if(o){i=f[a+28>>2];i:{if(f[(e=11828+(i<<2)|0)>>2]==(0|a)){if(f[e>>2]=r,r)break i;A=Rr(i)&A,f[2882]=A;break r}if(f[o+(f[o+16>>2]==(0|a)?16:20)>>2]=r,!r)break r}f[r+24>>2]=o,(e=f[a+16>>2])&&(f[r+16>>2]=e,f[e+24>>2]=r),(e=f[a+20>>2])&&(f[r+20>>2]=e,f[e+24>>2]=r)}r:if(n>>>0<=15)e=n+c|0,f[a+4>>2]=3|e,f[4+(e=e+a|0)>>2]=1|f[e+4>>2];else if(f[a+4>>2]=3|c,f[4+(o=a+c|0)>>2]=1|n,f[n+o>>2]=n,n>>>0<=255)r=11564+((e=n>>>3|0)<<3)|0,(i=f[2881])&(e=1<<e)?e=f[r+8>>2]:(f[2881]=e|i,e=r),f[r+8>>2]=o,f[e+12>>2]=o,f[o+12>>2]=r,f[o+8>>2]=e;else{e=31,n>>>0<=16777215&&(e=n>>>8|0,e<<=s=e+1048320>>>16&8,e=28+((e=((e<<=i=e+520192>>>16&4)<<(r=e+245760>>>16&2)>>>15|0)-(r|i|s)|0)<<1|n>>>e+21&1)|0),f[o+28>>2]=e,f[o+16>>2]=0,f[o+20>>2]=0,r=11828+(e<<2)|0;i:{if((i=1<<e)&A){for(e=n<<(31==(0|e)?0:25-(e>>>1|0)|0),c=f[r>>2];;){if((-8&f[(r=c)+4>>2])==(0|n))break i;if(i=e>>>29|0,e<<=1,!(c=f[16+(i=(4&i)+r|0)>>2]))break}f[i+16>>2]=o}else f[2882]=i|A,f[r>>2]=o;f[o+24>>2]=r,f[o+12>>2]=o,f[o+8>>2]=o;break r}e=f[r+8>>2],f[e+12>>2]=o,f[r+8>>2]=o,f[o+24>>2]=0,f[o+12>>2]=r,f[o+8>>2]=e}e=a+8|0;break e}t:if(l){i=f[r+28>>2];r:{if(f[(e=11828+(i<<2)|0)>>2]==(0|r)){if(f[e>>2]=a,a)break r;d=11528,_=Rr(i)&A,f[d>>2]=_;break t}if(f[l+(f[l+16>>2]==(0|r)?16:20)>>2]=a,!a)break t}f[a+24>>2]=l,(e=f[r+16>>2])&&(f[a+16>>2]=e,f[e+24>>2]=a),(e=f[r+20>>2])&&(f[a+20>>2]=e,f[e+24>>2]=a)}n>>>0<=15?(e=n+c|0,f[r+4>>2]=3|e,f[4+(e=e+r|0)>>2]=1|f[e+4>>2]):(f[r+4>>2]=3|c,f[4+(a=r+c|0)>>2]=1|n,f[n+a>>2]=n,p&&(i=11564+((e=p>>>3|0)<<3)|0,s=f[2886],(e=1<<e)&o?e=f[i+8>>2]:(f[2881]=e|o,e=i),f[i+8>>2]=s,f[e+12>>2]=s,f[s+12>>2]=i,f[s+8>>2]=e),f[2886]=a,f[2883]=n),e=r+8|0}return I=t+16|0,0|e}function G(e,t,r,i){var n,s=0,c=0,l=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;if(I=n=I-80|0,s=f[r+36>>2],f[n+72>>2]=f[r+32>>2],f[n+76>>2]=s,c=f[r+28>>2],f[(s=n- -64|0)>>2]=f[r+24>>2],f[s+4>>2]=c,s=f[r+20>>2],f[n+56>>2]=f[r+16>>2],f[n+60>>2]=s,s=f[r+12>>2],f[n+48>>2]=f[r+8>>2],f[n+52>>2]=s,s=f[r+4>>2],f[n+40>>2]=f[r>>2],f[n+44>>2]=s,Q(e,n+40|0,n+24|0),!f[e>>2])if(_=e+4|0,o[e+15|0]<0&&ee(f[_>>2]),1==u[n+31|0]){I=A=I-16|0;e:{t:switch(u[n+32|0]){case 0:$t(s=br(48)),f[s>>2]=9896,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0,f[n+16>>2]=s;break e;case 1:$t(s=br(52)),f[s+48>>2]=0,f[s>>2]=8204,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0,f[n+16>>2]=s;break e}c=br(32),s=u[1664]|u[1665]<<8|u[1666]<<16|u[1667]<<24,o[c+24|0]=s,o[c+25|0]=s>>>8,o[c+26|0]=s>>>16,o[c+27|0]=s>>>24,s=u[1660]|u[1661]<<8|u[1662]<<16|u[1663]<<24,l=u[1656]|u[1657]<<8|u[1658]<<16|u[1659]<<24,o[c+16|0]=l,o[c+17|0]=l>>>8,o[c+18|0]=l>>>16,o[c+19|0]=l>>>24,o[c+20|0]=s,o[c+21|0]=s>>>8,o[c+22|0]=s>>>16,o[c+23|0]=s>>>24,s=u[1652]|u[1653]<<8|u[1654]<<16|u[1655]<<24,l=u[1648]|u[1649]<<8|u[1650]<<16|u[1651]<<24,o[c+8|0]=l,o[c+9|0]=l>>>8,o[c+10|0]=l>>>16,o[c+11|0]=l>>>24,o[c+12|0]=s,o[c+13|0]=s>>>8,o[c+14|0]=s>>>16,o[c+15|0]=s>>>24,s=u[1644]|u[1645]<<8|u[1646]<<16|u[1647]<<24,l=u[1640]|u[1641]<<8|u[1642]<<16|u[1643]<<24,o[0|c]=l,o[c+1|0]=l>>>8,o[c+2|0]=l>>>16,o[c+3|0]=l>>>24,o[c+4|0]=s,o[c+5|0]=s>>>8,o[c+6|0]=s>>>16,o[c+7|0]=s>>>24,o[c+28|0]=0,f[A>>2]=-1,Vt(s=4|A,c,28),d=o[A+15|0],f[n>>2]=f[A>>2],l=n+4|0,(0|d)>=0?(d=f[s+4>>2],f[l>>2]=f[s>>2],f[l+4>>2]=d,f[l+8>>2]=f[s+8>>2]):Vt(l,f[A+4>>2],f[A+8>>2]),f[n+16>>2]=0,o[A+15|0]<0&&ee(f[A+4>>2]),ee(c)}I=A+16|0;e:if(s=f[n>>2]){if(f[e>>2]=s,o[n+15|0]>=0){t=f[4+(e=4|n)>>2],f[_>>2]=f[e>>2],f[_+4>>2]=t,f[_+8>>2]=f[e+8>>2];break e}Vt(_,f[n+4>>2],f[n+8>>2])}else{s=f[n+16>>2],f[n+16>>2]=0,f[s+44>>2]=i,I=A=I-32|0,f[s+32>>2]=r,f[s+40>>2]=t,f[s+4>>2]=i,Q(e,r,A+16|0);t:if(!f[e>>2])if(c=e+4|0,o[e+15|0]<0&&ee(f[c>>2]),t=u[A+23|0],(0|_i[f[f[s>>2]+8>>2]](s))==(0|t))if(r=u[A+21|0],o[s+36|0]=r,i=u[A+22|0],o[s+37|0]=i,2==(0|r))if((0|(t=t?2:3))==(0|i)){if(a[f[s+32>>2]+38>>1]=512|t,!(a[A+26>>1]>=0)){I=d=I-16|0,i=br(36),f[(t=i)+4>>2]=0,f[t+8>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,f[(t=t+16|0)>>2]=0,f[t+4>>2]=0,f[i>>2]=i+4,f[i+32>>2]=0,f[i+12>>2]=t,f[d>>2]=0,r=f[s+32>>2],I=h=I-16|0,t=0;r:if(i&&(f[d>>2]=r,f[h+12>>2]=0,t=0,gt(1,h+12|0,r))){if(y=f[h+12>>2])for(;;){i:{if(gt(1,h+8|0,f[d>>2])){if(t=br(28),f[t+4>>2]=0,f[t+8>>2]=0,f[(r=t+16|0)>>2]=0,f[r+4>>2]=0,f[t>>2]=t+4,f[t+12>>2]=r,f[t+24>>2]=f[h+8>>2],U(d,t))break i;rr(t+12|0,f[t+16>>2]),ur(t,f[t+4>>2]),ee(t)}t=0;break r}if(I=l=I-16|0,f[l+8>>2]=t,t){if((r=f[i+28>>2])>>>0<b[i+32>>2])f[l+8>>2]=0,f[r>>2]=t,f[i+28>>2]=r+4;else{r=0;i:{n:{o:{if(p=f[i+24>>2],(t=1+(m=f[i+28>>2]-p>>2)|0)>>>0<1073741824){if(k=(p=f[i+32>>2]-p|0)>>1,t=p>>2>>>0<536870911?t>>>0>k>>>0?t:k:1073741823){if(t>>>0>=1073741824)break o;r=br(t<<2)}if(k=f[l+8>>2],f[l+8>>2]=0,f[(p=(m<<2)+r|0)>>2]=k,m=(t<<2)+r|0,k=p+4|0,(0|(r=f[i+28>>2]))==(0|(t=f[i+24>>2])))break n;for(;g=f[(r=r-4|0)>>2],f[r>>2]=0,f[(p=p-4|0)>>2]=g,(0|t)!=(0|r););if(f[i+32>>2]=m,r=f[i+28>>2],f[i+28>>2]=k,t=f[i+24>>2],f[i+24>>2]=p,(0|t)==(0|r))break i;for(;p=f[(r=r-4|0)>>2],f[r>>2]=0,p&&(rr(p+12|0,f[p+16>>2]),ur(p,f[p+4>>2]),ee(p)),(0|t)!=(0|r););break i}ii(),E()}Lt(1326),E()}f[i+32>>2]=m,f[i+28>>2]=k,f[i+24>>2]=p}t&&ee(t)}t=f[l+8>>2],f[l+8>>2]=0,t&&(rr(t+12|0,f[t+16>>2]),ur(t,f[t+4>>2]),ee(t))}else f[l+8>>2]=0;if(I=l+16|0,(0|(v=v+1|0))==(0|y))break}t=U(d,i)}if(I=h+16|0,t?(r=f[s+4>>2],t=f[r+4>>2],f[r+4>>2]=i,t&&xt(t),f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0):(t=br(32),r=u[1693]|u[1694]<<8,o[t+24|0]=r,o[t+25|0]=r>>>8,r=u[1689]|u[1690]<<8|u[1691]<<16|u[1692]<<24,l=u[1685]|u[1686]<<8|u[1687]<<16|u[1688]<<24,o[t+16|0]=l,o[t+17|0]=l>>>8,o[t+18|0]=l>>>16,o[t+19|0]=l>>>24,o[t+20|0]=r,o[t+21|0]=r>>>8,o[t+22|0]=r>>>16,o[t+23|0]=r>>>24,r=u[1681]|u[1682]<<8|u[1683]<<16|u[1684]<<24,l=u[1677]|u[1678]<<8|u[1679]<<16|u[1680]<<24,o[t+8|0]=l,o[t+9|0]=l>>>8,o[t+10|0]=l>>>16,o[t+11|0]=l>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1673]|u[1674]<<8|u[1675]<<16|u[1676]<<24,l=u[1669]|u[1670]<<8|u[1671]<<16|u[1672]<<24,o[0|t]=l,o[t+1|0]=l>>>8,o[t+2|0]=l>>>16,o[t+3|0]=l>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+26|0]=0,f[e>>2]=-1,Vt(e+4|0,t,26),ee(t),f[d+8>>2]=0,xt(i)),I=d+16|0,f[e>>2])break t;o[c+11|0]>=0||ee(f[c>>2])}if(0|_i[f[f[s>>2]+12>>2]](s))if(0|_i[f[f[s>>2]+20>>2]](s))if(0|_i[f[f[s>>2]+24>>2]](s))f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0;else{if(t=Pt(A,1451),f[e>>2]=-1,o[t+11|0]>=0){t=f[A+4>>2],f[c>>2]=f[A>>2],f[c+4>>2]=t,f[c+8>>2]=f[A+8>>2];break t}if(Vt(c,f[t>>2],f[t+4>>2]),o[t+11|0]>=0)break t;ee(f[t>>2])}else{if(t=Pt(A,1696),f[e>>2]=-1,o[t+11|0]>=0){t=f[A+4>>2],f[c>>2]=f[A>>2],f[c+4>>2]=t,f[c+8>>2]=f[A+8>>2];break t}if(Vt(c,f[t>>2],f[t+4>>2]),o[t+11|0]>=0)break t;ee(f[t>>2])}else t=br(48),o[t+32|0]=u[1518],r=u[1514]|u[1515]<<8|u[1516]<<16|u[1517]<<24,i=u[1510]|u[1511]<<8|u[1512]<<16|u[1513]<<24,o[t+24|0]=i,o[t+25|0]=i>>>8,o[t+26|0]=i>>>16,o[t+27|0]=i>>>24,o[t+28|0]=r,o[t+29|0]=r>>>8,o[t+30|0]=r>>>16,o[t+31|0]=r>>>24,r=u[1506]|u[1507]<<8|u[1508]<<16|u[1509]<<24,i=u[1502]|u[1503]<<8|u[1504]<<16|u[1505]<<24,o[t+16|0]=i,o[t+17|0]=i>>>8,o[t+18|0]=i>>>16,o[t+19|0]=i>>>24,o[t+20|0]=r,o[t+21|0]=r>>>8,o[t+22|0]=r>>>16,o[t+23|0]=r>>>24,r=u[1498]|u[1499]<<8|u[1500]<<16|u[1501]<<24,i=u[1494]|u[1495]<<8|u[1496]<<16|u[1497]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1490]|u[1491]<<8|u[1492]<<16|u[1493]<<24,i=u[1486]|u[1487]<<8|u[1488]<<16|u[1489]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+33|0]=0,f[e>>2]=-1,Vt(c,t,33),ee(t)}else t=br(32),r=u[1544]|u[1545]<<8,o[t+24|0]=r,o[t+25|0]=r>>>8,r=u[1540]|u[1541]<<8|u[1542]<<16|u[1543]<<24,i=u[1536]|u[1537]<<8|u[1538]<<16|u[1539]<<24,o[t+16|0]=i,o[t+17|0]=i>>>8,o[t+18|0]=i>>>16,o[t+19|0]=i>>>24,o[t+20|0]=r,o[t+21|0]=r>>>8,o[t+22|0]=r>>>16,o[t+23|0]=r>>>24,r=u[1532]|u[1533]<<8|u[1534]<<16|u[1535]<<24,i=u[1528]|u[1529]<<8|u[1530]<<16|u[1531]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1524]|u[1525]<<8|u[1526]<<16|u[1527]<<24,i=u[1520]|u[1521]<<8|u[1522]<<16|u[1523]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+26|0]=0,f[e>>2]=-5,Vt(c,t,26),ee(t);else t=br(32),r=u[1571]|u[1572]<<8,o[t+24|0]=r,o[t+25|0]=r>>>8,r=u[1567]|u[1568]<<8|u[1569]<<16|u[1570]<<24,i=u[1563]|u[1564]<<8|u[1565]<<16|u[1566]<<24,o[t+16|0]=i,o[t+17|0]=i>>>8,o[t+18|0]=i>>>16,o[t+19|0]=i>>>24,o[t+20|0]=r,o[t+21|0]=r>>>8,o[t+22|0]=r>>>16,o[t+23|0]=r>>>24,r=u[1559]|u[1560]<<8|u[1561]<<16|u[1562]<<24,i=u[1555]|u[1556]<<8|u[1557]<<16|u[1558]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1551]|u[1552]<<8|u[1553]<<16|u[1554]<<24,i=u[1547]|u[1548]<<8|u[1549]<<16|u[1550]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+26|0]=0,f[e>>2]=-5,Vt(c,t,26),ee(t);else t=br(64),r=u[1448]|u[1449]<<8,o[t+48|0]=r,o[t+49|0]=r>>>8,r=u[1444]|u[1445]<<8|u[1446]<<16|u[1447]<<24,i=u[1440]|u[1441]<<8|u[1442]<<16|u[1443]<<24,o[t+40|0]=i,o[t+41|0]=i>>>8,o[t+42|0]=i>>>16,o[t+43|0]=i>>>24,o[t+44|0]=r,o[t+45|0]=r>>>8,o[t+46|0]=r>>>16,o[t+47|0]=r>>>24,r=u[1436]|u[1437]<<8|u[1438]<<16|u[1439]<<24,i=u[1432]|u[1433]<<8|u[1434]<<16|u[1435]<<24,o[t+32|0]=i,o[t+33|0]=i>>>8,o[t+34|0]=i>>>16,o[t+35|0]=i>>>24,o[t+36|0]=r,o[t+37|0]=r>>>8,o[t+38|0]=r>>>16,o[t+39|0]=r>>>24,r=u[1428]|u[1429]<<8|u[1430]<<16|u[1431]<<24,i=u[1424]|u[1425]<<8|u[1426]<<16|u[1427]<<24,o[t+24|0]=i,o[t+25|0]=i>>>8,o[t+26|0]=i>>>16,o[t+27|0]=i>>>24,o[t+28|0]=r,o[t+29|0]=r>>>8,o[t+30|0]=r>>>16,o[t+31|0]=r>>>24,r=u[1420]|u[1421]<<8|u[1422]<<16|u[1423]<<24,i=u[1416]|u[1417]<<8|u[1418]<<16|u[1419]<<24,o[t+16|0]=i,o[t+17|0]=i>>>8,o[t+18|0]=i>>>16,o[t+19|0]=i>>>24,o[t+20|0]=r,o[t+21|0]=r>>>8,o[t+22|0]=r>>>16,o[t+23|0]=r>>>24,r=u[1412]|u[1413]<<8|u[1414]<<16|u[1415]<<24,i=u[1408]|u[1409]<<8|u[1410]<<16|u[1411]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1404]|u[1405]<<8|u[1406]<<16|u[1407]<<24,i=u[1400]|u[1401]<<8|u[1402]<<16|u[1403]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+50|0]=0,f[e>>2]=-1,Vt(c,t,50),ee(t);I=A+32|0,f[e>>2]||(o[_+11|0]<0&&ee(f[_>>2]),f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0),_i[f[f[s>>2]+4>>2]](s)}e=f[n+16>>2],f[n+16>>2]=0,e&&_i[f[f[e>>2]+4>>2]](e),o[n+15|0]>=0||ee(f[n+4>>2])}else t=br(32),r=u[1590]|u[1591]<<8|u[1592]<<16|u[1593]<<24,o[t+16|0]=r,o[t+17|0]=r>>>8,o[t+18|0]=r>>>16,o[t+19|0]=r>>>24,r=u[1586]|u[1587]<<8|u[1588]<<16|u[1589]<<24,i=u[1582]|u[1583]<<8|u[1584]<<16|u[1585]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1578]|u[1579]<<8|u[1580]<<16|u[1581]<<24,i=u[1574]|u[1575]<<8|u[1576]<<16|u[1577]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+20|0]=0,f[e>>2]=-1,Vt(_,t,20),ee(t);I=n+80|0}function U(e,t){var r,i=0,n=0,a=0,s=0,c=0,l=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0;I=r=I-48|0,i=br(8),f[i+4>>2]=t,f[i>>2]=0,t=i+8|0,f[r+40>>2]=t,f[r+36>>2]=t,f[r+32>>2]=i;e:{t:{r:{i:{for(;;){if(p=f[4+(t=t-8|0)>>2],c=f[t>>2],f[r+36>>2]=t,c){f[r+24>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,i=1,t=f[e>>2],a=f[t+8>>2];n:if(!((0|(l=f[t+12>>2]))<=(0|(n=f[t+20>>2]))&(s=f[t+16>>2])>>>0>=a>>>0|(0|n)>(0|l))){if(a=u[s+f[t>>2]|0],n=(s=s+1|0)?n:n+1|0,f[t+16>>2]=s,f[t+20>>2]=n,Ne(r+16|0,a),a){if(n=f[e>>2],_=lr(r+16|0),s=f[n+20>>2],t=a,h=(A=f[n+16>>2])+a|0,l=f[n+12>>2],s=a>>>0>h>>>0?s+1|0:s,h>>>0>b[n+8>>2]&(0|l)<=(0|s)|(0|s)>(0|l))break n;ge(_,A+f[n>>2]|0,a),i=f[n+20>>2],i=(a=t+f[n+16>>2]|0)>>>0<t>>>0?i+1|0:i,f[n+16>>2]=a,f[n+20>>2]=i}p=br(24),f[(t=p)+4>>2]=0,f[t+8>>2]=0,f[(t=t+16|0)>>2]=0,f[t+4>>2]=0,f[p>>2]=p+4,f[p+12>>2]=t,I=a=I-32|0;o:if((0|(d=Ke(s=c+12|0,i=r+16|0)))!=(0|(m=c+16|0)))p&&(rr(p+12|0,f[p+16>>2]),ur(p,f[p+4>>2]),ee(p));else{f[a+16>>2]=i;a:{f:{if(t=f[s+4>>2])for(l=(c=(n=u[i+11|0])<<24>>24<0)?f[i>>2]:i,c=c?f[i+4>>2]:n,i=s+4|0;;){s:{c:{u:{l:{b:{A:if(A=(_=(n=(h=(n=u[t+27|0])<<24>>24<0)?f[t+20>>2]:n)>>>0<c>>>0)?n:c){if(k=t+16|0,!(k=Rt(l,h=h?f[k>>2]:k,A))){if(n>>>0>c>>>0)break A;break b}if((0|k)>=0)break b}else if(n>>>0<=c>>>0)break l;if(n=f[t>>2])break s;break f}if(n=Rt(h,l,A))break u}if(_)break c;break a}if((0|n)>=0)break a}if(i=t+4|0,!(n=f[t+4>>2]))break a;t=i}i=t,t=n}t=s+4|0}i=t}if((n=f[i>>2])?t=0:(l=(n=br(32))+16|0,c=f[a+16>>2],o[c+11|0]>=0?(h=f[c+4>>2],f[l>>2]=f[c>>2],f[l+4>>2]=h,f[l+8>>2]=f[c+8>>2]):Vt(l,f[c>>2],f[c+4>>2]),f[n+8>>2]=t,f[n>>2]=0,f[n+4>>2]=0,f[n+28>>2]=0,f[i>>2]=n,(t=f[f[s>>2]>>2])?(f[s>>2]=t,t=f[i>>2]):t=n,Te(f[s+4>>2],t),f[s+8>>2]=f[s+8>>2]+1,t=1),o[a+28|0]=t,f[a+24>>2]=n,i=f[a+24>>2],t=f[i+28>>2],f[i+28>>2]=p,!t)break o;rr(t+12|0,f[t+16>>2]),ur(t,f[t+4>>2]),ee(t)}I=a+32|0,i=(0|d)!=(0|m)}if(o[r+27|0]<0&&ee(f[r+16>>2]),i)break t}if(!p)break t;if(f[r+16>>2]=0,!gt(1,r+16|0,f[e>>2]))break t;if(t=0,v=f[r+16>>2])for(;;){h=0,I=A=I-32|0,f[A+24>>2]=0,f[A+16>>2]=0,f[A+20>>2]=0,i=f[e>>2],a=f[i+8>>2];n:{o:{a:if(!((0|(s=f[i+12>>2]))<=(0|(n=f[i+20>>2]))&(c=f[i+16>>2])>>>0>=a>>>0|(0|n)>(0|s))){if(s=u[c+f[i>>2]|0],a=i,i=n,i=(n=c+1|0)?i:i+1|0,f[a+16>>2]=n,f[a+20>>2]=i,Ne(A+16|0,s),s){if(a=f[e>>2],_=lr(A+16|0),n=f[a+20>>2],l=(d=f[a+16>>2])+(i=s)|0,c=f[a+12>>2],n=i>>>0>l>>>0?n+1|0:n,l>>>0>b[a+8>>2]&(0|c)<=(0|n)|(0|n)>(0|c))break a;ge(_,d+f[a>>2]|0,s),n=f[a+20>>2],n=(s=i+f[a+16>>2]|0)>>>0<i>>>0?n+1|0:n,f[a+16>>2]=s,f[a+20>>2]=n}if(f[A+12>>2]=0,gt(1,A+12|0,f[e>>2])&&(i=f[A+12>>2])){if(f[A+8>>2]=0,f[A>>2]=0,f[A+4>>2]=0,(0|i)<0)break o;if(n=br(i),f[A>>2]=n,a=i+n|0,f[A+8>>2]=a,_=Ye(n,0,i),f[A+4>>2]=a,a=f[e>>2],h=f[a+8>>2],c=f[a+12>>2],s=f[a+20>>2],h=(0|(s=(l=i+(d=f[a+16>>2])|0)>>>0<i>>>0?s+1|0:s))<=(0|c)&l>>>0<=h>>>0|(0|s)<(0|c)){if(ge(_,d+f[a>>2]|0,i),n=i,s=i+f[a+16>>2]|0,i=f[a+20>>2],f[a+16>>2]=s,f[a+20>>2]=n>>>0>s>>>0?i+1|0:i,I=c=I-48|0,(0|(n=Ke(p,A+16|0)))!=(p+4|0)){f:if(a=f[n+4>>2])for(;s=a,a=f[a>>2];);else{if(s=f[n+8>>2],f[s>>2]==(0|n))break f;for(i=n+8|0;i=(a=f[i>>2])+8|0,s=f[a+8>>2],(0|a)!=f[s>>2];);}f[p>>2]==(0|n)&&(f[p>>2]=s),f[p+8>>2]=f[p+8>>2]-1,s=f[p+4>>2],l=n;f:{s:{if(a=f[n>>2]){if(!(i=f[l+4>>2]))break s;for(;n=i,i=f[i>>2];);}if(!(a=f[n+4>>2])){a=0,_=1;break f}}f[a+8>>2]=f[n+8>>2],_=0}d=f[n+8>>2];f:if((0|n)!=(0|(i=f[d>>2])))f[d+4>>2]=a;else{if(f[d>>2]=a,(0|n)==(0|s)){i=0,s=a;break f}i=f[d+4>>2]}k=!u[n+12|0],(0|n)!=(0|l)&&(d=f[l+8>>2],f[n+8>>2]=d,f[d+(((0|l)!=f[f[l+8>>2]>>2])<<2)>>2]=n,d=f[l>>2],f[n>>2]=d,f[d+8>>2]=n,d=f[l+4>>2],f[n+4>>2]=d,d&&(f[d+8>>2]=n),o[n+12|0]=u[l+12|0],s=(0|s)==(0|l)?n:s);f:if(!(k|!s)){if(_)for(;;){a=u[i+12|0];s:{if(n=f[i+8>>2],f[n>>2]!=(0|i)){a||(o[i+12|0]=1,o[n+12|0]=0,a=f[n+4>>2],_=f[a>>2],f[n+4>>2]=_,_&&(f[_+8>>2]=n),f[a+8>>2]=f[n+8>>2],_=f[n+8>>2],f[(((0|n)!=f[_>>2])<<2)+_>>2]=a,f[a>>2]=n,f[n+8>>2]=a,n=i,s=(0|(i=f[i>>2]))==(0|s)?n:s,i=f[i+4>>2]);c:{u:{n=f[i>>2];l:{if(u[n+12|0]||!n){if(a=f[i+4>>2],!u[a+12|0]&&a)break l;if(o[i+12|0]=0,(0|s)!=(0|(i=f[i+8>>2]))){if(u[i+12|0])break s}else i=s;o[i+12|0]=1;break f}if(!(a=f[i+4>>2]))break u}if(!u[a+12|0]){n=i;break c}}o[n+12|0]=1,o[i+12|0]=0,a=f[n+4>>2],f[i>>2]=a,a&&(f[a+8>>2]=i),f[n+8>>2]=f[i+8>>2],a=f[i+8>>2],f[((f[a>>2]!=(0|i))<<2)+a>>2]=n,f[n+4>>2]=i,f[i+8>>2]=n,a=i}i=f[n+8>>2],o[n+12|0]=u[i+12|0],o[i+12|0]=1,o[a+12|0]=1,n=f[i+4>>2],a=f[n>>2],f[i+4>>2]=a,a&&(f[a+8>>2]=i),f[n+8>>2]=f[i+8>>2],a=f[i+8>>2],f[(((0|i)!=f[a>>2])<<2)+a>>2]=n,f[n>>2]=i,f[i+8>>2]=n;break f}a||(o[i+12|0]=1,o[n+12|0]=0,a=f[i+4>>2],f[n>>2]=a,a&&(f[a+8>>2]=n),f[i+8>>2]=f[n+8>>2],a=f[n+8>>2],f[(((0|n)!=f[a>>2])<<2)+a>>2]=i,f[i+4>>2]=n,f[n+8>>2]=i,s=(0|n)==(0|s)?i:s,i=f[n>>2]);c:if(!(a=f[i>>2])|u[a+12|0]){if(n=f[i+4>>2],u[n+12|0]||!n){if(o[i+12|0]=0,(0|(i=f[i+8>>2]))!=(0|s)&&u[i+12|0])break s;o[i+12|0]=1;break f}if(a){if(!u[a+12|0]){n=i;break c}n=f[i+4>>2]}o[n+12|0]=1,o[i+12|0]=0,a=f[n>>2],f[i+4>>2]=a,a&&(f[a+8>>2]=i),f[n+8>>2]=f[i+8>>2],a=f[i+8>>2],f[((f[a>>2]!=(0|i))<<2)+a>>2]=n,f[n>>2]=i,f[i+8>>2]=n,a=i}else n=i;i=f[n+8>>2],o[n+12|0]=u[i+12|0],o[i+12|0]=1,o[a+12|0]=1,n=f[i>>2],a=f[n+4>>2],f[i>>2]=a,a&&(f[a+8>>2]=i),f[n+8>>2]=f[i+8>>2],a=f[i+8>>2],f[(((0|i)!=f[a>>2])<<2)+a>>2]=n,f[n+4>>2]=i,f[i+8>>2]=n;break f}n=i,i=f[i+8>>2],i=f[(((0|n)==f[i>>2])<<2)+i>>2]}o[a+12|0]=1}(i=f[l+28>>2])&&(f[l+32>>2]=i,ee(i)),o[l+27|0]<0&&ee(f[l+16>>2]),ee(l)}f[c>>2]=0,f[c+4>>2]=0,f[c+8>>2]=0,lt(c,i=f[A+4>>2]-f[A>>2]|0),ge(f[c>>2],f[A>>2],i),o[A+27|0]>=0?(f[c+24>>2]=f[A+24>>2],i=f[A+20>>2],f[c+16>>2]=f[A+16>>2],f[c+20>>2]=i):Vt(c+16|0,f[A+16>>2],f[A+20>>2]),f[c+36>>2]=0,f[c+28>>2]=0,f[c+32>>2]=0,lt(c+28|0,f[c+4>>2]-f[c>>2]|0),i=f[c>>2],ge(f[c+28>>2],i,f[c+4>>2]-i|0),n=s=c+16|0;f:{s:{if(i=f[p+4>>2])for(_=(l=(a=u[n+11|0])<<24>>24<0)?f[n>>2]:n,l=l?f[n+4>>2]:a,n=p+4|0;;){c:{u:{l:{b:{A:{p:if(k=(m=(a=(d=(a=u[i+27|0])<<24>>24<0)?f[i+20>>2]:a)>>>0<l>>>0)?a:l){if(y=i+16|0,!(y=Rt(_,d=d?f[y>>2]:y,k))){if(a>>>0>l>>>0)break p;break A}if((0|y)>=0)break A}else if(a>>>0<=l>>>0)break b;if(a=f[i>>2])break c;break s}if(a=Rt(d,_,k))break l}if(m)break u;break f}if((0|a)>=0)break f}if(n=i+4|0,!(a=f[i+4>>2]))break f;i=n}n=i,i=a}i=p+4|0}n=i}if((a=f[n>>2])?i=0:(a=br(40),f[a+24>>2]=f[s+8>>2],l=f[s+4>>2],f[a+16>>2]=f[s>>2],f[a+20>>2]=l,f[s>>2]=0,f[s+4>>2]=0,f[s+8>>2]=0,f[a+36>>2]=0,f[(l=a+28|0)>>2]=0,f[l+4>>2]=0,lt(l,f[s+16>>2]-f[s+12>>2]|0),ge(_=f[l>>2],l=f[s+12>>2],f[s+16>>2]-l|0),f[a+8>>2]=i,f[a>>2]=0,f[a+4>>2]=0,f[n>>2]=a,(i=f[f[p>>2]>>2])?(f[p>>2]=i,i=f[n>>2]):i=a,Te(f[p+4>>2],i),f[p+8>>2]=f[p+8>>2]+1,i=1),o[c+44|0]=i,f[c+40>>2]=a,(i=f[c+28>>2])&&(f[c+32>>2]=i,ee(i)),o[c+27|0]<0&&ee(f[c+16>>2]),(i=f[c>>2])&&(f[c+4>>2]=i,ee(i)),I=c+48|0,!(n=f[A>>2]))break a}f[A+4>>2]=n,ee(n)}}o[A+27|0]<0&&ee(f[A+16>>2]),I=A+32|0;break n}ii(),E()}if(!h)break t;if((0|v)==(0|(t=t+1|0)))break}if(f[r+12>>2]=0,!gt(1,r+12|0,f[e>>2]))break t;if(t=f[e>>2],(a=(i=f[t+8>>2])-(n=f[t+16>>2])|0)>>>0<(s=f[r+12>>2])>>>0&(0|(t=f[t+12>>2]-(f[t+20>>2]+(i>>>0<n>>>0)|0)|0))<=0|(0|t)<0)break t;if(i=0,t=f[r+36>>2],s)for(;;){if((a=f[r+40>>2])>>>0>t>>>0)f[t+4>>2]=0,f[t>>2]=p,t=t+8|0,f[r+36>>2]=t;else{if((t=1+(l=(c=t-(n=f[r+32>>2])|0)>>3)|0)>>>0>=536870912)break i;if(h=(a=a-n|0)>>2,(t=a>>3>>>0<268435455?t>>>0>h>>>0?t:h:536870911)>>>0>=536870912)break r;_=l<<3,a=br(l=t<<3),f[4+(t=_+a|0)>>2]=0,f[t>>2]=p,t=t+8|0,(0|c)>0&&ge(a,n,c),f[r+40>>2]=a+l,f[r+36>>2]=t,f[r+32>>2]=a,n&&ee(n)}if((0|s)==(0|(i=i+1|0)))break}if(f[r+32>>2]==(0|t))break}e=1;break e}ii(),E()}Lt(1326),E()}t=f[r+32>>2],e=0}return t&&ee(t),I=r+48|0,e}function V(e,t,r,i){var n=0,s=0,c=0,d=0,h=0;e:{t:if(i){r:{i:switch(f[e+28>>2]-1|0){case 0:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=o[0|t],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+1|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(o[0|t])/_(127),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+1|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 1:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=u[0|t],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+1|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(u[0|t])/_(255),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+1|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 2:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=a[t>>1],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+2|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(a[t>>1])/_(32767),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+2|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 3:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=l[t>>1],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+2|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(l[t>>1])/_(65535),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+2|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 4:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=f[t>>2],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+4|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(f[t>>2])*_(4.656612873077393e-10),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+4|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 5:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=b[t>>2],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+4|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(b[t>>2])*_(2.3283064365386963e-10),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+4|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 6:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=+b[t>>2]+4294967296*+f[t+4>>2],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+8|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(+b[t>>2]+4294967296*+f[t+4>>2])*_(10842021724855044e-35),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+8|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 7:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=+b[t>>2]+4294967296*+b[t+4>>2],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+8|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(+b[t>>2]+4294967296*+b[t+4>>2])*_(5.421010862427522e-20),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+8|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 8:if(h=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,c=f[n+4>>2];;){if(t>>>0>=c>>>0)break e;if(A[(s<<2)+i>>2]=A[t>>2],t=t+4|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 9:if(h=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,c=f[n+4>>2];;){if(t>>>0>=c>>>0)break e;if(A[(s<<2)+i>>2]=p[t>>3],t=t+8|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 10:break i;default:break t}if(h=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(c=f[e>>2],t=(n=f[c>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0;;){if(b[c+4>>2]<=t>>>0)break e;if(A[(s<<2)+i>>2]=u[0|t]?_(1):_(0),t=t+1|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)<=(0|n))break t}Ye((n<<2)+i|0,0,r-n<<2)}return h}return 0}function F(e,t){t|=0;var r,i,n,a=0,s=0,c=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;I=r=I-96|0,n=f[4+(e|=0)>>2],s=f[n+32>>2],c=f[s+8>>2];e:if(!((0|(b=y=f[s+12>>2]))<=(0|(a=f[s+20>>2]))&(i=f[s+16>>2])>>>0>=c>>>0|(0|a)>(0|b)||(h=f[s>>2],g=u[h+i|0],b=(A=i+1|0)?a:a+1|0,f[s+16>>2]=A,f[s+20>>2]=b,c>>>0<=A>>>0&(0|b)>=(0|y)|(0|b)>(0|y)))){k=u[A+h|0],b=(A=i+2|0)>>>0<2?a+1|0:a,m=A,f[s+16>>2]=A,f[s+20>>2]=b;t:{if((0|(p=g<<24>>24))>=0){if(A=f[e+216>>2],g>>>0>=(f[e+220>>2]-A|0)/144>>>0)break e;if(v=A+d(g,144)|0,f[v>>2]<0)break t;break e}if(f[e+212>>2]>=0)break e;v=e+212|0}f[v>>2]=t;t:{r:{i:{if((65535&((A=l[n+36>>1])<<8|A>>>8))>>>0>=258){if(c>>>0<=m>>>0&(0|b)>=(0|y)|(0|b)>(0|y))break e;if(A=u[h+m|0],a=(b=i+3|0)>>>0<3?a+1|0:a,f[s+16>>2]=b,f[s+20>>2]=a,a=A>>>0>1)break e;if(a=a?0:A,!k)break i;if(a)break e;break r}if(k)break r;a=0}if((0|p)<0?b=e+184|0:(s=f[e+216>>2]+d(g,144)|0,o[s+100|0]=0,b=s+104|0),s=b,1!=(0|a))I=c=I+-64|0,k=f[f[e+4>>2]+44>>2],a=br(80),f[a>>2]=9424,f[a+4>>2]=0,f[a+76>>2]=0,f[a+72>>2]=s,f[a+68>>2]=k,f[a+8>>2]=9588,f[a+12>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a- -64>>2]=0,f[(b=m=a+56|0)>>2]=0,f[b+4>>2]=0,h=f[e+8>>2],f[c+40>>2]=0,f[c+44>>2]=0,f[c+32>>2]=0,f[c+36>>2]=0,f[(b=p=c+24|0)>>2]=0,f[b+4>>2]=0,f[c+16>>2]=0,f[c+20>>2]=0,f[c+8>>2]=0,f[c+12>>2]=0,f[c+56>>2]=0,f[c+48>>2]=0,f[c+52>>2]=0,f[c>>2]=9588,f[c+4>>2]=h,A=f[h>>2],b=f[h+4>>2],o[c+63|0]=0,Je(y=p,(b-A>>2>>>0)/3|0,p=c+63|0),b=f[c+4>>2],A=f[b+28>>2],b=f[b+24>>2],o[c+63|0]=0,Je(c+36|0,A-b>>2,p),f[c+20>>2]=a,f[c+16>>2]=k,f[c+12>>2]=s,f[c+8>>2]=h,Ve(a+8|0,c),Qe(m,f[c+48>>2],f[c+52>>2]),f[c>>2]=9588,(s=f[c+48>>2])&&(f[c+52>>2]=s,ee(s)),f[c>>2]=9404,(s=f[c+36>>2])&&ee(s),(s=f[c+24>>2])&&ee(s),I=c- -64|0;else{if(I=c=I-112|0,m=f[f[e+4>>2]+44>>2],a=br(120),f[a>>2]=8956,f[a+4>>2]=0,f[a+116>>2]=0,f[a+112>>2]=s,f[a+108>>2]=m,f[a+12>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a+56>>2]=0,f[a+60>>2]=0,f[a+8>>2]=9168,f[(b=a- -64|0)>>2]=0,f[b+4>>2]=0,f[a+72>>2]=0,f[a+76>>2]=0,f[a+80>>2]=0,f[a+84>>2]=0,f[a+88>>2]=0,f[a+104>>2]=0,f[a+96>>2]=0,f[a+100>>2]=0,k=f[e+8>>2],f[c+48>>2]=0,f[c+52>>2]=0,f[c+40>>2]=0,f[c+44>>2]=0,f[(b=p=c+32|0)>>2]=0,f[b+4>>2]=0,f[c+24>>2]=0,f[c+28>>2]=0,f[c+16>>2]=0,f[c+20>>2]=0,f[(b=c- -64|0)>>2]=0,f[b+4>>2]=0,f[c+72>>2]=0,f[c+76>>2]=0,f[c+80>>2]=0,f[c+84>>2]=0,f[c+88>>2]=0,f[c+104>>2]=0,f[c+56>>2]=0,f[c+60>>2]=0,f[c+8>>2]=9168,f[c+96>>2]=0,f[c+100>>2]=0,f[c+12>>2]=k,A=f[k>>2],b=f[k+4>>2],o[c+111|0]=0,Je(y=p,(b-A>>2>>>0)/3|0,p=c+111|0),b=f[c+12>>2],A=f[b+28>>2],b=f[b+24>>2],o[c+111|0]=0,Je(c+44|0,A-b>>2,p),f[c+28>>2]=a,f[c+24>>2]=m,f[c+20>>2]=s,f[c+16>>2]=k,Ve(s=a+8|0,b=c+8|0),(0|s)!=(0|b)){Qe(a+56|0,f[b+48>>2],f[b+52>>2]),Qe(a+68|0,f[b+60>>2],f[b- -64>>2]),Qe(a+80|0,f[b+72>>2],f[b+76>>2]),f[a+92>>2]=f[b+84>>2];i:if((m=(A=(p=f[b+92>>2])-(k=f[b+88>>2])|0)>>2)>>>0<=(v=f[a+104>>2])-(h=f[a+96>>2])>>2>>>0){if((s=(A=(b=(s=f[a+100>>2]-h|0)>>2)>>>0<m>>>0?s+k|0:p)-k|0)&&Ze(h,k,s),b>>>0<m>>>0){s=f[a+100>>2],(0|(b=p-A|0))>0&&(s=ge(s,A,b)+b|0),f[a+100>>2]=s;break i}f[a+100>>2]=s+h}else h&&(f[a+100>>2]=h,ee(h),f[a+104>>2]=0,f[a+96>>2]=0,f[a+100>>2]=0,v=0),(0|A)<0||(s=v>>1,(s=v>>2>>>0<536870911?s>>>0<m>>>0?m:s:1073741823)>>>0>=1073741824)?(ii(),E()):(s=br(b=s<<2),f[a+96>>2]=s,f[a+100>>2]=s,f[a+104>>2]=s+b,A&&(s=ge(s,k,A)+A|0),f[a+100>>2]=s)}else f[a+92>>2]=f[b+84>>2];f[c+8>>2]=9168,(s=f[c+96>>2])&&(f[c+100>>2]=s,ee(s)),(s=f[c+80>>2])&&(f[c+84>>2]=s,ee(s)),(s=f[c+68>>2])&&(f[c+72>>2]=s,ee(s)),(s=f[c+56>>2])&&(f[c+60>>2]=s,ee(s)),f[c+8>>2]=9404,(s=f[c+44>>2])&&ee(s),(s=f[c+32>>2])&&ee(s),I=c+112|0}if(!a)break e;break t}if((0|p)<0)break e;A=f[n+44>>2],s=f[e+216>>2],a=br(80),f[a+76>>2]=0,f[a+68>>2]=A,f[a+8>>2]=8652,f[a>>2]=9716,f[a+4>>2]=0,_=104+(b=s+d(g,144)|0)|0,f[a+72>>2]=_,f[a- -64>>2]=0,f[a+56>>2]=0,f[a+60>>2]=0,f[a+52>>2]=0,f[a+44>>2]=0,f[a+48>>2]=0,f[a+36>>2]=0,f[a+40>>2]=0,f[a+28>>2]=0,f[a+32>>2]=0,f[a+20>>2]=0,f[a+24>>2]=0,f[a+12>>2]=0,f[a+16>>2]=0,f[r+24>>2]=A,f[r+68>>2]=0,f[r+72>>2]=0,f[r+60>>2]=0,f[r+64>>2]=0,f[r+52>>2]=0,f[r+56>>2]=0,f[r+44>>2]=0,f[r+48>>2]=0,f[r+84>>2]=0,f[r+88>>2]=0,f[r+76>>2]=0,f[r+80>>2]=0,f[r+28>>2]=a,s=f[r+28>>2],f[r+8>>2]=f[r+24>>2],f[r+12>>2]=s,b=b+4|0,f[r+16>>2]=b,f[r+20>>2]=_,f[r+36>>2]=0,f[r+40>>2]=0,f[r+32>>2]=8652,s=f[r+20>>2],f[r>>2]=f[r+16>>2],f[r+4>>2]=s,ht(_=r+32|0,b,r),Ve(s=a+8|0,_),(0|s)!=(0|_)&&Qe(a+56|0,f[_+48>>2],f[_+52>>2]),ar(_)}a=Zt(br(64),a),p=f[e+4>>2],e=a;t:{r:{if((0|(a=t))>=0){if(b=p+8|0,!((0|(A=(t=f[p+12>>2])-(s=f[p+8>>2])>>2))>(0|a)))if(_=a+1|0,a>>>0>=A>>>0)je(b,_-A|0);else if(!(A>>>0<=_>>>0)){if((0|(s=s+(_<<2)|0))!=(0|t))for(;_=f[(t=t-4|0)>>2],f[t>>2]=0,_&&_i[f[f[_>>2]+4>>2]](_),(0|t)!=(0|s););f[p+12>>2]=s}if(s=f[b>>2]+(a<<2)|0,t=f[s>>2],f[s>>2]=e,t)break r;break t}if(t=e,!e)break t}_i[f[f[t>>2]+4>>2]](t)}_=(-1^a)>>>31|0}return I=r+96|0,0|_}function S(e){var t,r=0,i=0,n=0,o=0,a=0;if(I=t=I-16|0,f[t+12>>2]=e,e>>>0<=211)n=f[Ft(10384,10576,t+12|0)>>2];else{for(e>>>0>=4294967292&&(pi(),E()),n=d(o=(e>>>0)/210|0,210),f[t+8>>2]=e-n,a=Ft(10576,10768,t+8|0)-10576>>2;;){n=f[10576+(a<<2)>>2]+n|0,e=5;e:{for(;;){t:if(47!=(0|e)){if((r=f[10384+(e<<2)>>2])>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if(e=e+1|0,(0|d(r,i))!=(0|n))continue}else for(e=211;;){if((r=(n>>>0)/(e>>>0)|0)>>>0<e>>>0)break e;if((0|d(e,r))==(0|n))break t;if((r=e+10|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+12|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+16|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+18|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+22|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+28|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+30|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+36|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+40|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+42|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+46|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+52|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+58|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+60|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+66|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+70|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+72|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+78|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+82|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+88|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+96|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+100|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+102|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+106|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+108|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+112|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+120|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+126|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+130|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+136|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+138|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+142|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+148|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+150|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+156|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+162|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+166|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+168|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+172|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+178|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+180|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+186|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+190|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+192|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+196|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+198|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+208|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if(e=e+210|0,(0|d(r,i))==(0|n))break}break}a=(e=48==(0|(n=a+1|0)))?0:n,n=d(o=e+o|0,210);continue}break}f[t+12>>2]=n}return I=t+16|0,n}function W(e,t,r,i){var n=0,a=0,s=0,c=0,d=_(0),k=0;e:if(i){t:{r:switch(f[e+28>>2]-1|0){case 0:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(o[t+i|0]=u[0|a],(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+1|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 1:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((0|(n=o[0|a]))<0)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+1|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 2:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(((n=l[a>>1])-128&65535)>>>0<65280)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+2|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 3:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=l[a>>1])>>>0>127)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+2|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 4:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=f[a>>2])-128>>>0<4294967040)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+4|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 5:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=f[a>>2])>>>0>127)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+4|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 6:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(c=f[a>>2],-1==(0|(n=f[a+4>>2]-(c>>>0<128)|0))&c-128>>>0<4294967040|-1!=(0|n))break e;if(o[t+i|0]=c,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+8|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 7:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(!(n=f[a+4>>2])&(c=f[a>>2])>>>0>127|n)break e;if(o[t+i|0]=c,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+8|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 8:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(c=t+i|0,d=A[a>>2],n=_(h(d))<_(2147483648)?~~d:-2147483648,o[0|c]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+4|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 9:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(c=t+i|0,k=p[a>>3],n=h(k)<2147483648?~~k:-2147483648,o[0|c]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+8|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 10:break r;default:break e}r:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(o[t+i|0]=u[0|a],(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break r;if(!((a=a+1|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)<=(0|n))break e}Ye(i+n|0,0,r-n|0)}return s}function Z(e,t,r,i){var n=0,a=0,s=0,c=0,d=_(0),h=0;e:if(i){t:{r:switch(f[e+28>>2]-1|0){case 0:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((0|(n=o[0|a]))<0)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+1|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 1:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(o[t+i|0]=u[0|a],(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+1|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 2:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=l[a>>1])>>>0>255)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+2|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 3:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=l[a>>1])>>>0>255)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+2|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 4:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=f[a>>2])>>>0>255)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+4|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 5:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=f[a>>2])>>>0>255)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+4|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 6:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(!(n=f[a+4>>2])&(c=f[a>>2])>>>0>255|n)break e;if(o[t+i|0]=c,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+8|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 7:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(!(n=f[a+4>>2])&(c=f[a>>2])>>>0>255|n)break e;if(o[t+i|0]=c,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+8|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 8:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(c=t+i|0,n=(d=A[a>>2])<_(4294967296)&d>=_(0)?~~d>>>0:0,o[0|c]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+4|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 9:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(c=t+i|0,n=(h=p[a>>3])<4294967296&h>=0?~~h>>>0:0,o[0|c]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+8|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 10:break r;default:break e}r:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(o[t+i|0]=u[0|a],(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break r;if(!((a=a+1|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)<=(0|n))break e}Ye(i+n|0,0,r-n|0)}return s}function O(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0;e:{t:{r:{i:{n:if(f[e+92>>2]!=f[e+88>>2]){if((0|(r=f[e+52>>2]))==f[e+56>>2]){if((n=1+(i=(s=r-(a=f[e+48>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(r=s>>1,o=i>>>0<536870911?r>>>0<n>>>0?n:r:1073741823){if(o>>>0>=1073741824)break e;r=br(o<<2)}else r=0;f[(n=r+(i<<2)|0)>>2]=t,(0|s)>0&&ge(r,a,s),f[e+56>>2]=r+(o<<2),f[e+52>>2]=n+4,f[e+48>>2]=r,a&&ee(a)}else f[r>>2]=t,f[e+52>>2]=r+4;f[e+84>>2]=0,n=-1,r=-1;o:if(-1!=(0|t)){if(o=f[e+4>>2],-1!=(0|(r=((r=t+1|0)>>>0)%3|0?r:t-2|0))&&(n=f[f[o>>2]+(r<<2)>>2]),(t>>>0)%3|0)i=t-1|0;else if(r=-1,-1==(0|(i=t+2|0)))break o;r=f[f[o>>2]+(i<<2)>>2]}if(u=r>>>3&536870908,i=f[e+36>>2],(s=f[(a=i+(n>>>3&536870908)|0)>>2])&(o=1<<n)||(f[a>>2]=o|s,Re(o=e+8|0,n,i=-1!=(0|t)?((i=t+1|0)>>>0)%3|0?i:t-2|0:-1),i=f[e+36>>2]),(i=f[(o=i+u|0)>>2])&(n=1<<r)||(f[o>>2]=i|n,n=-1,-1!=(0|t)&&(n=t-1|0,(t>>>0)%3|0||(n=t+2|0)),Re(i=e+8|0,r,n)),n=-1,n=-1!=(0|t)?f[f[f[e+4>>2]>>2]+(t<<2)>>2]:n,o=f[e+36>>2]+(n>>>3&536870908)|0,(i=f[o>>2])&(r=1<<n)||(f[o>>2]=r|i,Re(e+8|0,n,t)),!((0|(i=f[e+84>>2]))>2))for(;;){if(n=d(i,12)+e|0,(0|(t=f[n+52>>2]))==f[n+48>>2]){if(3!=(0|(i=i+1|0)))continue;break n}if(t=f[(r=t-4|0)>>2],f[n+52>>2]=r,f[e+84>>2]=i,-1==(0|t))break n;n=f[e+24>>2];o:if(!(f[n+((r=(t>>>0)/3|0)>>>3&268435452)>>2]>>>r&1)){a:{for(;;){f[(r=((b=(t>>>0)/3|0)>>>3&268435452)+n|0)>>2]=f[r>>2]|1<<b,n=-1;f:{s:{c:{u:{l:{b:{A:{p:{if(n=-1!=(0|t)?f[f[f[e+4>>2]>>2]+(t<<2)>>2]:n,o=f[e+36>>2]+(n>>>3&536870908)|0,!((i=f[o>>2])&(r=1<<n))){if(f[o>>2]=r|i,s=f[(f[f[e+16>>2]+96>>2]+d(b,12)|0)+((t>>>0)%3<<2)>>2],l=f[f[e+20>>2]+4>>2],(0|(r=f[l+4>>2]))==f[l+8>>2]){if((i=1+(o=(u=r-(c=f[l>>2])|0)>>2)|0)>>>0>=1073741824)break p;if(r=u>>1,a=o>>>0<536870911?r>>>0<i>>>0?i:r:1073741823){if(a>>>0>=1073741824)break e;r=br(a<<2)}else r=0;f[(i=r+(o<<2)|0)>>2]=s,(0|u)>0&&ge(r,c,u),f[l+8>>2]=r+(a<<2),f[l+4>>2]=i+4,f[l>>2]=r,c&&ee(c)}else f[r>>2]=s,f[l+4>>2]=r+4;if(c=f[e+12>>2],(0|(r=f[c+4>>2]))==f[c+8>>2]){if((i=1+(o=(a=r-(u=f[c>>2])|0)>>2)|0)>>>0>=1073741824)break A;if(r=a>>1,s=o>>>0<536870911?r>>>0<i>>>0?i:r:1073741823){if(s>>>0>=1073741824)break e;r=br(s<<2)}else r=0;f[(i=r+(o<<2)|0)>>2]=t,(0|a)>0&&ge(r,u,a),f[c+8>>2]=r+(s<<2),f[c+4>>2]=i+4,f[c>>2]=r,u&&ee(u)}else f[r>>2]=t,f[c+4>>2]=r+4;r=f[e+12>>2],f[f[r+12>>2]+(n<<2)>>2]=f[r+24>>2],f[r+24>>2]=f[r+24>>2]+1}if(-1==(0|t))break a;a=f[e+4>>2],n=-1,-1!=(0|(r=((r=t+1|0)>>>0)%3|0?r:t-2|0))&&(n=f[f[a+12>>2]+(r<<2)>>2]);d:{if((0|d(b,3))==(0|t)){if(o=t+2|0,t=-1,-1==(0|o))break d}else o=t-1|0;t=f[f[a+12>>2]+(o<<2)>>2]}if(s=-1==(0|t),o=(t>>>0)/3|0,i=(n>>>0)/3|0,!(r=-1==(0|n))){if(r=r?-1:i,r=f[f[e+24>>2]+(r>>>3&536870908)>>2]&1<<r,s)break b;b=0!=(0|r);break l}if(b=1,!s)break l;break a}ii(),E()}ii(),E()}if(!r)break u;break a}if(r=s?-1:o,!(f[f[e+24>>2]+(r>>>3&536870908)>>2]>>>r&1)){if(o=0,r=f[f[a>>2]+(t<<2)>>2],f[f[e+36>>2]+(r>>>3&536870908)>>2]>>>r&1||(r=f[e+88>>2]+(r<<2)|0,i=f[r>>2],f[r>>2]=i+1,o=(0|i)<=0?2:1),f[e+84>>2]>=(0|o)&&b)break s;if(l=d(o,12)+e|0,(0|(r=f[l+52>>2]))==f[l+56>>2]){if((i=1+(s=(u=r-(c=f[l+48>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(r=u>>1,a=s>>>0<536870911?r>>>0<i>>>0?i:r:1073741823){if(a>>>0>=1073741824)break e;r=br(a<<2)}else r=0;f[(i=r+(s<<2)|0)>>2]=t,(0|u)>0&&ge(r,c,u),f[l+48>>2]=r,f[l+52>>2]=i+4,f[l+56>>2]=r+(a<<2),c&&ee(c)}else f[r>>2]=t,f[l+52>>2]=r+4;f[e+84>>2]<=(0|o)||(f[e+84>>2]=o)}if(b)break a;if(t=-1,-1==(0|n))break c}t=f[f[f[e+4>>2]>>2]+(n<<2)>>2]}if(o=0,f[f[e+36>>2]+(t>>>3&536870908)>>2]>>>t&1||(t=f[e+88>>2]+(t<<2)|0,r=f[t>>2],f[t>>2]=r+1,o=(0|r)<=0?2:1),f[e+84>>2]<(0|o))break f;t=n}n=f[e+24>>2];continue}break}if(c=d(o,12)+e|0,(0|(t=f[c+52>>2]))==f[c+56>>2]){if((r=1+(i=(a=t-(u=f[c+48>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(t=a>>1,s=i>>>0<536870911?t>>>0<r>>>0?r:t:1073741823){if(s>>>0>=1073741824)break e;t=br(s<<2)}else t=0;f[(r=t+(i<<2)|0)>>2]=n,(0|a)>0&&ge(t,u,a),f[c+48>>2]=t,f[c+52>>2]=r+4,f[c+56>>2]=t+(s<<2),u&&ee(u)}else f[t>>2]=n,f[c+52>>2]=t+4;if((0|(i=f[e+84>>2]))<=(0|o))break o;f[e+84>>2]=o,i=o;break o}i=f[e+84>>2]}if(!((0|i)<3))break}}return 1}ii(),E()}ii(),E()}ii(),E()}Lt(1326),E()}function j(e,t){var r,i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0;if(I=r=I-48|0,i=f[f[e+4>>2]+44>>2],n=f[e+8>>2],a=f[n>>2],n=f[n+4>>2],f[r+40>>2]=0,f[r+32>>2]=0,f[r+36>>2]=0,n=(n-a>>2>>>0)/3|0,u=f[i+96>>2],n>>>0>(a=(f[i+100>>2]-u|0)/12|0)>>>0?Ae(i+96|0,n-a|0,r+32|0):n>>>0>=a>>>0||(f[i+100>>2]=u+d(n,12)),f[e+216>>2]!=f[e+220>>2]){f[r+24>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,l=f[e+8>>2],t=f[l>>2],i=f[l+4>>2],f[r+8>>2]=0,f[r>>2]=0,f[r+4>>2]=0;e:{t:{r:{i:{n:{o:{a:{if(t=i-t|0){if((0|t)<0)break a;p=br(t),f[r>>2]=p,f[r+8>>2]=(t>>2<<2)+p,g=r,w=Ye(p,0,t)+t|0,f[g+4>>2]=w}if(i=f[l+24>>2],(f[l+28>>2]-i|0)<=0){n=0,t=0;break t}for(n=0,a=0,t=0;;){f:if(-1!=(0|(u=f[(_<<2)+i>>2]))){s:if(!(f[f[e+120>>2]+(_>>>3&536870908)>>2]>>>_&1)&&(k=f[e+216>>2],i=f[e+220>>2]-k|0))for(m=(i=(0|i)/144|0)>>>0>1?i:1,b=0,y=0!=(0|(i=(u>>>0)%3|0))|-1!=(0|(s=u+2|0)),v=i?u-1|0:s;;){if(c=u<<2,o=k+d(b,144)|0,i=f[c+f[f[o+68>>2]>>2]>>2],f[f[o+16>>2]+(i>>>3&536870908)>>2]>>>i&1&&(i=-1,y&&(i=-1,-1!=(0|(s=f[f[l+12>>2]+(v<<2)>>2]))&&(i=s-1|0,(s>>>0)%3|0||(i=s+2|0))),(0|u)!=(0|i)))for(o=f[o+32>>2],s=f[o+c>>2];;){if(A=0,-1==(0|i))break e;if(f[o+(i<<2)>>2]!=(0|s)){u=i;break s}c:{if((i>>>0)%3|0)c=i-1|0;else if(A=-1,-1==(0|(c=i+2|0)))break c;A=-1,-1!=(0|(i=f[f[l+12>>2]+(c<<2)>>2]))&&(A=i-1|0,(i>>>0)%3|0||(A=i+2|0))}if((0|u)==(0|(i=A)))break}if((0|m)==(0|(b=b+1|0)))break}if(s=(i=t-a|0)>>2,f[(u<<2)+p>>2]=s,t>>>0<h>>>0)f[t>>2]=u,t=t+4|0,f[r+20>>2]=t;else{if((t=s+1|0)>>>0>=1073741824)break o;if(o=(n=h-a|0)>>1,t=n>>2>>>0<536870911?t>>>0>o>>>0?t:o:1073741823){if(t>>>0>=1073741824)break n;n=br(t<<2)}else n=0;f[(s=n+(s<<2)|0)>>2]=u,h=(t<<2)+n|0,t=s+4|0,(0|i)>0&&ge(n,a,i),f[r+24>>2]=h,f[r+20>>2]=t,f[r+16>>2]=n,a&&(ee(a),l=f[e+8>>2]),a=n}if(-1!=(0|u)){if((u>>>0)%3|0)i=u-1|0;else if(-1==(0|(i=u+2|0)))break f;if(-1!=(0|(i=f[f[l+12>>2]+(i<<2)>>2]))&&-1!=(0|(i=i+((i>>>0)%3|0?-1:2)|0))&&(0|i)!=(0|(o=u)))for(;;){s=i;s:{c:if(c=f[e+216>>2],i=f[e+220>>2]-c|0){for(b=(i=(0|i)/144|0)>>>0>1?i:1,i=0;;){if(k=f[32+(c+d(i,144)|0)>>2],f[k+(m=s<<2)>>2]==f[k+(o<<2)>>2]){if((0|b)!=(0|(i=i+1|0)))continue;break c}break}if(o=(i=t-n|0)>>2,f[p+m>>2]=o,t>>>0<h>>>0){f[t>>2]=s,t=t+4|0,f[r+20>>2]=t,a=n;break s}if((t=o+1|0)>>>0>=1073741824)break i;if(c=(a=h-n|0)>>1,t=a>>2>>>0<536870911?t>>>0>c>>>0?t:c:1073741823){if(t>>>0>=1073741824)break r;a=br(t<<2)}else a=0;if(f[(o=a+(o<<2)|0)>>2]=s,h=(t<<2)+a|0,t=o+4|0,(0|i)>0&&ge(a,n,i),f[r+24>>2]=h,f[r+20>>2]=t,f[r+16>>2]=a,!n){n=a;break s}ee(n),l=f[e+8>>2],n=a;break s}f[(s<<2)+p>>2]=f[(o<<2)+p>>2]}if(-1==(0|s))break f;if((s>>>0)%3|0)i=s-1|0;else if(-1==(0|(i=s+2|0)))break f;if(-1==(0|(i=f[f[l+12>>2]+(i<<2)>>2])))break f;if(-1==(0|(i=i+((i>>>0)%3|0?-1:2)|0)))break f;if(o=s,(0|i)==(0|u))break}}}if(_=_+1|0,i=f[l+24>>2],!((0|_)<f[l+28>>2]-i>>2))break}break t}ii(),E()}ii(),E()}Lt(1326),E()}ii(),E()}Lt(1326),E()}if(_=f[e+4>>2],c=f[_+44>>2],(0|(b=f[c+100>>2]))!=f[c+96>>2])for(i=0;a=i+1|0,s=d(i,12),o=f[8+(u=s+p|0)>>2],l=f[u+4>>2],u=f[u>>2],(A=i)>>>0>=(b=(b-(i=f[c+96>>2])|0)/12|0)>>>0&&(f[r+40>>2]=0,f[r+32>>2]=0,f[r+36>>2]=0,Ae(c+96|0,a-b|0,r+32|0),_=f[e+4>>2],i=f[c+96>>2]),f[8+(i=i+s|0)>>2]=o,f[i+4>>2]=l,f[i>>2]=u,i=a,c=f[_+44>>2],i>>>0<((b=f[c+100>>2])-f[c+96>>2]|0)/12>>>0;);f[f[_+4>>2]+80>>2]=t-n>>2,A=1}i=A,p&&ee(p),n&&(f[r+20>>2]=n,ee(n))}else{if(l=f[e+4>>2],c=f[l+44>>2],(0|(n=f[c+100>>2]))!=f[c+96>>2])for(i=0;;){s=f[e+8>>2];e:{if(-1!=(0|(o=d(i,3))))if(b=-1,u=f[f[s>>2]+(o<<2)>>2],-1!=(0|(a=o+1|0))){if(b=f[f[s>>2]+(a<<2)>>2],a=-1,-1==(0|(o=o+2|0)))break e}else o=0;else b=f[4+(f[s>>2]+(o<<2)|0)>>2],u=-1,o=1;a=f[f[s>>2]+(o<<2)>>2]}if(s=a,a=i+1|0,(o=((o=n)-(n=f[c+96>>2])|0)/12|0)>>>0<=i>>>0&&(f[r+40>>2]=0,f[r+32>>2]=0,f[r+36>>2]=0,Ae(c+96|0,a-o|0,r+32|0),l=f[e+4>>2],n=f[c+96>>2]),i=d(i,12)+n|0,f[i+8>>2]=s,f[i+4>>2]=b,f[i>>2]=u,i=a,c=f[l+44>>2],!(i>>>0<((n=f[c+100>>2])-f[c+96>>2]|0)/12>>>0))break}f[f[l+4>>2]+80>>2]=t,i=1}return I=r+48|0,i}function P(e,t,r,i){var n=0,s=0,c=0,b=0,d=_(0),k=0,y=0;e:if(i){t:{r:switch(f[e+28>>2]-1|0){case 0:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(n=(s<<3)+i|0,c=o[0|t],f[n>>2]=c,f[n+4>>2]=c>>31,t=t+1|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 1:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(f[(n=(s<<3)+i|0)>>2]=u[0|t],f[n+4>>2]=0,t=t+1|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 2:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(n=(s<<3)+i|0,c=a[t>>1],f[n>>2]=c,f[n+4>>2]=c>>31,t=t+2|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 3:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(f[(n=(s<<3)+i|0)>>2]=l[t>>1],f[n+4>>2]=0,t=t+2|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 4:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(n=(s<<3)+i|0,c=f[t>>2],f[n>>2]=c,f[n+4>>2]=c>>31,t=t+4|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 5:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(f[(n=(s<<3)+i|0)>>2]=f[t>>2],f[n+4>>2]=0,t=t+4|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 6:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(c=f[t+4>>2],f[(n=(s<<3)+i|0)>>2]=f[t>>2],f[n+4>>2]=c,t=t+8|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 7:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(n=f[t>>2],(0|(c=f[t+4>>2]))<0)break e;if(f[(y=(s<<3)+i|0)>>2]=n,f[y+4>>2]=c,t=t+8|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 8:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,y=f[n+4>>2];;){if(t>>>0>=y>>>0)break e;if(n=(s<<3)+i|0,d=A[t>>2],_(h(d))<_(0x8000000000000000)?(c=_(h(d))>=_(1)?~~(d>_(0)?_(m(_(v(_(d*_(2.3283064365386963e-10)))),_(4294967296))):_(g(_(_(d-_(~~d>>>0>>>0))*_(2.3283064365386963e-10)))))>>>0:0,b=~~d>>>0):(c=-2147483648,b=0),f[n>>2]=b,f[n+4>>2]=c,t=t+4|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 9:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,y=f[n+4>>2];;){if(t>>>0>=y>>>0)break e;if(n=(s<<3)+i|0,k=p[t>>3],h(k)<0x8000000000000000?(c=h(k)>=1?~~(k>0?m(v(2.3283064365386963e-10*k),4294967295):g(2.3283064365386963e-10*(k-+(~~k>>>0>>>0))))>>>0:0,b=~~k>>>0):(c=-2147483648,b=0),f[n>>2]=b,f[n+4>>2]=c,t=t+8|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 10:break r;default:break e}if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(f[(n=(s<<3)+i|0)>>2]=u[0|t],f[n+4>>2]=0,t=t+1|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)<=(0|n))break e}Ye((n<<3)+i|0,0,r-n<<3)}}function Y(e,t,r){t|=0,r|=0;var i,n=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,R=0;I=i=I-96|0,a=f[16+(e|=0)>>2],o[i+92|0]=1,f[i+88>>2]=t,f[i+84>>2]=t,f[i+80>>2]=a,d=f[e+20>>2],n=f[d>>2];e:{t:{if((a=f[f[a+28>>2]+(t<<2)>>2])>>>0<f[d+4>>2]-n>>2>>>0){if(n=f[f[e+8>>2]+(f[n+(a<<2)>>2]<<2)>>2],a=f[e+4>>2],u[a+84|0]||(n=f[f[a+68>>2]+(n<<2)>>2]),f[i+72>>2]=0,f[i+76>>2]=0,f[(d=i- -64|0)>>2]=0,f[d+4>>2]=0,f[i+56>>2]=0,f[i+60>>2]=0,P(a,n,o[a+24|0],i+56|0),n=((a=t+1|0)>>>0)%3|0,t>>>0<=a>>>0)for(d=n?a:t-2|0,c=((t>>>0)%3|0?-1:2)+t|0;;){if(n=d,a=c,f[e+28>>2]&&(n=((a=t+1|0)>>>0)%3|0?a:t-2|0,a=t-1|0,(t>>>0)%3|0||(a=t+2|0)),A=f[e+20>>2],t=f[A>>2],(n=f[f[f[e+16>>2]+28>>2]+(n<<2)>>2])>>>0>=f[A+4>>2]-t>>2>>>0)break t;if(n=f[f[e+8>>2]+(f[t+(n<<2)>>2]<<2)>>2],t=f[e+4>>2],u[t+84|0]||(n=f[f[t+68>>2]+(n<<2)>>2]),f[i+48>>2]=0,f[i+52>>2]=0,f[i+40>>2]=0,f[i+44>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,P(t,n,o[t+24|0],i+32|0),n=f[e+20>>2],t=f[n>>2],(a=f[f[f[e+16>>2]+28>>2]+(a<<2)>>2])>>>0>=f[n+4>>2]-t>>2>>>0)break e;n=f[f[e+8>>2]+(f[t+(a<<2)>>2]<<2)>>2],t=f[e+4>>2],u[t+84|0]||(n=f[f[t+68>>2]+(n<<2)>>2]),f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,P(t,n,o[t+24|0],i+8|0),n=(a=f[i+8>>2])-(t=f[i+56>>2])|0,A=f[i+60>>2],_=f[i+12>>2]-(A+(t>>>0>a>>>0)|0)|0,v=(l=f[i+40>>2])-(a=f[i+64>>2])|0,g=f[i+68>>2],w=Jt(n,_,v,l=f[i+44>>2]-(g+(a>>>0>l>>>0)|0)|0),s=s-(C+(b>>>0<w>>>0)|0)|0,B=T=b-w|0,a=Jt(w=(b=f[i+16>>2])-a|0,g=f[i+20>>2]-((a>>>0>b>>>0)+g|0)|0,T=(b=f[i+32>>2])-t|0,A=f[i+36>>2]-((t>>>0>b>>>0)+A|0)|0),t=C+s|0,s=t=a>>>0>(b=B+a|0)>>>0?t+1|0:t,B=h,k=_,_=(t=f[i+48>>2])-(a=f[i+72>>2])|0,h=f[i+76>>2],k=Jt(n,k,_,R=f[i+52>>2]-(h+(t>>>0<a>>>0)|0)|0),t=C+p|0,t=(n=B+k|0)>>>0<k>>>0?t+1|0:t,h=n-(p=Jt(k=(p=f[i+24>>2])-a|0,a=f[i+28>>2]-((a>>>0>p>>>0)+h|0)|0,T,A))|0,p=t-(C+(n>>>0<p>>>0)|0)|0,n=m-(t=Jt(w,g,_,R))|0,t=y-(C+(t>>>0>m>>>0)|0)|0,y=Jt(k,a,v,l),t=C+t|0,y=t=(m=y+n|0)>>>0<y>>>0?t+1|0:t,t=f[i+88>>2],a=f[i+80>>2];r:if(u[i+92|0]){i:{if(-1==(0|t)||-1==(0|(t=((n=t+1|0)>>>0)%3|0?n:t-2|0))|f[f[a>>2]+(t>>>3&536870908)>>2]>>>t&1||-1==(0|(t=f[f[f[a+64>>2]+12>>2]+(t<<2)>>2])))f[i+88>>2]=-1;else if(t=((n=t+1|0)>>>0)%3|0?n:t-2|0,f[i+88>>2]=t,-1!=(0|t))break i;n=-1;n:if(-1!=(0|(t=f[i+84>>2]))){if((t>>>0)%3|0)t=t-1|0;else if(n=-1,-1==(0|(t=t+2|0)))break n;n=-1,f[f[a>>2]+(t>>>3&536870908)>>2]>>>t&1||(n=-1,-1!=(0|(t=f[f[f[a+64>>2]+12>>2]+(t<<2)>>2]))&&(n=t-1|0,(t>>>0)%3|0||(n=t+2|0)))}o[i+92|0]=0,f[i+88>>2]=n;break r}if((0|t)!=f[i+84>>2])break r;f[i+88>>2]=-1}else{n=-1;i:if(-1!=(0|t)){if((t>>>0)%3|0)t=t-1|0;else if(n=-1,-1==(0|(t=t+2|0)))break i;n=-1,f[f[a>>2]+(t>>>3&536870908)>>2]>>>t&1||(n=-1,-1!=(0|(t=f[f[f[a+64>>2]+12>>2]+(t<<2)>>2]))&&(n=t-1|0,(t>>>0)%3|0||(n=t+2|0)))}f[i+88>>2]=n}if(-1==(0|(t=f[i+88>>2])))break}n=(t=y>>31)+m|0,a=t,t=t+y|0,A=n^a,c=a^(n>>>0<a>>>0?t+1|0:t),_=-1,n=2147483647,l=t=p>>31,a=t+h|0,t=t+p|0,t=a>>>0<l>>>0?t+1|0:t,a^=l,l=t^=l,v=-1^a,t^=2147483647,d=s;r:{if(f[e+28>>2]){if(!((0|t)==(0|c)&A>>>0>v>>>0|t>>>0<c>>>0)&&(t=c+l|0,a=t=(e=a+A|0)>>>0<a>>>0?t+1|0:t,c=s,s=(t=s>>31)+b|0,l=c,c=t,t=l+t|0,t=s>>>0<c>>>0?t+1|0:t,s^=c,!((0|(c=2147483647^(t^=c)))==(0|a)&(-1^s)>>>0<e>>>0|a>>>0>c>>>0)&&(t=t+a|0,_=e=e+s|0,n=t=e>>>0<s>>>0?t+1|0:t,!t&e>>>0<536870913)))break r;t=n>>>29|0,e=(536870911&n)<<3|_>>>29}else{if((0|t)==(0|c)&A>>>0>v>>>0|t>>>0<c>>>0)break r;if(t=c+l|0,t=(e=a+A|0)>>>0<a>>>0?t+1|0:t,a=e,e=t,n=(t=s>>31)+b|0,c=s,s=t,t=c+t|0,c=n^s,s^=t=n>>>0<s>>>0?t+1|0:t,t=n=c+a|0,(s=!(0&(e=(0|(s^=2147483647))==(0|e)&(-1^c)>>>0<a>>>0|e>>>0>s>>>0)))&(0|(e=e?-1:t))<=536870912|(0|e)<536870912)break r;t=0,e=e>>>29|0}b=Yt(b,d,e,t),h=Yt(h,p,e,t),m=Yt(m,y,e,t)}return f[r+8>>2]=b,f[r+4>>2]=h,f[r>>2]=m,void(I=i+96|0)}ci(),E()}ci(),E()}ci(),E()}function z(e,t,r,i){var n=0,s=0,c=0,b=0,d=0,k=_(0),m=0;e:{t:if(i){r:{i:switch(f[e+28>>2]-1|0){case 0:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=o[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 1:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 2:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=l[t>>1],t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 3:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((0|(n=a[t>>1]))<0)break t;if(a[(c<<1)+i>>1]=n,t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if(b=1,(0|r)>(0|n))break r;break t;case 4:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((n=f[t>>2])-32768>>>0<4294901760)break e;if(a[(c<<1)+i>>1]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 5:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((n=f[t>>2])>>>0>32767)break e;if(a[(c<<1)+i>>1]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 6:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=f[t>>2],-1==(0|(n=f[t+4>>2]-(d>>>0<32768)|0))&d-32768>>>0<4294901760|-1!=(0|n))break e;if(a[(c<<1)+i>>1]=d,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 7:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(!(n=f[t+4>>2])&(d=f[t>>2])>>>0>32767|n)break e;if(a[(c<<1)+i>>1]=d,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 8:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<1)+i|0,k=A[t>>2],n=_(h(k))<_(2147483648)?~~k:-2147483648,a[d>>1]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 9:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<1)+i|0,m=p[t>>3],n=h(m)<2147483648?~~m:-2147483648,a[d>>1]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 10:break i;default:break t}if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)<=(0|n))break t}Ye((n<<1)+i|0,0,r-n<<1)}return b}return 0}function J(e,t,r,i){var n=0,s=0,c=0,b=0,d=0,h=_(0),k=0;e:{t:if(i){r:{i:switch(f[e+28>>2]-1|0){case 0:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((0|(n=o[0|t]))<0)break t;if(a[(c<<1)+i>>1]=255&n,t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if(b=1,(0|r)>(0|n))break r;break t;case 1:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 2:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((0|(n=a[t>>1]))<0)break t;if(a[(c<<1)+i>>1]=n,t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if(b=1,(0|r)>(0|n))break r;break t;case 3:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=l[t>>1],t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 4:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((n=f[t>>2])>>>0>65535)break e;if(a[(c<<1)+i>>1]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 5:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((n=f[t>>2])>>>0>65535)break e;if(a[(c<<1)+i>>1]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 6:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(!(n=f[t+4>>2])&(d=f[t>>2])>>>0>65535|n)break e;if(a[(c<<1)+i>>1]=d,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 7:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(!(n=f[t+4>>2])&(d=f[t>>2])>>>0>65535|n)break e;if(a[(c<<1)+i>>1]=d,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 8:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<1)+i|0,n=(h=A[t>>2])<_(4294967296)&h>=_(0)?~~h>>>0:0,a[d>>1]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 9:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<1)+i|0,n=(k=p[t>>3])<4294967296&k>=0?~~k>>>0:0,a[d>>1]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 10:break i;default:break t}if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)<=(0|n))break t}Ye((n<<1)+i|0,0,r-n<<1)}return b}return 0}function Q(e,t,r){var i,n=0,s=0,c=0,A=0,p=0;I=i=I-48|0,n=l[5069]|l[5070]<<16,s=l[5067]|l[5068]<<16,a[i+38>>1]=s,a[i+40>>1]=s>>>16,a[i+42>>1]=n,a[i+44>>1]=n>>>16,n=f[2533],f[i+32>>2]=f[2532],f[i+36>>2]=n,n=f[2531],f[i+24>>2]=f[2530],f[i+28>>2]=n,n=f[2529],f[i+16>>2]=f[2528],f[i+20>>2]=n,s=f[t+12>>2],n=f[t+20>>2],n=(A=(c=f[t+16>>2])+5|0)>>>0<5?n+1|0:n;e:{t:if(A>>>0>b[t+8>>2]&(0|n)>=(0|s)|(0|n)>(0|s)){if((t=Nt(i+16|0))>>>0>=4294967280)break e;r:{if(t>>>0>=11)r=br(n=t+16&-16),f[i+8>>2]=-2147483648|n,f[i>>2]=r,f[i+4>>2]=t;else if(o[i+11|0]=t,r=i,!t)break r;ge(r,i+16|0,t)}if(o[t+r|0]=0,f[e>>2]=-2,e=e+4|0,o[i+11|0]>=0){t=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=t,f[e+8>>2]=f[i+8>>2];break t}Vt(t=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(n=c+f[t>>2]|0,s=u[0|n]|u[n+1|0]<<8|u[n+2|0]<<16|u[n+3|0]<<24,o[0|r]=s,o[r+1|0]=s>>>8,o[r+2|0]=s>>>16,o[r+3|0]=s>>>24,o[r+4|0]=u[n+4|0],n=f[t+20>>2],n=(s=f[t+16>>2]+5|0)>>>0<5?n+1|0:n,f[t+16>>2]=s,f[t+20>>2]=n,Rt(r,1394,5))t=br(32),o[t+16|0]=u[1638],r=u[1634]|u[1635]<<8|u[1636]<<16|u[1637]<<24,n=u[1630]|u[1631]<<8|u[1632]<<16|u[1633]<<24,o[t+8|0]=n,o[t+9|0]=n>>>8,o[t+10|0]=n>>>16,o[t+11|0]=n>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1626]|u[1627]<<8|u[1628]<<16|u[1629]<<24,n=u[1622]|u[1623]<<8|u[1624]<<16|u[1625]<<24,o[0|t]=n,o[t+1|0]=n>>>8,o[t+2|0]=n>>>16,o[t+3|0]=n>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+17|0]=0,f[e>>2]=-1,Vt(e+4|0,t,17),ee(t);else if((0|(c=f[t+12>>2]))<=(0|n)&b[t+8>>2]<=s>>>0|(0|n)>(0|c)){if((t=Nt(i+16|0))>>>0>=4294967280)break e;r:{if(t>>>0>=11)r=br(n=t+16&-16),f[i+8>>2]=-2147483648|n,f[i>>2]=r,f[i+4>>2]=t;else if(o[i+11|0]=t,r=i,!t)break r;ge(r,i+16|0,t)}if(o[t+r|0]=0,f[e>>2]=-2,e=e+4|0,o[i+11|0]>=0){t=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=t,f[e+8>>2]=f[i+8>>2];break t}Vt(t=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(o[r+5|0]=u[s+f[t>>2]|0],n=f[t+20>>2],n=(s=f[t+16>>2]+1|0)?n:n+1|0,f[t+16>>2]=s,f[t+20>>2]=n,(0|(c=f[t+12>>2]))<=(0|n)&b[t+8>>2]<=s>>>0|(0|n)>(0|c)){if((t=Nt(i+16|0))>>>0>=4294967280)break e;r:{if(t>>>0>=11)r=br(n=t+16&-16),f[i+8>>2]=-2147483648|n,f[i>>2]=r,f[i+4>>2]=t;else if(o[i+11|0]=t,r=i,!t)break r;ge(r,i+16|0,t)}if(o[t+r|0]=0,f[e>>2]=-2,e=e+4|0,o[i+11|0]>=0){t=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=t,f[e+8>>2]=f[i+8>>2];break t}Vt(t=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(o[r+6|0]=u[s+f[t>>2]|0],n=f[t+20>>2],n=(s=f[t+16>>2]+1|0)?n:n+1|0,f[t+16>>2]=s,f[t+20>>2]=n,(0|(c=f[t+12>>2]))<=(0|n)&b[t+8>>2]<=s>>>0|(0|n)>(0|c)){if((t=Nt(i+16|0))>>>0>=4294967280)break e;r:{if(t>>>0>=11)r=br(n=t+16&-16),f[i+8>>2]=-2147483648|n,f[i>>2]=r,f[i+4>>2]=t;else if(o[i+11|0]=t,r=i,!t)break r;ge(r,i+16|0,t)}if(o[t+r|0]=0,f[e>>2]=-2,e=e+4|0,o[i+11|0]>=0){t=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=t,f[e+8>>2]=f[i+8>>2];break t}Vt(t=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(o[r+7|0]=u[s+f[t>>2]|0],n=f[t+20>>2],n=(s=f[t+16>>2]+1|0)?n:n+1|0,f[t+16>>2]=s,f[t+20>>2]=n,(0|(c=f[t+12>>2]))<=(0|n)&b[t+8>>2]<=s>>>0|(0|n)>(0|c)){if(t=Pt(i,i+16|0),f[e>>2]=-2,e=e+4|0,o[t+11|0]>=0){t=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=t,f[e+8>>2]=f[i+8>>2];break t}if(Vt(e,f[t>>2],f[t+4>>2]),o[t+11|0]>=0)break t;ee(f[t>>2])}else if(o[r+8|0]=u[s+f[t>>2]|0],s=n=f[t+20>>2],n=(c=(p=f[t+16>>2])+1|0)?n:n+1|0,f[t+16>>2]=c,f[t+20>>2]=n,A=f[t+12>>2],n=s,n=(s=p+3|0)>>>0<3?n+1|0:n,s>>>0>b[t+8>>2]&(0|n)>=(0|A)|(0|n)>(0|A)){if(t=Pt(i,i+16|0),f[e>>2]=-2,e=e+4|0,o[t+11|0]>=0){t=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=t,f[e+8>>2]=f[i+8>>2];break t}if(Vt(e,f[t>>2],f[t+4>>2]),o[t+11|0]>=0)break t;ee(f[t>>2])}else s=r,r=c+f[t>>2]|0,a[s+10>>1]=u[0|r]|u[r+1|0]<<8,n=f[t+20>>2],n=(r=f[t+16>>2]+2|0)>>>0<2?n+1|0:n,f[t+16>>2]=r,f[t+20>>2]=n,f[e+8>>2]=0,f[e+12>>2]=0,f[e>>2]=0,f[e+4>>2]=0;return void(I=i+48|0)}oi(),E()}function L(e,t,r,i){var n=0,s=0,c=0,b=0,d=0,k=_(0),m=0;e:{t:if(i){r:{i:switch(f[e+28>>2]-1|0){case 0:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=o[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 1:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 2:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=a[t>>1],t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 3:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=l[t>>1],t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 4:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=f[t>>2],t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 5:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((0|(n=f[t>>2]))<0)break t;if(f[(c<<2)+i>>2]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if(b=1,(0|r)>(0|n))break r;break t;case 6:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(n=f[t>>2],-1!=(f[t+4>>2]-(n>>>0<2147483648)|0))break e;if(f[(c<<2)+i>>2]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 7:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(!(n=f[t+4>>2])&(d=f[t>>2])>>>0>2147483647|n)break e;if(f[(c<<2)+i>>2]=d,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 8:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<2)+i|0,k=A[t>>2],n=_(h(k))<_(2147483648)?~~k:-2147483648,f[d>>2]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 9:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<2)+i|0,m=p[t>>3],n=h(m)<2147483648?~~m:-2147483648,f[d>>2]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 10:break i;default:break t}if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)<=(0|n))break t}Ye((n<<2)+i|0,0,r-n<<2)}return b}return 0}function X(e,t,r,i){var n=0,s=0,c=0,b=0,d=0,h=_(0),k=0;e:{t:if(i){r:{i:switch(f[e+28>>2]-1|0){case 0:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=o[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 1:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 2:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=a[t>>1],t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 3:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=l[t>>1],t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 4:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=f[t>>2],t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 5:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=f[t>>2],t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 6:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(n=f[t>>2],f[t+4>>2])break e;if(f[(c<<2)+i>>2]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 7:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(n=f[t>>2],f[t+4>>2])break e;if(f[(c<<2)+i>>2]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 8:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<2)+i|0,n=(h=A[t>>2])<_(4294967296)&h>=_(0)?~~h>>>0:0,f[d>>2]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 9:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<2)+i|0,n=(k=p[t>>3])<4294967296&k>=0?~~k>>>0:0,f[d>>2]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 10:break i;default:break t}if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)<=(0|n))break t}Ye((n<<2)+i|0,0,r-n<<2)}return b}return 0}function H(e,t,r){var i,n=0,o=0,a=0,s=0,c=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;I=i=I+-64|0,f[i+48>>2]=0,f[i+40>>2]=0,f[i+44>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[i>>2]=0,f[i+4>>2]=0,s=t;e:{t:if(l[t+38>>1]&&Et(1,i+12|0,s)){if(p=f[i+12>>2],t=f[i>>2],p>>>0>(n=f[i+4>>2]-t>>2)>>>0?(st(i,p-n|0),p=f[i+12>>2]):n>>>0<=p>>>0||(f[i+4>>2]=t+(p<<2)),o=1,!p)break e;for(m=f[s+8>>2],y=f[s+12>>2],k=f[i>>2];;){if(o=0,(0|y)<=(0|(n=f[s+20>>2]))&m>>>0<=(b=f[s+16>>2])>>>0|(0|n)>(0|y))break e;_=f[s>>2],v=u[_+b|0],n=(t=b+1|0)?n:n+1|0,o=t,f[s+16>>2]=t,f[s+20>>2]=n,t=v>>>2|0,c=0;r:{i:{n:{o:switch(0|(h=3&v)){case 3:break o;case 0:break i;default:break n}if(o=0,(t=t+a|0)>>>0>=p>>>0)break e;Ye(k+(a<<2)|0,0,4+(252&v)|0),a=t;break r}for(;;){if((0|n)>=(0|y)&o>>>0>=m>>>0|(0|n)>(0|y))break t;if(b=u[o+_|0],n=(o=o+1|0)?n:n+1|0,f[s+16>>2]=o,f[s+20>>2]=n,t|=b<<(c<<3|6),(0|h)==(0|(c=c+1|0)))break}}f[k+(a<<2)>>2]=t}if(!((a=a+1|0)>>>0<(p=f[i+12>>2])>>>0))break}if(m=i+16|0,_=f[i>>2],o=f[i+16>>2],(t=(n=f[i+20>>2]-o|0)>>2)>>>0<=1048575?st(m,1048576-t|0):4194304!=(0|n)&&(f[i+20>>2]=o+4194304),a=f[(n=i+28|0)>>2],(t=f[i+32>>2]-a>>3)>>>0<p>>>0)ct(n,p-t|0),a=f[n>>2];else if(t>>>0>p>>>0&&(f[i+32>>2]=(p<<3)+a),!p)break t;for(c=0,n=0;;){if(b=f[(h=(c<<2)+_|0)>>2],t=n,f[4+(o=(c<<3)+a|0)>>2]=n,f[o>>2]=b,(n=(k=f[h>>2])+n|0)>>>0>1048576)break t;if(!(t>>>0>=n>>>0)){if(h=f[m>>2],b=0,o=7&k)for(;f[h+(t<<2)>>2]=c,t=t+1|0,(0|o)!=(0|(b=b+1|0)););if(!(k-1>>>0<=6))for(;f[(o=h+(t<<2)|0)>>2]=c,f[o+28>>2]=c,f[o+24>>2]=c,f[o+20>>2]=c,f[o+16>>2]=c,f[o+12>>2]=c,f[o+8>>2]=c,f[o+4>>2]=c,(0|n)!=(0|(t=t+8|0)););}if((0|p)==(0|(c=c+1|0)))break}A=1048576==(0|n)}o=A}e:if(!(!o|(f[i+12>>2]?0:e))&&dt(1,i+56|0,s)&&(b=(n=f[s+8>>2])-(t=f[s+16>>2])|0,a=f[i+60>>2],o=f[s+20>>2],!((0|a)==(0|(n=f[s+12>>2]-(o+(t>>>0>n>>>0)|0)|0))&b>>>0<(A=f[i+56>>2])>>>0|n>>>0<a>>>0||(n=o+a|0,n=(b=t+A|0)>>>0<t>>>0?n+1|0:n,f[s+16>>2]=b,f[s+20>>2]=n,(0|A)<=0)))){_=t+f[s>>2]|0,f[i+40>>2]=_;t:if((n=u[0|(o=_+(t=A-1|0)|0)])>>>0<=63)f[i+44>>2]=t,n=63&u[0|o];else{r:switch((n>>>6|0)-1|0){case 0:if(A>>>0<2)break e;t=A-2|0,f[i+44>>2]=t,n=u[1+(n=(A+_|0)-2|0)|0]<<8&16128|u[0|n];break t;case 1:if(A>>>0<3)break e;t=A-3|0,f[i+44>>2]=t,n=u[2+(n=(A+_|0)-3|0)|0]<<16&4128768|u[n+1|0]<<8|u[0|n];break t}t=A-4|0,f[i+44>>2]=t,n=u[2+(n=(A+_|0)-4|0)|0]<<16|u[n+3|0]<<24&1056964608|u[n+1|0]<<8|u[0|n]}if(a=n+4194304|0,f[i+48>>2]=a,!(a>>>0>1073741823))if(e)for(h=f[i+28>>2],n=0,b=f[i+16>>2];;){t:if(!(a>>>0>4194303))for(;;){if((0|t)<=0)break t;if(t=t-1|0,f[i+44>>2]=t,a=u[t+_|0]|a<<8,f[i+48>>2]=a,!(a>>>0<4194304))break}if(A=f[b+((o=1048575&a)<<2)>>2],a=(d(f[(s=h+(A<<3)|0)>>2],a>>>20|0)+o|0)-f[s+4>>2]|0,f[i+48>>2]=a,f[(n<<2)+r>>2]=A,g=1,(0|(n=n+1|0))==(0|e))break}else g=1}return(e=f[i+28>>2])&&(f[i+32>>2]=e,ee(e)),(e=f[i+16>>2])&&(f[i+20>>2]=e,ee(e)),(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),I=i- -64|0,g}function q(e,t){var r=0,i=0,n=0,a=0,s=0,c=0;if((a=((r=f[e+4>>2])-(i=f[e>>2])|0)/144|0)>>>0<t>>>0)if(i=e,(s=t-a|0)>>>0<=((r=f[e+8>>2])-(e=f[e+4>>2])|0)/144>>>0){if(s){for(t=d(s,144)+e|0;f[e>>2]=-1,kt(e+4|0),f[e+104>>2]=0,f[e+108>>2]=0,o[e+100|0]=1,f[e+112>>2]=0,f[e+116>>2]=0,f[e+120>>2]=0,f[e+124>>2]=0,f[e+128>>2]=0,f[e+132>>2]=0,f[e+136>>2]=0,f[e+140>>2]=0,(0|t)!=(0|(e=e+144|0)););e=t}f[i+4>>2]=e}else{e:{t:{r:{if((c=(a=((t=e)-(e=f[i>>2])|0)/144|0)+s|0)>>>0<29826162){if(e=(t=(r-e|0)/144|0)<<1,n=t>>>0<14913080?e>>>0<c>>>0?c:e:29826161){if(n>>>0>=29826162)break r;r=br(d(n,144))}else r=0;for(c=(t=r+d(a,144)|0)+d(s,144)|0,e=t;f[e>>2]=-1,kt(e+4|0),f[e+104>>2]=0,f[e+108>>2]=0,o[e+100|0]=1,f[e+112>>2]=0,f[e+116>>2]=0,f[e+120>>2]=0,f[e+124>>2]=0,f[e+128>>2]=0,f[e+132>>2]=0,f[e+136>>2]=0,f[e+140>>2]=0,(0|c)!=(0|(e=e+144|0)););if(a=r+d(n,144)|0,(0|(e=f[i+4>>2]))==(0|(n=f[i>>2])))break t;for(;e=e-144|0,f[(t=t-144|0)>>2]=f[e>>2],f[t+4>>2]=f[e+4>>2],f[t+8>>2]=f[e+8>>2],f[t+12>>2]=f[e+12>>2],f[e+12>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[t+16>>2]=f[e+16>>2],f[t+20>>2]=f[e+20>>2],f[t+24>>2]=f[e+24>>2],f[e+24>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,r=u[e+28|0],f[t+40>>2]=0,f[t+32>>2]=0,f[t+36>>2]=0,o[t+28|0]=r,f[t+32>>2]=f[e+32>>2],f[t+36>>2]=f[e+36>>2],f[t+40>>2]=f[e+40>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[t+52>>2]=0,f[t+44>>2]=0,f[t+48>>2]=0,f[t+44>>2]=f[e+44>>2],f[t+48>>2]=f[e+48>>2],f[t+52>>2]=f[e+52>>2],f[e+52>>2]=0,f[e+44>>2]=0,f[e+48>>2]=0,f[(r=t- -64|0)>>2]=0,f[t+56>>2]=0,f[t+60>>2]=0,f[t+56>>2]=f[e+56>>2],f[t+60>>2]=f[e+60>>2],s=r,r=e- -64|0,f[s>>2]=f[r>>2],f[r>>2]=0,f[e+56>>2]=0,f[e+60>>2]=0,f[t+68>>2]=f[e+68>>2],r=f[e+72>>2],f[t+84>>2]=0,f[t+76>>2]=0,f[t+80>>2]=0,f[t+72>>2]=r,f[t+76>>2]=f[e+76>>2],f[t+80>>2]=f[e+80>>2],f[t+84>>2]=f[e+84>>2],f[e+84>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[t+96>>2]=0,f[t+88>>2]=0,f[t+92>>2]=0,f[t+88>>2]=f[e+88>>2],f[t+92>>2]=f[e+92>>2],f[t+96>>2]=f[e+96>>2],f[e+96>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,r=u[e+100|0],f[t+112>>2]=0,f[t+104>>2]=0,f[t+108>>2]=0,o[t+100|0]=r,f[t+104>>2]=f[e+104>>2],f[t+108>>2]=f[e+108>>2],f[t+112>>2]=f[e+112>>2],f[e+112>>2]=0,f[e+104>>2]=0,f[e+108>>2]=0,f[t+124>>2]=0,f[t+116>>2]=0,f[t+120>>2]=0,f[t+116>>2]=f[e+116>>2],f[t+120>>2]=f[e+120>>2],f[t+124>>2]=f[e+124>>2],f[e+124>>2]=0,f[e+116>>2]=0,f[e+120>>2]=0,r=f[e+128>>2],f[t+140>>2]=0,f[t+132>>2]=0,f[t+136>>2]=0,f[t+128>>2]=r,f[t+132>>2]=f[e+132>>2],f[t+136>>2]=f[e+136>>2],f[t+140>>2]=f[e+140>>2],f[e+140>>2]=0,f[e+132>>2]=0,f[e+136>>2]=0,(0|e)!=(0|n););if(f[i+8>>2]=a,e=f[i+4>>2],f[i+4>>2]=c,n=f[i>>2],f[i>>2]=t,(0|e)==(0|n))break e;for(;(t=f[e-12>>2])&&(f[e-8>>2]=t,ee(t)),(t=f[e-28>>2])&&(f[e-24>>2]=t,ee(t)),(t=f[e-40>>2])&&(f[e-36>>2]=t,ee(t)),Gt(e-140|0),(0|n)!=(0|(e=e-144|0)););break e}ii(),E()}Lt(1326),E()}f[i+8>>2]=a,f[i+4>>2]=c,f[i>>2]=t}n&&ee(n)}else if(t>>>0<a>>>0){if((0|(i=i+d(t,144)|0))!=(0|r))for(;(t=f[r-12>>2])&&(f[r-8>>2]=t,ee(t)),(t=f[r-28>>2])&&(f[r-24>>2]=t,ee(t)),(t=f[r-40>>2])&&(f[r-36>>2]=t,ee(t)),Gt(r-140|0),(0|i)!=(0|(r=r-144|0)););f[e+4>>2]=i}}function $(e,t,r){t|=0,r|=0;var i,n=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,R=0;if(I=i=I-96|0,n=f[16+(e|=0)>>2],o[i+92|0]=1,f[i+88>>2]=t,f[i+84>>2]=t,f[i+80>>2]=n,-1!=(0|t)&&(d=f[e+20>>2],a=f[d>>2],!((n=f[f[n>>2]+(t<<2)>>2])>>>0>=f[d+4>>2]-a>>2>>>0))){n=f[f[e+8>>2]+(f[a+(n<<2)>>2]<<2)>>2],a=f[e+4>>2],u[a+84|0]||(n=f[f[a+68>>2]+(n<<2)>>2]),f[i+72>>2]=0,f[i+76>>2]=0,f[(d=i- -64|0)>>2]=0,f[d+4>>2]=0,f[i+56>>2]=0,f[i+60>>2]=0,P(a,n,o[a+24|0],i+56|0),d=((n=t+1|0)>>>0)%3|0?n:t-2|0,c=((t>>>0)%3|0?-1:2)+t|0;e:{t:{for(;;){if(a=d,n=c,f[e+28>>2]&&(a=((n=t+1|0)>>>0)%3|0?n:t-2|0,n=t-1|0,(t>>>0)%3|0||(n=t+2|0)),-1==(0|a))break e;if(A=f[e+20>>2],t=f[A>>2],(a=f[f[f[e+16>>2]>>2]+(a<<2)>>2])>>>0>=f[A+4>>2]-t>>2>>>0)break e;if(a=f[f[e+8>>2]+(f[(a<<2)+t>>2]<<2)>>2],t=f[e+4>>2],u[t+84|0]||(a=f[f[t+68>>2]+(a<<2)>>2]),f[i+48>>2]=0,f[i+52>>2]=0,f[i+40>>2]=0,f[i+44>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,P(t,a,o[t+24|0],i+32|0),-1==(0|n))break t;if(a=f[e+20>>2],t=f[a>>2],(n=f[f[f[e+16>>2]>>2]+(n<<2)>>2])>>>0>=f[a+4>>2]-t>>2>>>0)break t;if(a=f[f[e+8>>2]+(f[t+(n<<2)>>2]<<2)>>2],t=f[e+4>>2],u[t+84|0]||(a=f[f[t+68>>2]+(a<<2)>>2]),f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,P(t,a,o[t+24|0],i+8|0),a=(n=f[i+8>>2])-(t=f[i+56>>2])|0,A=f[i+60>>2],_=f[i+12>>2]-(A+(t>>>0>n>>>0)|0)|0,v=(l=f[i+40>>2])-(n=f[i+64>>2])|0,g=f[i+68>>2],w=Jt(a,_,v,l=f[i+44>>2]-(g+(n>>>0>l>>>0)|0)|0),s=s-(C+(b>>>0<w>>>0)|0)|0,B=T=b-w|0,n=Jt(w=(b=f[i+16>>2])-n|0,g=f[i+20>>2]-((n>>>0>b>>>0)+g|0)|0,T=(b=f[i+32>>2])-t|0,A=f[i+36>>2]-((t>>>0>b>>>0)+A|0)|0),t=C+s|0,s=t=n>>>0>(b=B+n|0)>>>0?t+1|0:t,B=h,k=_,_=(t=f[i+48>>2])-(n=f[i+72>>2])|0,h=f[i+76>>2],k=Jt(a,k,_,R=f[i+52>>2]-(h+(t>>>0<n>>>0)|0)|0),t=C+p|0,t=(a=B+k|0)>>>0<k>>>0?t+1|0:t,h=a-(p=Jt(k=(p=f[i+24>>2])-n|0,n=f[i+28>>2]-((n>>>0>p>>>0)+h|0)|0,T,A))|0,p=t-(C+(a>>>0<p>>>0)|0)|0,a=m-(t=Jt(w,g,_,R))|0,t=y-(C+(t>>>0>m>>>0)|0)|0,y=Jt(k,n,v,l),t=C+t|0,y=t=(m=y+a|0)>>>0<y>>>0?t+1|0:t,Se(i+80|0),-1==(0|(t=f[i+88>>2])))break}a=(t=y>>31)+m|0,n=t,t=t+y|0,A=a^n,c=n^(a>>>0<n>>>0?t+1|0:t),_=-1,a=2147483647,l=t=p>>31,n=t+h|0,t=t+p|0,t=n>>>0<l>>>0?t+1|0:t,n^=l,l=t^=l,v=-1^n,t^=2147483647,d=s;r:{if(f[e+28>>2]){if(!((0|t)==(0|c)&A>>>0>v>>>0|t>>>0<c>>>0)&&(t=c+l|0,n=t=(e=n+A|0)>>>0<n>>>0?t+1|0:t,c=s,s=(t=s>>31)+b|0,l=c,c=t,t=l+t|0,t=s>>>0<c>>>0?t+1|0:t,s^=c,!((0|(c=2147483647^(t^=c)))==(0|n)&(-1^s)>>>0<e>>>0|n>>>0>c>>>0)&&(t=t+n|0,_=e=e+s|0,a=t=e>>>0<s>>>0?t+1|0:t,!t&e>>>0<536870913)))break r;t=a>>>29|0,e=(536870911&a)<<3|_>>>29}else{if((0|t)==(0|c)&A>>>0>v>>>0|t>>>0<c>>>0)break r;if(t=c+l|0,t=(e=n+A|0)>>>0<n>>>0?t+1|0:t,n=e,e=t,a=(t=s>>31)+b|0,c=s,s=t,t=c+t|0,c=a^s,s^=t=a>>>0<s>>>0?t+1|0:t,t=a=c+n|0,(s=!(0&(e=(0|(s^=2147483647))==(0|e)&(-1^c)>>>0<n>>>0|e>>>0>s>>>0)))&(0|(e=e?-1:t))<=536870912|(0|e)<536870912)break r;t=0,e=e>>>29|0}b=Yt(b,d,e,t),h=Yt(h,p,e,t),m=Yt(m,y,e,t)}return f[r+8>>2]=b,f[r+4>>2]=h,f[r>>2]=m,void(I=i+96|0)}ci(),E()}ci(),E()}ci(),E()}function K(e,t){e|=0;var r=0,i=0,n=0,o=0,a=0,s=0,c=0,u=0;if(!((0|(t|=0))<0||(i=f[e+12>>2])-(r=f[e+8>>2])>>2>>>0<=t>>>0)){o=f[(n=r+(t<<2)|0)>>2],c=f[o+60>>2],a=f[o+56>>2];e:{if((0|(r=n+4|0))!=(0|i)){for(;s=f[r>>2],f[r>>2]=0,f[n>>2]=s,o&&jt(o),n=n+4|0,(0|(r=r+4|0))!=(0|i);)o=f[n>>2];if((0|n)==(0|(i=f[e+12>>2])))break e}for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&jt(r),(0|i)!=(0|n););}f[e+12>>2]=n;e:if(!(!(o=f[e+4>>2])|(0|c)<0)&&(0|(i=f[o+24>>2]))!=(0|(r=f[o+28>>2])))for(;;){if((0|c)==f[f[i>>2]+24>>2]){t:{if((0|(n=i+4|0))!=(0|(c=f[o+28>>2]))){for(;s=f[n>>2],f[n>>2]=0,r=f[i>>2],f[i>>2]=s,r&&(rr(r+12|0,f[r+16>>2]),ur(r,f[r+4>>2]),ee(r)),i=i+4|0,(0|c)!=(0|(n=n+4|0)););if((0|(n=f[o+28>>2]))==(0|i))break t}for(;r=f[(n=n-4|0)>>2],f[n>>2]=0,r&&(rr(r+12|0,f[r+16>>2]),ur(r,f[r+4>>2]),ee(r)),(0|i)!=(0|n););}f[o+28>>2]=i;break e}if((0|r)==(0|(i=i+4|0)))break}e:if(!((0|a)>4)){t:if(n=d(a,12)+e|0,(0|(i=f[n+20>>2]))!=(0|(r=f[n+24>>2]))){for(;;){if(f[i>>2]==(0|t))break t;if((0|r)==(0|(i=i+4|0)))break}break e}(0|i)!=(0|r)&&((r=r-(o=i+4|0)|0)&&Ze(i,o,r),f[n+24>>2]=i+r)}if(n=f[e+20>>2],i=f[e+24>>2]-n|0){if(c=1&(o=(r=i>>2)>>>0>1?r:1),i=0,r>>>0>=2)for(o&=-2,r=0;(0|(u=f[(s=(a=i<<2)+n|0)>>2]))>(0|t)&&(f[s>>2]=u-1),(0|(s=f[(a=n+(4|a)|0)>>2]))>(0|t)&&(f[a>>2]=s-1),i=i+2|0,(0|o)!=(0|(r=r+2|0)););c&&((0|(r=f[(i=n+(i<<2)|0)>>2]))<=(0|t)||(f[i>>2]=r-1))}if(n=f[e+32>>2],i=f[e+36>>2]-n|0){if(c=1&(o=(r=i>>2)>>>0>1?r:1),i=0,r>>>0>=2)for(o&=-2,r=0;(0|(u=f[(s=(a=i<<2)+n|0)>>2]))>(0|t)&&(f[s>>2]=u-1),(0|(s=f[(a=n+(4|a)|0)>>2]))>(0|t)&&(f[a>>2]=s-1),i=i+2|0,(0|o)!=(0|(r=r+2|0)););c&&((0|(r=f[(i=n+(i<<2)|0)>>2]))<=(0|t)||(f[i>>2]=r-1))}if(n=f[e+44>>2],i=f[e+48>>2]-n|0){if(c=1&(o=(r=i>>2)>>>0>1?r:1),i=0,r>>>0>=2)for(o&=-2,r=0;(0|(u=f[(s=(a=i<<2)+n|0)>>2]))>(0|t)&&(f[s>>2]=u-1),(0|(s=f[(a=n+(4|a)|0)>>2]))>(0|t)&&(f[a>>2]=s-1),i=i+2|0,(0|o)!=(0|(r=r+2|0)););c&&((0|(r=f[(i=n+(i<<2)|0)>>2]))<=(0|t)||(f[i>>2]=r-1))}if(n=f[e+56>>2],i=f[e+60>>2]-n|0){if(c=1&(o=(r=i>>2)>>>0>1?r:1),i=0,r>>>0>=2)for(o&=-2,r=0;(0|(u=f[(s=(a=i<<2)+n|0)>>2]))>(0|t)&&(f[s>>2]=u-1),(0|(s=f[(a=n+(4|a)|0)>>2]))>(0|t)&&(f[a>>2]=s-1),i=i+2|0,(0|o)!=(0|(r=r+2|0)););c&&((0|(r=f[(i=n+(i<<2)|0)>>2]))<=(0|t)||(f[i>>2]=r-1))}if(i=(r=f[e+72>>2])-(e=f[e+68>>2])|0){if(o=1&(n=(r=i>>2)>>>0>1?r:1),i=0,r>>>0>=2)for(n&=-2,r=0;(0|(s=f[(a=(c=i<<2)+e|0)>>2]))>(0|t)&&(f[a>>2]=s-1),(0|(a=f[(c=e+(4|c)|0)>>2]))>(0|t)&&(f[c>>2]=a-1),i=i+2|0,(0|n)!=(0|(r=r+2|0)););o&&((0|(r=t))>=(0|(t=f[(e=e+(i<<2)|0)>>2]))||(f[e>>2]=t-1))}}}function ee(e){var t=0,r=0,i=0,n=0,o=0,a=0,s=0,c=0,u=0;e:if(e|=0){o=(i=e-8|0)+(e=-8&(t=f[e-4>>2]))|0;t:if(!(1&t)){if(!(3&t))break e;if((i=i-(t=f[i>>2])|0)>>>0<b[2885])break e;if(e=e+t|0,f[2886]==(0|i)){if(3==(3&(t=f[o+4>>2])))return f[2883]=e,f[o+4>>2]=-2&t,f[i+4>>2]=1|e,void(f[e+i>>2]=e)}else{if(t>>>0<=255){if(n=f[i+8>>2],t=t>>>3|0,(0|(r=f[i+12>>2]))==(0|n)){c=11524,u=f[2881]&Rr(t),f[c>>2]=u;break t}f[n+12>>2]=r,f[r+8>>2]=n;break t}if(s=f[i+24>>2],(0|i)==(0|(t=f[i+12>>2])))if((r=f[(n=i+20|0)>>2])||(r=f[(n=i+16|0)>>2])){for(;a=n,(r=f[(n=(t=r)+20|0)>>2])||(n=t+16|0,r=f[t+16>>2]););f[a>>2]=0}else t=0;else r=f[i+8>>2],f[r+12>>2]=t,f[t+8>>2]=r;if(!s)break t;n=f[i+28>>2];r:{if(f[(r=11828+(n<<2)|0)>>2]==(0|i)){if(f[r>>2]=t,t)break r;c=11528,u=f[2882]&Rr(n),f[c>>2]=u;break t}if(f[s+(f[s+16>>2]==(0|i)?16:20)>>2]=t,!t)break t}if(f[t+24>>2]=s,(r=f[i+16>>2])&&(f[t+16>>2]=r,f[r+24>>2]=t),!(r=f[i+20>>2]))break t;f[t+20>>2]=r,f[r+24>>2]=t}}if(!(i>>>0>=o>>>0)&&1&(t=f[o+4>>2])){t:{if(!(2&t)){if(f[2887]==(0|o)){if(f[2887]=i,e=f[2884]+e|0,f[2884]=e,f[i+4>>2]=1|e,f[2886]!=(0|i))break e;return f[2883]=0,void(f[2886]=0)}if(f[2886]==(0|o))return f[2886]=i,e=f[2883]+e|0,f[2883]=e,f[i+4>>2]=1|e,void(f[e+i>>2]=e);e=(-8&t)+e|0;r:if(t>>>0<=255){if(n=f[o+8>>2],t=t>>>3|0,(0|(r=f[o+12>>2]))==(0|n)){c=11524,u=f[2881]&Rr(t),f[c>>2]=u;break r}f[n+12>>2]=r,f[r+8>>2]=n}else{if(s=f[o+24>>2],(0|o)==(0|(t=f[o+12>>2])))if((r=f[(n=o+20|0)>>2])||(r=f[(n=o+16|0)>>2])){for(;a=n,(r=f[(n=(t=r)+20|0)>>2])||(n=t+16|0,r=f[t+16>>2]););f[a>>2]=0}else t=0;else r=f[o+8>>2],f[r+12>>2]=t,f[t+8>>2]=r;if(s){n=f[o+28>>2];i:{if(f[(r=11828+(n<<2)|0)>>2]==(0|o)){if(f[r>>2]=t,t)break i;c=11528,u=f[2882]&Rr(n),f[c>>2]=u;break r}if(f[s+(f[s+16>>2]==(0|o)?16:20)>>2]=t,!t)break r}f[t+24>>2]=s,(r=f[o+16>>2])&&(f[t+16>>2]=r,f[r+24>>2]=t),(r=f[o+20>>2])&&(f[t+20>>2]=r,f[r+24>>2]=t)}}if(f[i+4>>2]=1|e,f[e+i>>2]=e,f[2886]!=(0|i))break t;return void(f[2883]=e)}f[o+4>>2]=-2&t,f[i+4>>2]=1|e,f[e+i>>2]=e}if(e>>>0<=255)return t=11564+((e=e>>>3|0)<<3)|0,(r=f[2881])&(e=1<<e)?e=f[t+8>>2]:(f[2881]=e|r,e=t),f[t+8>>2]=i,f[e+12>>2]=i,f[i+12>>2]=t,void(f[i+8>>2]=e);n=31,f[i+16>>2]=0,f[i+20>>2]=0,e>>>0<=16777215&&(t=e>>>8|0,t<<=a=t+1048320>>>16&8,n=28+((t=((t<<=n=t+520192>>>16&4)<<(r=t+245760>>>16&2)>>>15|0)-(r|n|a)|0)<<1|e>>>t+21&1)|0),f[i+28>>2]=n,a=11828+(n<<2)|0;t:{r:{if((r=f[2882])&(t=1<<n)){for(n=e<<(31==(0|n)?0:25-(n>>>1|0)|0),t=f[a>>2];;){if(r=t,(-8&f[t+4>>2])==(0|e))break r;if(t=n>>>29|0,n<<=1,!(t=f[16+(a=r+(4&t)|0)>>2]))break}f[a+16>>2]=i,f[i+24>>2]=r}else f[2882]=t|r,f[a>>2]=i,f[i+24>>2]=a;f[i+12>>2]=i,f[i+8>>2]=i;break t}e=f[r+8>>2],f[e+12>>2]=i,f[r+8>>2]=i,f[i+24>>2]=0,f[i+12>>2]=r,f[i+8>>2]=e}e=f[2889]-1|0,f[2889]=e||-1}}}function te(e,t,r,i){var n,a=0,s=0,c=0,u=0,l=0,p=_(0),d=0,h=0,m=_(0);n=f[r>>2];e:{t:if(s=f[t+4>>2]){r:{if((c=Er(s))>>>0>=2){if((a=n)>>>0>=s>>>0&&(a=(n>>>0)%(s>>>0)|0),!(r=f[f[t>>2]+(a<<2)>>2]))break t;if(c>>>0<=1)break r;for(;;){if(!(r=f[r>>2]))break t;if((0|(c=f[r+4>>2]))!=(0|n)&&(s>>>0<=c>>>0&&(c=(c>>>0)%(s>>>0)|0),(0|a)!=(0|c)))break t;if(f[r+8>>2]==(0|n))break}t=0;break e}if(a=s-1&n,!(r=f[f[t>>2]+(a<<2)>>2]))break t}for(c=s-1|0;;){if(!(r=f[r>>2]))break t;if((0|(u=f[r+4>>2]))!=(0|n)&(c&u)!=(0|a))break t;if(f[r+8>>2]==(0|n))break}t=0;break e}if(r=br(16),i=f[f[i>>2]>>2],f[r+12>>2]=0,f[r+8>>2]=i,f[r+4>>2]=n,f[r>>2]=0,m=_(f[t+12>>2]+1>>>0),p=A[t+16>>2],!s||m>_(p*_(s>>>0))){c=0!=(s-1&s)|s>>>0<3|s<<1,a=2,1!=(0|(i=(i=(p=_(g(_(m/p))))<_(4294967296)&p>=_(0)?~~p>>>0:0)>>>0>c>>>0?i:c))&&(i&i-1?(a=S(i),s=f[t+4>>2]):a=i);t:{if(a>>>0<=s>>>0){if(a>>>0>=s>>>0)break t;if(c=s>>>0<3,i=(p=_(g(_(_(b[t+12>>2])/A[t+16>>2]))))<_(4294967296)&p>=_(0)?~~p>>>0:0,(a=(i=c||Er(s)>>>0>1?S(i):i>>>0<2?i:1<<32-k(i-1|0))>>>0>a>>>0?i:a)>>>0>=s>>>0)break t}s=0,u=a;r:{i:{n:{o:{if(a){if(u>>>0>=1073741824)break o;if(a=br(u<<2),i=f[t>>2],f[t>>2]=a,i&&ee(i),f[t+4>>2]=u,a=0,u-1>>>0>=3)for(c=-4&u;f[(i=a<<2)+f[t>>2]>>2]=0,f[f[t>>2]+(4|i)>>2]=0,f[f[t>>2]+(8|i)>>2]=0,f[f[t>>2]+(12|i)>>2]=0,a=a+4|0,(0|c)!=(0|(s=s+4|0)););if(i=3&u)for(;f[f[t>>2]+(a<<2)>>2]=0,a=a+1|0,(0|i)!=(0|(l=l+1|0)););if(!(s=f[t+8>>2]))break r;if(i=t+8|0,c=f[s+4>>2],(a=Er(u))>>>0<2)break n;if(c=c>>>0>=u>>>0?(c>>>0)%(u>>>0)|0:c,f[f[t>>2]+(c<<2)>>2]=i,!(i=f[s>>2]))break r;if(a>>>0<=1)break i;for(;;){if(u>>>0<=(l=f[i+4>>2])>>>0&&(l=(l>>>0)%(u>>>0)|0),(0|c)!=(0|l))if(a=i,h=(d=l<<2)+f[t>>2]|0,f[h>>2]){for(;l=a,a=f[a>>2],f[i+8>>2]==f[a+8>>2]&&a;);f[s>>2]=a,f[l>>2]=f[f[d+f[t>>2]>>2]>>2],f[f[d+f[t>>2]>>2]>>2]=i}else f[h>>2]=s,s=i,c=l;else s=i;if(!(i=f[s>>2]))break}break r}i=f[t>>2],f[t>>2]=0,i&&ee(i),f[t+4>>2]=0;break r}Lt(1326),E()}if(c&=u-1,f[f[t>>2]+(c<<2)>>2]=i,!(i=f[s>>2]))break r}for(d=u-1|0;;){if((0|(u=d&f[i+4>>2]))!=(0|c))if(a=i,h=(l=u<<2)+f[t>>2]|0,f[h>>2]){for(;u=a,a=f[a>>2],f[i+8>>2]==f[a+8>>2]&&a;);f[s>>2]=a,f[u>>2]=f[f[l+f[t>>2]>>2]>>2],f[f[l+f[t>>2]>>2]>>2]=i}else f[h>>2]=s,s=i,c=u;else s=i;if(!(i=f[s>>2]))break}}}a=(i=(s=f[t+4>>2])-1|0)&s?s>>>0>n>>>0?n:(n>>>0)%(s>>>0)|0:i&n}a=f[t>>2]+(a<<2)|0;t:if(i=f[a>>2])f[r>>2]=f[i>>2],f[i>>2]=r;else{if(f[r>>2]=f[t+8>>2],f[t+8>>2]=r,f[a>>2]=t+8,!(i=f[r>>2]))break t;i=f[i+4>>2],(a=s-1|0)&s?i>>>0<s>>>0||(i=(i>>>0)%(s>>>0)|0):i&=a,f[f[t>>2]+(i<<2)>>2]=r}f[t+12>>2]=f[t+12>>2]+1,t=1}o[e+4|0]=t,f[e>>2]=r}function re(e){var t=0,r=0,i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0;f[e+56>>2]=f[e+52>>2],f[e+44>>2]=f[e+40>>2];e:{t:{r:{if(n=f[e+64>>2],(0|(r=f[n+24>>2]))!=f[n+28>>2])for(;;){i=t;i:if(-1!=(0|(c=f[(l<<2)+r>>2]))){if((0|(t=f[e+56>>2]))==f[e+60>>2]){if((t=1+(a=(n=t-(r=f[e+52>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(o=n>>1,o=a>>>0<536870911?t>>>0>o>>>0?t:o:1073741823){if(o>>>0>=1073741824)break e;t=br(o<<2)}else t=0;f[(a=t+(a<<2)|0)>>2]=i,(0|n)>0&&ge(t,r,n),f[e+60>>2]=t+(o<<2),f[e+56>>2]=a+4,f[e+52>>2]=t,r&&ee(r)}else f[t>>2]=i,f[e+56>>2]=t+4;n:if(f[f[e+12>>2]+(l>>>3&536870908)>>2]>>>l&1&&-1!=(0|(t=((t=c+1|0)>>>0)%3|0?t:c-2|0))&&(n=f[e>>2],!(f[n+(t>>>3&536870908)>>2]>>>t&1)&&-1!=(0|(t=f[f[f[e+64>>2]+12>>2]+(t<<2)>>2]))&&-1!=(0|(r=((r=t+1|0)>>>0)%3|0?r:t-2|0))))for(o=f[e+64>>2];;){if(c=r,-1==(0|(t=((t=r+1|0)>>>0)%3|0?t:r-2|0))|f[n+(t>>>3&536870908)>>2]>>>t&1)break n;if(-1==(0|(t=f[f[o+12>>2]+(t<<2)>>2])))break n;if(-1==(0|(r=((r=t+1|0)>>>0)%3|0?r:t-2|0)))break}if(f[f[e+28>>2]+(c<<2)>>2]=i,(0|(t=f[e+44>>2]))==f[e+48>>2]){if((t=1+(a=(n=t-(r=f[e+40>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(o=n>>1,o=a>>>0<536870911?t>>>0>o>>>0?t:o:1073741823){if(o>>>0>=1073741824)break e;t=br(o<<2)}else t=0;f[(a=t+(a<<2)|0)>>2]=c,(0|n)>0&&ge(t,r,n),f[e+48>>2]=t+(o<<2),f[e+44>>2]=a+4,f[e+40>>2]=t,r&&ee(r)}else f[t>>2]=c,f[e+44>>2]=t+4;if(t=i+1|0,n=f[e+64>>2],(c>>>0)%3|0)r=c-1|0;else if(-1==(0|(r=c+2|0)))break i;if(-1!=(0|(r=f[f[n+12>>2]+(r<<2)>>2]))&&!(-1==(0|(r=r+((r>>>0)%3|0?-1:2)|0))|(0|r)==(0|c)))for(;;){if(n=((n=r+1|0)>>>0)%3|0?n:r-2|0,f[f[e>>2]+(n>>>3&536870908)>>2]>>>n&1){if((0|(i=f[e+56>>2]))==f[e+60>>2]){if((i=1+(s=(o=i-(n=f[e+52>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(a=o>>1,a=s>>>0<536870911?i>>>0>a>>>0?i:a:1073741823){if(a>>>0>=1073741824)break e;i=br(a<<2)}else i=0;f[(s=i+(s<<2)|0)>>2]=t,(0|o)>0&&ge(i,n,o),f[e+60>>2]=i+(a<<2),f[e+56>>2]=s+4,f[e+52>>2]=i,n&&ee(n)}else f[i>>2]=t,f[e+56>>2]=i+4;if(n=t+1|0,(0|(i=f[e+44>>2]))==f[e+48>>2]){if((i=1+(u=(a=i-(o=f[e+40>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(s=a>>1,s=u>>>0<536870911?i>>>0>s>>>0?i:s:1073741823){if(s>>>0>=1073741824)break e;i=br(s<<2)}else i=0;f[(u=i+(u<<2)|0)>>2]=r,(0|a)>0&&ge(i,o,a),f[e+48>>2]=i+(s<<2),f[e+44>>2]=u+4,f[e+40>>2]=i,o&&ee(o)}else f[i>>2]=r,f[e+44>>2]=i+4;i=t,t=n}if(f[f[e+28>>2]+(r<<2)>>2]=i,n=f[e+64>>2],(r>>>0)%3|0)r=r-1|0;else if(-1==(0|(r=r+2|0)))break i;if(-1==(0|(r=f[f[n+12>>2]+(r<<2)>>2])))break i;if(-1==(0|(r=r+((r>>>0)%3|0?-1:2)|0)))break i;if((0|r)==(0|c))break}}if(l=l+1|0,r=f[n+24>>2],!(l>>>0<f[n+28>>2]-r>>2>>>0))break}return}ii(),E()}ii(),E()}Lt(1326),E()}function ie(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0;if(-1==(0|t))return 1;if(r=(t>>>0)/3|0,!(f[f[e+24>>2]+(r>>>3&268435452)>>2]>>>r&1)){if(i=f[e+48>>2],f[e+52>>2]=i,(0|i)==f[e+56>>2]?(n=br(4),f[n>>2]=t,o=n+4|0,f[e+56>>2]=o,f[e+52>>2]=o,f[e+48>>2]=n,i&&ee(i)):(f[i>>2]=t,f[e+52>>2]=i+4),o=f[f[e+4>>2]+28>>2],-1==(0|(i=f[o+((n=((i=t+1|0)>>>0)%3|0?i:t-2|0)<<2)>>2])))return 0;if(a=(t-d(r,3)|0?-1:2)+t|0,-1==(0|(r=f[o+(a<<2)>>2])))return 0;if(t=f[e+36>>2],(s=f[(o=t+(i>>>3&536870908)|0)>>2])&(c=1<<i)||(f[o>>2]=s|c,Re(e+8|0,i,n),t=f[e+36>>2]),(i=f[(t=(r>>>3&536870908)+t|0)>>2])&(n=1<<r)||(f[t>>2]=i|n,Re(e+8|0,r,a)),(0|(r=f[e+52>>2]))==f[e+48>>2])return 1;for(l=e+8|0;;){i=((t=f[(r=r-4|0)>>2])>>>0)/3|0;e:{t:if(-1!=(0|t)&&(n=f[e+24>>2]+(i>>>3&268435452)|0,!((o=f[n>>2])&(i=1<<i)))){if(f[n>>2]=i|o,n=f[e+4>>2],-1==(0|(i=f[f[n+28>>2]+(t<<2)>>2])))return 0;for(;;){r=t;r:{if(o=f[e+36>>2]+(i>>>3&536870908)|0,!((a=f[o>>2])&(s=1<<i)))if(-1==(0|(t=f[f[n+40>>2]+(i<<2)>>2]))||-1==(0|(t=((c=t+1|0)>>>0)%3|0?c:t-2|0))|f[f[n>>2]+(t>>>3&536870908)>>2]>>>t&1||-1==(0|(t=f[f[f[n+64>>2]+12>>2]+(t<<2)>>2])))f[o>>2]=a|s,Re(l,i,r);else if(f[o>>2]=a|s,Re(l,i,r),-1!=(0|(((i=t+1|0)>>>0)%3|0?i:t-2|0))){t=-1,n=f[e+4>>2],-1!=(0|r)&&(-1==(0|(i=((i=r+1|0)>>>0)%3|0?i:r-2|0))|f[f[n>>2]+(i>>>3&536870908)>>2]>>>i&1||(t=f[f[f[n+64>>2]+12>>2]+(i<<2)>>2])),s=1<<(i=(t>>>0)/3|0),r=f[e+24>>2],o=f[r+((c=i>>>5|0)<<2)>>2];break r}i:{if(-1!=(0|r)){i=-1,t=((t=r+1|0)>>>0)%3|0?t:r-2|0,n=f[e+4>>2],-1==(0|t)|f[f[n>>2]+(t>>>3&536870908)>>2]>>>t&1||(i=f[f[f[n+64>>2]+12>>2]+(t<<2)>>2]);n:{if((r>>>0)%3|0)r=r-1|0;else if(t=-1,-1==(0|(r=r+2|0)))break n;t=-1,f[f[n>>2]+(r>>>3&536870908)>>2]>>>r&1||(t=f[f[f[n+64>>2]+12>>2]+(r<<2)>>2])}if(a=(u=-1==(0|t))?-1:(t>>>0)/3|0,o=(i>>>0)/3|0,!((s=-1==(0|i))||(r=f[e+24>>2],(o=f[r+((c=(s=s?-1:o)>>>5|0)<<2)>>2])&(s=1<<s))))break i;if(!(u||(s=1<<a,r=f[e+24>>2],s&(o=f[r+((c=a>>>5|0)<<2)>>2]))))break r}r=f[e+52>>2]-4|0,f[e+52>>2]=r;break e}if(u)t=i;else if(f[(a>>>3&536870908)+r>>2]>>>a&1)t=i;else{if(r=f[e+52>>2],f[r-4>>2]=t,(0|r)!=f[e+56>>2]){f[r>>2]=i,r=r+4|0;break t}i:{if((t=1+(r=(o=r-(n=f[e+48>>2])|0)>>2)|0)>>>0<1073741824){if(a=o>>1,a=r>>>0<536870911?t>>>0>a>>>0?t:a:1073741823){if(a>>>0>=1073741824)break i;t=br(a<<2)}else t=0;if(f[(r=t+(r<<2)|0)>>2]=i,r=r+4|0,(0|o)>0&&ge(t,n,o),f[e+56>>2]=t+(a<<2),f[e+52>>2]=r,f[e+48>>2]=t,!n)break e;ee(n),r=f[e+52>>2];break e}ii(),E()}Lt(1326),E()}}if(f[(c<<2)+r>>2]=o|s,-1==(0|(i=f[f[n+28>>2]+(t<<2)>>2])))break}return 0}f[e+52>>2]=r}if(f[e+48>>2]==(0|r))break}}return 1}function ne(e,t,r){var i,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0;i=d(t,12)+e|0,f[i+12>>2]=f[i+8>>2],b=-1==(0|r)?-1:(r>>>0)/3|0,p=1,u=r;e:{t:{r:{for(;;){i:{if(_=1&o){if(-1==(0|u))break i;if(-1==(0|ze(e,((u>>>0)%3|0?-1:2)+u|0)))break e;if(-1==(0|(n=((r=u+1|0)>>>0)%3|0?r:u-2|0)))break e;if(-1==(0|(r=((r=n+1|0)>>>0)%3|0?r:n-2|0)))break e;if(-1==(0|(n=f[f[f[e+4>>2]+12>>2]+(r<<2)>>2])))break e;if(-1==(0|(r=((r=n+1|0)>>>0)%3|0?r:n-2|0)))break e;b=(r>>>0)/3|0}if(l=1<<b,s=f[e+56>>2]+(b>>>3&536870908)|0,!(l&(A=f[s>>2]))){for(o=0;;){if(f[s>>2]=A|l,(0|(n=f[i+12>>2]))==f[i+16>>2]){if((c=1+(a=(l=n-(s=f[i+8>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(n=l>>1,A=a>>>0<536870911?n>>>0<c>>>0?c:n:1073741823){if(A>>>0>=1073741824)break t;n=br(A<<2)}else n=0;f[(c=n+(a<<2)|0)>>2]=b,(0|l)>0&&ge(n,s,l),f[i+8>>2]=n,f[i+12>>2]=c+4,f[i+16>>2]=n+(A<<2),s&&ee(s)}else f[n>>2]=b,f[i+12>>2]=n+4;c=o+1|0;n:{o:{if(o)if(1&c){if(-1==(0|r)){r=-1;break n}r=((n=r+1|0)>>>0)%3|0?n:r-2|0}else{if(u=_?r:u,-1==(0|r)){r=-1;break n}if((r>>>0)%3|0){o=r-1|0;break o}r=r+2|0}if(n=r,r=-1,o=n,-1==(0|n))break n}if(r=f[f[f[e+4>>2]+12>>2]+(o<<2)>>2],s=-1,A=-1,(0|(a=((n=o+1|0)>>>0)%3|0?n:o-2|0))>=0&&(n=(a>>>0)/3|0,A=f[(f[f[e>>2]+96>>2]+d(n,12)|0)+(a-d(n,3)<<2)>>2]),-1!=(0|r)?(l=0,(0|(a=((r>>>0)%3|0?-1:2)+r|0))<0||(n=(a>>>0)/3|0,s=f[(f[f[e>>2]+96>>2]+d(n,12)|0)+(a-d(n,3)<<2)>>2])):l=1,(0|s)==(0|A)){o:{a:{f:{s:{if((0|(o=((o>>>0)%3|0?-1:2)+o|0))>=0){if(n=(o>>>0)/3|0,s=f[(f[f[e>>2]+96>>2]+d(n,12)|0)+(o-d(n,3)<<2)>>2],o=-1,!l)break s;break f}if(s=-1,l)break a}(0|(o=((n=r+1|0)>>>0)%3|0?n:r-2|0))<0?o=-1:(n=(o>>>0)/3|0,o=f[(f[f[e>>2]+96>>2]+d(n,12)|0)+(o-d(n,3)<<2)>>2])}if((0|o)!=(0|s)){r=-1;break n}if(-1!=(0|r))break o;r=-1;break n}if(-1==(0|r)){r=-1;break n}}if(o=c,b=(r>>>0)/3|0,s=f[e+56>>2]+(b>>>3&268435452)|0,!((A=f[s>>2])&(l=1<<b)))continue}else r=-1}break}!_|!(1&c)||(a=f[i+12>>2]-4|0,c=f[a>>2],o=f[e+56>>2]+(c>>>3&536870908)|0,n=f[o>>2],h=o,k=Rr(c)&n,f[h>>2]=k,f[i+12>>2]=a)}if(o=1,n=p,p=0,n)continue;break e}break}u=-1,ze(e,-1);break e}ii(),E()}Lt(1326),E()}if(f[44+((t<<2)+e|0)>>2]=u,a=f[i+8>>2],t=f[i+12>>2]-a|0){if(u=f[e+56>>2],c=1&(e=(t>>=2)>>>0>1?t:1),r=0,t>>>0>=2)for(p=-2&e,b=0;n=f[(o=r<<2)+a>>2],e=f[(t=u+(n>>>3&536870908)|0)>>2],h=t,k=Rr(n)&e,f[h>>2]=k,n=f[a+(4|o)>>2],e=f[(t=u+(n>>>3&536870908)|0)>>2],h=t,k=Rr(n)&e,f[h>>2]=k,r=r+2|0,(0|p)!=(0|(b=b+2|0)););c&&(r=f[a+(r<<2)>>2],e=f[(t=u+(r>>>3&536870908)|0)>>2],h=t,k=Rr(r)&e,f[h>>2]=k)}}function oe(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0,u=0;if(-1==(0|t))return 1;if(i=(t>>>0)/3|0,!(f[f[e+24>>2]+(i>>>3&268435452)>>2]>>>i&1)){if(r=f[e+48>>2],f[e+52>>2]=r,(0|r)==f[e+56>>2]?(n=br(4),f[n>>2]=t,o=n+4|0,f[e+56>>2]=o,f[e+52>>2]=o,f[e+48>>2]=n,r&&ee(r)):(f[r>>2]=t,f[e+52>>2]=r+4),n=-1,o=f[e+4>>2],-1!=(0|(a=((r=t+1|0)>>>0)%3|0?r:t-2|0))&&(n=f[f[o>>2]+(a<<2)>>2]),s=t-d(i,3)|0)r=t-1|0;else if(-1==(0|(r=t+2|0)))return 0;if(-1==(0|n))return 0;if(-1==(0|(i=f[f[o>>2]+(r<<2)>>2])))return 0;if(r=f[e+36>>2],(c=f[(o=r+(n>>>3&536870908)|0)>>2])&(u=1<<n)||(f[o>>2]=c|u,Re(e+8|0,n,a),r=f[e+36>>2]),(n=f[(r=(i>>>3&536870908)+r|0)>>2])&(o=1<<i)||(f[r>>2]=n|o,Re(e+8|0,i,(s?-1:2)+t|0)),(0|(r=f[e+52>>2]))==f[e+48>>2])return 1;for(u=e+8|0;;){i=((t=f[(r=r-4|0)>>2])>>>0)/3|0;e:{t:if(-1!=(0|t)&&(n=f[e+24>>2]+(i>>>3&268435452)|0,!((o=f[n>>2])&(i=1<<i)))){for(f[n>>2]=i|o;;){if(i=f[e+4>>2],-1==(0|(r=f[f[i>>2]+(t<<2)>>2])))return 0;r:{if(n=f[e+36>>2]+(r>>>3&536870908)|0,!((o=f[n>>2])&(a=1<<r)))if(-1!=(0|(s=f[f[i+24>>2]+(r<<2)>>2]))&&-1!=(0|(s=((c=s+1|0)>>>0)%3|0?c:s-2|0))&&-1!=(0|(i=f[f[i+12>>2]+(s<<2)>>2]))){if(f[n>>2]=o|a,Re(u,r,t),-1!=(0|(((r=i+1|0)>>>0)%3|0?r:i-2|0))){i=t-2|0,r=t+1|0,t=-1,-1!=(0|(r=(r>>>0)%3|0?r:i))&&(t=f[f[f[e+4>>2]+12>>2]+(r<<2)>>2]),a=1<<(r=(t>>>0)/3|0),n=f[e+24>>2],i=f[n+((s=r>>>5|0)<<2)>>2];break r}}else f[n>>2]=o|a,Re(u,r,t);r=-1,o=f[e+4>>2],-1!=(0|(i=((i=t+1|0)>>>0)%3|0?i:t-2|0))&&(r=f[f[o+12>>2]+(i<<2)>>2]);i:{if((t>>>0)%3|0)n=t-1|0;else if(n=t+2|0,t=-1,-1==(0|n))break i;t=f[f[o+12>>2]+(n<<2)>>2]}if(o=(c=-1==(0|t))?-1:(t>>>0)/3|0,i=(r>>>0)/3|0,(a=-1==(0|r))||(n=f[e+24>>2],(i=f[n+((s=(a=a?-1:i)>>>5|0)<<2)>>2])&(a=1<<a))){if(!(c||(a=1<<o,n=f[e+24>>2],a&(i=f[n+((s=o>>>5|0)<<2)>>2]))))break r;r=f[e+52>>2]-4|0,f[e+52>>2]=r;break e}if(c)t=r;else if(f[(o>>>3&536870908)+n>>2]>>>o&1)t=r;else{if(i=f[e+52>>2],f[i-4>>2]=t,(0|i)!=f[e+56>>2]){f[i>>2]=r,r=i+4|0;break t}i:{if((t=1+(a=(n=(t=i)-(i=f[e+48>>2])|0)>>2)|0)>>>0<1073741824){if(o=n>>1,o=a>>>0<536870911?t>>>0>o>>>0?t:o:1073741823){if(o>>>0>=1073741824)break i;t=br(o<<2)}else t=0;if(f[(a=t+(a<<2)|0)>>2]=r,r=a+4|0,(0|n)>0&&ge(t,i,n),f[e+56>>2]=t+(o<<2),f[e+52>>2]=r,f[e+48>>2]=t,!i)break e;ee(i),r=f[e+52>>2];break e}ii(),E()}Lt(1326),E()}}if(f[(s<<2)+n>>2]=i|a,-1==(0|t))break}return 0}f[e+52>>2]=r}if(f[e+48>>2]==(0|r))break}}return 1}function ae(e,t,r){t|=0,r|=0;var i=0,n=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0;e:if(!((0|(h=0|_i[f[f[(e|=0)>>2]+44>>2]](e)))<=0)&&(n=f[t+4>>2]-f[t>>2]>>2,I=s=I+-64|0,i=qt(s),a=d(f[2549],h),cr(i,f[f[e+8>>2]+56>>2],h<<24>>24,5,0,a,a>>31),i=$e(a=br(96),i),o[i+84|0]=1,f[i+72>>2]=f[i+68>>2],He(i,n),f[i+60>>2]=f[f[e+8>>2]+60>>2],i=f[e+16>>2],f[e+16>>2]=a,i&&jt(i),I=s- -64|0,s=f[e+16>>2],f[s+80>>2]&&(l=f[f[s>>2]>>2])&&!((0|(c=f[r+12>>2]))<=(0|(i=f[r+20>>2]))&(b=f[r+8>>2])>>>0<=(a=f[r+16>>2])>>>0|(0|i)>(0|c)))){A=d(n,h),l=l+f[s+48>>2]|0,p=f[r>>2],_=u[p+a|0],n=(s=a+1|0)?i:i+1|0,f[r+16>>2]=s,f[r+20>>2]=n;t:{r:{i:{if(_){if(D(A,h,r,l))break i;break e}if((0|n)>=(0|c)&s>>>0>=b>>>0|(0|n)>(0|c))break e;s=u[s+p|0],i=(n=a+2|0)>>>0<2?i+1|0:i,f[r+16>>2]=n,f[r+20>>2]=i,i=f[f[e+16>>2]+64>>2],i=f[i+4>>2]-f[i>>2]|0;n:{if((0|s)==f[2549]){if((n=i)>>>0<(i=A<<2)>>>0)break e;if(c=f[r+8>>2],s=f[r+12>>2],n=f[r+20>>2],(0|(n=(a=i+(b=f[r+16>>2])|0)>>>0<i>>>0?n+1|0:n))<=(0|s)&a>>>0<=c>>>0|(0|n)<(0|s))break n;break e}if(i>>>0<d(s,A)>>>0)break e;if(c=f[r+12>>2],n=f[r+20>>2],(a=p=f[r+8>>2])-(b=f[r+16>>2])>>>0<Jt(i=s,0,A,0)>>>0&(0|(a=c-(n+(a>>>0<b>>>0)|0)|0))<=(0|(_=C))|(0|a)<(0|_))break e;if(a=1,!A)break r;if(a=0,(_=p)>>>0<(p=i+b|0)>>>0&(0|(n=p>>>0<i>>>0?n+1|0:n))>=(0|c)|(0|n)>(0|c))break t;for(;;){if(ge(l+(k<<2)|0,b+f[r>>2]|0,s),n=f[r+20>>2],n=(c=i+f[r+16>>2]|0)>>>0<i>>>0?n+1|0:n,b=c,f[r+16>>2]=c,f[r+20>>2]=n,(0|A)==(0|(k=k+1|0)))break i;if(_=f[r+8>>2],!((0|(n=(p=i+b|0)>>>0<i>>>0?n+1|0:n))<=(0|(c=f[r+12>>2]))&p>>>0<=_>>>0|(0|n)<(0|c)))break}break t}ge(l,b+f[r>>2]|0,i),n=i,s=i+f[r+16>>2]|0,i=f[r+20>>2],f[r+16>>2]=s,f[r+20>>2]=n>>>0>s>>>0?i+1|0:i}if(a=1,A&&!((i=f[e+20>>2])&&(a=0,0|_i[f[f[i>>2]+32>>2]](i)))){if(i=0,a=0,!((0|A)<=0)){if(1!=(0|A))for(c=-2&A;s=f[(n=i<<2)+l>>2],f[n+l>>2]=0-(1&s)^s>>>1,n=f[(s=4|n)+l>>2],f[s+l>>2]=0-(1&n)^n>>>1,i=i+2|0,(0|c)!=(0|(a=a+2|0)););1&A&&(i=f[(n=i<<2)+l>>2],f[n+l>>2]=0-(1&i)^i>>>1)}a=0}}if(i=f[e+20>>2]){if(!(0|_i[f[f[i>>2]+40>>2]](i,r)))break e;if(!(a||(a=0,e=f[e+20>>2],0|_i[f[f[e>>2]+44>>2]](e,l,l,A,h,f[t>>2]))))break t}a=1}return 0|a}return 0}function fe(e,t){e|=0;var r,i=0,n=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0;I=r=I-32|0;e:{t:if(vt(1,r+28|0,t|=0))r:{if(n=f[r+28>>2]){if(xe(e+60|0,n),f[(i=r+8|0)>>2]=0,f[i+4>>2]=0,o[i+5|0]=0,o[i+6|0]=0,o[i+7|0]=0,o[i+8|0]=0,o[i+9|0]=0,o[i+10|0]=0,o[i+11|0]=0,o[i+12|0]=0,!Ie(i,t))break r;for(;s=1<<a,l=Wt(i),c=f[e+60>>2]+(a>>>3&536870908)|0,l?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|n)!=(0|(a=a+1|0)););}if(!vt(1,r+28|0,t))break t;if(n=f[r+28>>2]){if(a=0,xe(e+72|0,n),f[(i=r+8|0)>>2]=0,f[i+4>>2]=0,o[i+5|0]=0,o[i+6|0]=0,o[i+7|0]=0,o[i+8|0]=0,o[i+9|0]=0,o[i+10|0]=0,o[i+11|0]=0,o[i+12|0]=0,!Ie(i,t))break r;for(;s=1<<a,l=Wt(i),c=f[e+72>>2]+(a>>>3&536870908)|0,l?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|n)!=(0|(a=a+1|0)););}if(!vt(1,r+28|0,t))break t;if(n=f[r+28>>2]){if(a=0,xe(e+84|0,n),f[(i=r+8|0)>>2]=0,f[i+4>>2]=0,o[i+5|0]=0,o[i+6|0]=0,o[i+7|0]=0,o[i+8|0]=0,o[i+9|0]=0,o[i+10|0]=0,o[i+11|0]=0,o[i+12|0]=0,!Ie(i,t))break r;for(;s=1<<a,l=Wt(i),c=f[e+84>>2]+(a>>>3&536870908)|0,l?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|n)!=(0|(a=a+1|0)););}if(!vt(1,r+28|0,t))break t;if(n=f[r+28>>2]){if(a=0,xe(e+96|0,n),f[(i=r+8|0)>>2]=0,f[i+4>>2]=0,o[i+5|0]=0,o[i+6|0]=0,o[i+7|0]=0,o[i+8|0]=0,o[i+9|0]=0,o[i+10|0]=0,o[i+11|0]=0,o[i+12|0]=0,!Ie(i,t))break r;for(;s=1<<a,l=Wt(i),c=f[e+96>>2]+(a>>>3&536870908)|0,l?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|n)!=(0|(a=a+1|0)););}if(a=0,s=n=f[t+12>>2],c=i=f[t+20>>2],i=(b=(l=f[t+16>>2])+4|0)>>>0<4?i+1|0:i,(A=f[t+8>>2])>>>0<b>>>0&(0|i)>=(0|n)|(0|i)>(0|n))break e;if(p=f[t>>2],n=u[0|(n=p+l|0)]|u[n+1|0]<<8|u[n+2|0]<<16|u[n+3|0]<<24,f[t+16>>2]=b,f[t+20>>2]=i,i=c,l=c=l+8|0,c=i=c>>>0<8?i+1|0:i,l>>>0>A>>>0&(0|i)>=(0|s)|(0|i)>(0|s))break e;if(i=u[0|(i=b+p|0)]|u[i+1|0]<<8|u[i+2|0]<<16|u[i+3|0]<<24,f[t+16>>2]=l,f[t+20>>2]=c,(0|i)<(0|n))break e;if(f[e+16>>2]=i,f[e+12>>2]=n,!(t=(i>>31)-((n>>31)+(i>>>0<n>>>0)|0)|0)&(i=i-n|0)>>>0>2147483646|t)break e;if(a=1,t=i+1|0,f[e+20>>2]=t,i=t>>>1|0,f[e+24>>2]=i,f[e+28>>2]=0-i,1&t)break e;f[e+24>>2]=i-1;break e}a=0}return I=r+32|0,0|a}function se(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0,b=0,A=0,p=0,d=0,_=0,h=0;e:if(l[t+38>>1]&&Et(1,e+12|0,t)){if(o=f[e+12>>2],r=f[e>>2],o>>>0>(i=f[e+4>>2]-r>>2)>>>0?(st(e,o-i|0),o=f[e+12>>2]):i>>>0<=o>>>0||(f[e+4>>2]=r+(o<<2)),!o)return 1;for(b=f[t+8>>2],c=f[t+12>>2],p=f[e>>2];;){if((0|c)<=(0|(i=f[t+20>>2]))&b>>>0<=(r=f[t+16>>2])>>>0|(0|i)>(0|c))return 0;d=f[t>>2],A=u[d+r|0],i=(r=r+1|0)?i:i+1|0,s=r,f[t+16>>2]=r,f[t+20>>2]=i,r=A>>>2|0,n=0;t:{r:{i:{n:switch(0|(_=3&A)){case 3:break n;case 0:break r;default:break i}if((i=r+a|0)>>>0>=o>>>0)return 0;Ye(p+(a<<2)|0,0,4+(252&A)|0),a=i;break t}for(;;){if((0|i)>=(0|c)&s>>>0>=b>>>0|(0|i)>(0|c))break e;if(o=u[s+d|0],i=(s=s+1|0)?i:i+1|0,f[t+16>>2]=s,f[t+20>>2]=i,r|=o<<(n<<3|6),(0|_)==(0|(n=n+1|0)))break}}f[p+(a<<2)>>2]=r}if(!((o=f[e+12>>2])>>>0>(a=a+1|0)>>>0))break}if(i=e+16|0,A=f[e>>2],t=f[e+16>>2],(a=(r=f[e+20>>2]-t|0)>>2)>>>0<=4095?st(i,4096-a|0):16384!=(0|r)&&(f[e+20>>2]=t+16384),a=f[(t=e+28|0)>>2],(r=f[e+32>>2]-a>>3)>>>0<o>>>0)ct(t,o-r|0),a=f[t>>2];else if(r>>>0>o>>>0&&(f[e+32>>2]=(o<<3)+a),!o)break e;for(n=0,e=0;;){if(c=f[(t=A+(n<<2)|0)>>2],r=e,f[4+(s=(n<<3)+a|0)>>2]=e,f[s>>2]=c,(e=(c=f[t>>2])+e|0)>>>0>4096)break e;if(!(e>>>0<=r>>>0)){if(s=f[i>>2],t=0,b=7&c)for(;f[s+(r<<2)>>2]=n,r=r+1|0,(0|b)!=(0|(t=t+1|0)););if(!(c-1>>>0<=6))for(;f[(t=s+(r<<2)|0)>>2]=n,f[t+28>>2]=n,f[t+24>>2]=n,f[t+20>>2]=n,f[t+16>>2]=n,f[t+12>>2]=n,f[t+8>>2]=n,f[t+4>>2]=n,(0|(r=r+8|0))!=(0|e););}if((0|o)==(0|(n=n+1|0)))break}h=4096==(0|e)}return h}function ce(e,t,r){e|=0,t|=0,r|=0;var i,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0;I=i=I-16|0,f[i+8>>2]=r;e:if(!((0|(a=(o=f[e+12>>2])-(n=f[e+8>>2])>>2))>(0|t)))if((c=t+1|0)>>>0>a>>>0){if((a=c-a|0)>>>0<=(s=f[e+16>>2])-(n=f[e+12>>2])>>2>>>0){a&&(n=Ye(o=n,0,n=a<<2)+n|0),f[e+12>>2]=n;break e}t:{r:{i:{if((o=(l=n-(c=f[e+8>>2])>>2)+a|0)>>>0<1073741824){if(b=(s=s-c|0)>>1,s=s>>2>>>0<536870911?o>>>0>b>>>0?o:b:1073741823){if(s>>>0>=1073741824)break i;u=br(s<<2)}if(l=(a=Ye(o=(l<<2)+u|0,0,l=a<<2))+l|0,s=(s<<2)+u|0,(0|n)==(0|c))break r;for(;a=f[(n=n-4|0)>>2],f[n>>2]=0,f[(o=o-4|0)>>2]=a,(0|n)!=(0|c););if(f[e+16>>2]=s,a=f[e+12>>2],f[e+12>>2]=l,n=f[e+8>>2],f[e+8>>2]=o,(0|n)==(0|a))break t;for(;o=f[(a=a-4|0)>>2],f[a>>2]=0,o&&jt(o),(0|n)!=(0|a););break t}ii(),E()}Lt(1326),E()}f[e+16>>2]=s,f[e+12>>2]=l,f[e+8>>2]=a}n&&ee(n)}else if(!(a>>>0<=c>>>0)){if((0|(n=n+(c<<2)|0))!=(0|o)){for(;r=f[(o=o-4|0)>>2],f[o>>2]=0,r&&jt(r),(0|n)!=(0|o););r=f[i+8>>2]}f[e+12>>2]=n}e:{t:{if(!((0|(n=f[r+56>>2]))>4))if(o=d(n,12)+e|0,(0|(n=f[o+24>>2]))==f[o+28>>2]){if((n=1+(u=(c=n-(a=f[o+20>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(s=c>>1,s=u>>>0<536870911?n>>>0>s>>>0?n:s:1073741823){if(s>>>0>=1073741824)break e;n=br(s<<2)}else n=0;f[(u=n+(u<<2)|0)>>2]=t,(0|c)>0&&ge(n,a,c),f[o+20>>2]=n,f[o+24>>2]=u+4,f[o+28>>2]=n+(s<<2),a&&ee(a)}else f[n>>2]=t,f[o+24>>2]=n+4;return f[r+60>>2]=t,e=f[e+8>>2],f[i+8>>2]=0,e=f[(t=e+(t<<2)|0)>>2],f[t>>2]=r,e&&jt(e),e=f[i+8>>2],f[i+8>>2]=0,e&&jt(e),void(I=i+16|0)}ii(),E()}Lt(1326),E()}function ue(e,t){e|=0;var r,i=0,n=0,o=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0;if(I=r=I-80|0,wt(1,r+76|0,t|=0)&&(s=f[r+76>>2])&&!((n=Jt((n=f[t+8>>2])-(i=f[t+16>>2])|0,f[t+12>>2]-(f[t+20>>2]+(i>>>0>n>>>0)|0)|0,5,0))>>>0<s>>>0&(0|(i=C))<=0|(0|i)<0)){for(i=f[e+4>>2],(n=f[e+8>>2]-i>>2)>>>0<s>>>0?st(e+4|0,s-n|0):n>>>0<=s>>>0||(f[e+8>>2]=i+(s<<2)),y=e+16|0,l=f[e+32>>2],b=1;!((0|(i=o=f[t+12>>2]))<=(0|(n=f[t+20>>2]))&(k=f[t+8>>2])>>>0<=(p=f[t+16>>2])>>>0|(0|i)<(0|n)||(m=f[t>>2],h=u[m+p|0],i=n,i=(a=p+1|0)?i:i+1|0,f[t+16>>2]=a,f[t+20>>2]=i,(0|i)>=(0|o)&a>>>0>=k>>>0|(0|i)>(0|o)||(a=u[a+m|0],i=n,i=(c=p+2|0)>>>0<2?i+1|0:i,f[t+16>>2]=c,f[t+20>>2]=i,(0|i)>=(0|o)&c>>>0>=k>>>0|(0|i)>(0|o)||(c=u[c+m|0],i=n,i=(_=p+3|0)>>>0<3?i+1|0:i,f[t+16>>2]=_,f[t+20>>2]=i,(0|i)>=(0|o)&_>>>0>=k>>>0|(0|i)>(0|o)||(o=u[_+m|0],i=n,i=(n=p+4|0)>>>0<4?i+1|0:i,f[t+16>>2]=n,f[t+20>>2]=i,!c|(a-12&255)>>>0<245|h>>>0>4||(i=qt(r+8|0),_=c<<24>>24,o=0!=(0|o),n=(n=a-1|0)>>>0<=10?f[10180+(n<<2)>>2]:-1,cr(i,h,_,a,o,n=d(n,c),n>>31),!wt(1,r+4|0,t)||(a=f[r+4>>2],f[r+68>>2]=a,n=$e(br(96),i),_i[f[f[l>>2]+8>>2]](l,f[l+12>>2]-f[l+8>>2]>>2,n),n=(f[l+12>>2]-f[l+8>>2]>>2)-1|0,f[f[(h=n<<2)+f[l+8>>2]>>2]+60>>2]=a,f[f[e+4>>2]+(A<<2)>>2]=n,b=f[e+16>>2],(0|(i=f[e+20>>2]-b>>2))>(0|n)||(f[r>>2]=-1,(n=n+1|0)>>>0>i>>>0?(ve(y,n-i|0,r),b=f[y>>2]):i>>>0<=n>>>0||(f[e+20>>2]=(n<<2)+b)),f[b+h>>2]=A,b=(A=A+1|0)>>>0<s>>>0,(0|s)==(0|A)))))))););A=!b}return I=r+80|0,1&A}function le(e,t){var r,i,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0,A=0;I=r=I-16|0,f[r>>2]=t,c=-1,-1!=(0|t)?(n=t+1|0,f[r+4>>2]=(n>>>0)%3|0?n:t-2|0,c=(t>>>0)%3|0?t-1|0:t+2|0):f[r+4>>2]=-1,f[r+8>>2]=c,i=-1==(0|t)?-1:(t>>>0)/3|0;e:{t:{r:{i:{for(;;){n:if(-1!=(0|t)&&-1!=(0|(n=f[f[f[e+8>>2]+12>>2]+(t<<2)>>2]))){if(!((n>>>0)/3>>>0<i>>>0)&&(c=0,f[e+220>>2]!=f[e+216>>2]))for(;;){if(Wt(f[e+368>>2]+(c<<4)|0))if(s=f[e+216>>2]+d(c,144)|0,(n=f[s+136>>2])>>>0<(o=f[s+140>>2])>>>0)f[n>>2]=t,f[s+136>>2]=n+4;else{if((n=1+(a=(l=n-(u=f[s+132>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(b=a<<2,a=(o=o-u|0)>>1,o=o>>2>>>0<536870911?n>>>0>a>>>0?n:a:1073741823){if(o>>>0>=1073741824)break e;n=br(o<<2)}else n=0;f[(a=b+n|0)>>2]=t,(0|l)>0&&ge(n,u,l),f[s+132>>2]=n,f[s+136>>2]=a+4,f[s+140>>2]=n+(o<<2),u&&ee(u)}if(!((c=c+1|0)>>>0<(f[e+220>>2]-f[e+216>>2]|0)/144>>>0))break}}else{if(c=0,(0|(n=f[e+216>>2]))==f[e+220>>2])break n;for(;;){if(s=d(c,144)+n|0,(n=f[s+136>>2])>>>0<(o=f[s+140>>2])>>>0)f[n>>2]=t,f[s+136>>2]=n+4;else{if((n=1+(a=(l=n-(u=f[s+132>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(b=a<<2,a=(o=o-u|0)>>1,o=o>>2>>>0<536870911?n>>>0>a>>>0?n:a:1073741823){if(o>>>0>=1073741824)break r;n=br(o<<2)}else n=0;f[(a=b+n|0)>>2]=t,(0|l)>0&&ge(n,u,l),f[s+132>>2]=n,f[s+136>>2]=a+4,f[s+140>>2]=n+(o<<2),u&&ee(u)}if(c=c+1|0,n=f[e+216>>2],!(c>>>0<(f[e+220>>2]-n|0)/144>>>0))break}}if(3==(0|(A=A+1|0)))break;t=f[(A<<2)+r>>2]}return I=r+16|0,1}ii(),E()}Lt(1326),E()}ii(),E()}Lt(1326),E()}function be(e,t){var r,i=0,n=0,a=0,s=0,c=0,A=0,p=0,_=0,h=0,k=0;I=r=I-16|0,_=-1;e:{t:{r:if(Tt(1,r+12|0,t)){if(n=f[r+12>>2]){if(i=f[e+8>>2],n>>>0>(f[i+4>>2]-f[i>>2]>>2>>>0)/3>>>0)break r;for(;;){if(!Tt(1,r+8|0,t))break r;if(i=f[r+8>>2],!Tt(1,r+8|0,t))break r;if((s=i+s|0)>>>0<(i=f[r+8>>2])>>>0)break r;if(c=s-i|0,(0|(i=f[e+40>>2]))==f[e+44>>2]){if((a=1+(A=(0|(p=(a=i)-(i=f[e+36>>2])|0))/12|0)|0)>>>0>=357913942)break t;if(h=A<<1,(a=A>>>0<178956970?a>>>0>h>>>0?a:h:357913941)>>>0>=357913942)break e;A=(h=br(a=d(a,12)))+d(A,12)|0,f[A+4>>2]=s,f[A>>2]=c,c=A+d((0|p)/-12|0,12)|0,(0|p)>0&&ge(c,i,p),f[e+44>>2]=a+h,f[e+40>>2]=A+12,f[e+36>>2]=c,i&&ee(i)}else f[i+4>>2]=s,f[i>>2]=c,f[e+40>>2]=i+12;if((0|n)==(0|(k=k+1|0)))break}for(s=0,Kt(t,0,0),A=n>>>0>1?n:1;;){n=u[t+36|0];i:{n:{if((65535&((i=l[f[e+4>>2]+36>>1])<<8|i>>>8))>>>0<=513){if(!n)break i;if(c=0,(n=(p=(i=f[t+32>>2])>>>3|0)+(_=f[t+24>>2])|0)>>>0>=(a=f[t+28>>2])>>>0?n=i:(c=u[0|n],n=i+1|0,f[t+32>>2]=n,p=n>>>3|0,c=c>>>(7&i)&1),a>>>0>p+_>>>0)break n;break i}if(!n)break i;if(c=0,n=f[t+32>>2],(i=f[t+24>>2]+(n>>>3|0)|0)>>>0>=b[t+28>>2])break i;c=u[0|i]>>>(7&n)&1}f[t+32>>2]=n+1}if(n=f[e+36>>2]+d(s,12)|0,o[n+8|0]=254&u[n+8|0]|1&c,(0|A)==(0|(s=s+1|0)))break}o[t+36|0]=0,i=f[t+20>>2],e=0,n=(s=(e=(n=f[t+32>>2]+7|0)>>>0<7?1:e)<<29|n>>>3)+f[t+16>>2]|0,e=(e>>>3|0)+i|0,f[t+16>>2]=n,f[t+20>>2]=n>>>0<s>>>0?e+1|0:e}_=f[t+16>>2]}return I=r+16|0,_}ii(),E()}Lt(1326),E()}function Ae(e,t,r){var i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0;if(((n=f[e+8>>2])-(a=f[e+4>>2])|0)/12>>>0>=t>>>0){if(t){if(i=a,o=1+(((n=d(t,12)-12|0)>>>0)/12|0)&3)for(;u=f[r+4>>2],f[i>>2]=f[r>>2],f[i+4>>2]=u,f[i+8>>2]=f[r+8>>2],i=i+12|0,(0|o)!=(0|(s=s+1|0)););if(a=d(t,12)+a|0,!(n>>>0<36))for(;t=f[r+4>>2],f[i>>2]=f[r>>2],f[i+4>>2]=t,f[i+8>>2]=f[r+8>>2],f[i+20>>2]=f[r+8>>2],t=f[r+4>>2],f[i+12>>2]=f[r>>2],f[i+16>>2]=t,f[i+32>>2]=f[r+8>>2],t=f[r+4>>2],f[i+24>>2]=f[r>>2],f[i+28>>2]=t,t=f[r+4>>2],f[i+36>>2]=f[r>>2],f[i+40>>2]=t,f[i+44>>2]=f[r+8>>2],(0|a)!=(0|(i=i+48|0)););}f[e+4>>2]=a}else{e:{if((i=(c=(a-(o=f[e>>2])|0)/12|0)+t|0)>>>0<357913942){if(o=(n=(n-o|0)/12|0)<<1,o=n>>>0<178956970?i>>>0>o>>>0?i:o:357913941){if(o>>>0>=357913942)break e;u=br(d(o,12))}if(i=n=d(c,12)+u|0,l=1+(((c=(t=d(t,12))-12|0)>>>0)/12|0)&3)for(i=n;b=f[r+4>>2],f[i>>2]=f[r>>2],f[i+4>>2]=b,f[i+8>>2]=f[r+8>>2],i=i+12|0,(0|l)!=(0|(s=s+1|0)););if(s=t+n|0,c>>>0>=36)for(;t=f[r+4>>2],f[i>>2]=f[r>>2],f[i+4>>2]=t,f[i+8>>2]=f[r+8>>2],f[i+20>>2]=f[r+8>>2],t=f[r+4>>2],f[i+12>>2]=f[r>>2],f[i+16>>2]=t,f[i+32>>2]=f[r+8>>2],t=f[r+4>>2],f[i+24>>2]=f[r>>2],f[i+28>>2]=t,t=f[r+4>>2],f[i+36>>2]=f[r>>2],f[i+40>>2]=t,f[i+44>>2]=f[r+8>>2],(0|s)!=(0|(i=i+48|0)););return t=f[e>>2],i=n+d((0|(r=a-t|0))/-12|0,12)|0,(0|r)>0&&ge(i,t,r),f[e+8>>2]=d(o,12)+u,f[e+4>>2]=s,f[e>>2]=i,void(t&&ee(t))}ii(),E()}Lt(1326),E()}}function pe(e,t,r,i){var n,o,a=0,s=0,c=0,u=0,l=0,b=0;if(n=f[t+16>>2],a=c=f[r+4>>2]-n|0,s=f[r>>2]-n|0,f[r>>2]=s,f[r+4>>2]=a,o=(0|(b=f[t+16>>2]))>=((u=(a>>=31)+c^a)+((a=s>>31)+s^a)|0))a=c;else{e:{t:{if((0|s)>=0){if(l=1,u=1,(0|c)>=0)break e;if(a=1,l=-1,u=-1,s)break t;break e}if(a=-1,l=-1,u=-1,(0|c)<=0)break e}l=(0|c)<=0?-1:1,u=a}a=(a=s<<1)-(s=d(u,b))|0,a=(((u=(0|d(l,u))>=0)?0-a|0:a)+(l=d(l,b))|0)/2|0,f[r+4>>2]=a,b=s,s=(c<<1)-l|0,s=(b+(u?0-s|0:s)|0)/2|0,f[r>>2]=s}e:{t:{r:{i:{n:{o:{a:{if(s){if((0|s)<0)break a;if((0|a)>=0)break o;break r}if(a)break n;l=1,c=0,a=0,u=0;break e}if(l=1,(0|a)>0)break i;u=(0|a)>0?253:0,c=a,a=s;break e}c=0-a|0,a=0-s|0,u=254;break t}if((0|a)<=0)break r}a=0-a|0,c=s,u=253;break t}c=0-s|0,u=255}f[r>>2]=a,f[r+4>>2]=c,l=0}r=f[i+4>>2]+c|0,(0|(s=f[i>>2]+a|0))>(0|(c=f[t+16>>2]))?s=s-f[t+4>>2]|0:(0-c|0)<=(0|s)||(s=f[t+4>>2]+s|0),(0|r)>(0|c)?r=r-f[t+4>>2]|0:(0-c|0)<=(0|r)||(r=f[t+4>>2]+r|0);e:if(l)t=r;else{t=r;t:switch((3&u)-1|0){case 0:t=0-s|0,s=r;break e;case 1:t=0-r|0,s=0-s|0;break e;case 2:break t;default:break e}t=s,s=0-r|0}if(o)r=t;else{e:{t:{if((0|s)>=0){if(r=1,a=1,(0|t)>=0)break e;if(i=1,r=-1,a=-1,s)break t;break e}if(i=-1,r=-1,a=-1,(0|t)<=0)break e}r=(0|t)<=0?-1:1,a=i}i=(i=s<<1)-(s=d(a,c))|0,f[e>>2]=i,b=0-i|0,u=i,r=(((i=(0|d(r,a))>=0)?b:u)+(a=d(r,c))|0)/2|0,t=(t<<1)-a|0,s=(s+(i?0-t|0:t)|0)/2|0}f[e>>2]=s+n,f[e+4>>2]=r+n}function de(e,t,r,i){var n=0,a=0,s=0,c=0,l=0,b=0;if(!((0|(c=i-r|0))<=0)){e:{if((0|c)<=((a=f[e+8>>2])-(l=f[e+4>>2])|0)){if((0|(b=l-t|0))>=(0|c)){s=l,a=i;break e}if(s=l,(0|(a=r+b|0))!=(0|i))for(n=a;o[0|s]=u[0|n],s=s+1|0,(0|(n=n+1|0))!=(0|i););if(f[e+4>>2]=s,(0|b)>0)break e;return}if((0|(i=c+(l-(n=f[e>>2])|0)|0))>=0){if(b=(a=a-n|0)<<1,r=ge((s=t-n|0)+(i=(a=a>>>0<1073741823?i>>>0>b>>>0?i:b:2147483647)?br(a):0)|0,r,c),(0|s)>0&&ge(i,n,s),r=r+c|0,(0|t)!=(0|l)){if(s=(-1^t)+l|0,c=l-t&7)for(n=0;o[0|r]=u[0|t],r=r+1|0,t=t+1|0,(0|c)!=(0|(n=n+1|0)););if(s>>>0>=7)for(;o[0|r]=u[0|t],o[r+1|0]=u[t+1|0],o[r+2|0]=u[t+2|0],o[r+3|0]=u[t+3|0],o[r+4|0]=u[t+4|0],o[r+5|0]=u[t+5|0],o[r+6|0]=u[t+6|0],o[r+7|0]=u[t+7|0],r=r+8|0,(0|l)!=(0|(t=t+8|0)););n=f[e>>2]}return f[e+8>>2]=i+a,f[e+4>>2]=r,f[e>>2]=i,void(n&&ee(n))}ii(),E()}if(l>>>0>(i=(n=s)-c|0)>>>0)for(;o[0|n]=u[0|i],n=n+1|0,l>>>0>(i=i+1|0)>>>0;);if(f[e+4>>2]=n,(e=s-(t+c|0)|0)&&Ze(s-e|0,t,e),(0|r)!=(0|a)){if(e=(-1^r)+a|0,s=a-r&7)for(i=0,n=t;o[0|n]=u[0|r],n=n+1|0,r=r+1|0,(0|s)!=(0|(i=i+1|0)););else n=t;if(!(e>>>0<7))for(;o[0|n]=u[0|r],o[n+1|0]=u[r+1|0],o[n+2|0]=u[r+2|0],o[n+3|0]=u[r+3|0],o[n+4|0]=u[r+4|0],o[n+5|0]=u[r+5|0],o[n+6|0]=u[r+6|0],o[n+7|0]=u[r+7|0],n=n+8|0,(0|a)!=(0|(r=r+8|0)););}}}function _e(e,t,r,i){e|=0,r|=0,i|=0;var n,a=0,s=0,c=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0;I=n=I-16|0,l=f[80+(t|=0)>>2],e=o[r+24|0],a=d(l,e);e:{t:{if(!(5==(0|(t=f[r+28>>2]))|6==(0|t))|!u[r+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,e){if((0|e)<0)break t;c=br(t=e<<2),f[n>>2]=c,s=t+c|0,f[n+8>>2]=s,Ye(c,0,t),f[n+4>>2]=s}s=f[i>>2],(t=f[i+4>>2]-s>>2)>>>0<a>>>0?st(i,a-t|0):t>>>0<=a>>>0||(f[i+4>>2]=s+(a<<2));r:if(l)if(e){for(m=-4&e,h=3&e,y=e-1>>>0<3,t=1,a=0;;){if(L(r,u[r+84|0]?a:f[f[r+68>>2]+(a<<2)>>2],o[r+24|0],c)){if(k=f[i>>2],_=0,s=f[n>>2],e=0,t=0,!y)for(;p=e<<2,f[(A=(b<<2)+k|0)>>2]=f[s+p>>2],f[A+4>>2]=f[s+(4|p)>>2],f[A+8>>2]=f[s+(8|p)>>2],f[A+12>>2]=f[s+(12|p)>>2],e=e+4|0,b=b+4|0,(0|m)!=(0|(t=t+4|0)););if(h)for(;f[(b<<2)+k>>2]=f[s+(e<<2)>>2],e=e+1|0,b=b+1|0,(0|(_=_+1|0))!=(0|h););if(t=l>>>0>(a=a+1|0)>>>0,(0|a)!=(0|l))continue}break}c=f[n>>2]}else for(e=0,t=1;;){if(!L(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],c))break r;if(t=l>>>0>(e=e+1|0)>>>0,(0|e)==(0|l))break}else t=0;c&&ee(c),e=1^t}else{if(c=f[r+48>>2],l=f[f[r>>2]>>2],t=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,r=0,e=a<<2){if((0|e)<0)break t;b=(t=ge(r=br(e),c+l|0,e))+e|0,t=t+(e>>2<<2)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=t,f[i+4>>2]=b,f[i>>2]=r,e=1}I=n+16|0,e&=1;break e}ii(),E()}return 0|e}function he(e){var t,r=0,i=0,n=0,o=0;if(f[(e|=0)>>2]=8364,(r=f[196+(t=e+232|0)>>2])&&(f[t+200>>2]=r,ee(r)),i=f[t+184>>2]){if((0|i)==(0|(r=f[t+188>>2])))r=i;else{for(;(o=f[(n=r-12|0)>>2])&&(f[r-8>>2]=o,ee(o)),(0|i)!=(0|(r=n)););r=f[t+184>>2]}f[t+188>>2]=i,ee(r)}if((r=f[t+156>>2])&&(f[t+160>>2]=r,ee(r)),i=f[t+136>>2],f[t+136>>2]=0,i){if(r=f[(n=i-4|0)>>2])for(r=i+(r<<4)|0;(0|i)!=(0|(r=r-16|0)););ee(n)}if(i=f[e+216>>2]){if((0|i)==(0|(r=f[e+220>>2])))r=i;else{for(;(n=f[r-12>>2])&&(f[r-8>>2]=n,ee(n)),(n=f[r-28>>2])&&(f[r-24>>2]=n,ee(n)),(n=f[r-40>>2])&&(f[r-36>>2]=n,ee(n)),Gt(r-140|0),(0|i)!=(0|(r=r-144|0)););r=f[e+216>>2]}f[e+220>>2]=i,ee(r)}if((r=f[e+196>>2])&&(f[e+200>>2]=r,ee(r)),(r=f[e+184>>2])&&(f[e+188>>2]=r,ee(r)),(r=f[e+172>>2])&&(f[e+176>>2]=r,ee(r)),(r=f[e+160>>2])&&(f[e+164>>2]=r,ee(r)),r=f[e+144>>2])for(;i=f[r>>2],ee(r),r=i;);return r=f[e+136>>2],f[e+136>>2]=0,r&&ee(r),(r=f[e+120>>2])&&ee(r),(r=f[e+108>>2])&&ee(r),(r=f[e+96>>2])&&ee(r),(r=f[e+72>>2])&&(f[e+76>>2]=r,ee(r)),(r=f[e+60>>2])&&ee(r),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),(r=f[e+36>>2])&&(f[e+40>>2]=r,ee(r)),(r=f[e+24>>2])&&(f[e+28>>2]=r,ee(r)),(r=f[e+12>>2])&&(f[e+16>>2]=r,ee(r)),r=f[e+8>>2],f[e+8>>2]=0,r&&Mt(r),0|e}function ke(e,t){e|=0;var r,i=0,n=0,a=0,s=0,c=0,l=0,A=0,p=0,d=0;if(I=r=I-16|0,i=f[20+(t|=0)>>2],i=(c=(n=f[t+16>>2])+4|0)>>>0<4?i+1|0:i,!((0|(a=f[t+12>>2]))<=(0|i)&c>>>0>b[t+8>>2]|(0|i)>(0|a))&&(n=n+f[t>>2]|0,n=u[0|n]|u[n+1|0]<<8|u[n+2|0]<<16|u[n+3|0]<<24,f[t+16>>2]=c,f[t+20>>2]=i,!((0|n)<0)&&(xe(e+76|0,n),f[(i=r)>>2]=0,f[i+4>>2]=0,o[i+5|0]=0,o[i+6|0]=0,o[i+7|0]=0,o[i+8|0]=0,o[i+9|0]=0,o[i+10|0]=0,o[i+11|0]=0,o[i+12|0]=0,Ie(i,t)))){if(n)for(a=1;s=1<<l,A=Wt(i),c=f[e+76>>2]+(l>>>3&536870908)|0,1&(a^=A)?s=f[c>>2]&(-1^s):s|=f[c>>2],a^=1,f[c>>2]=s,(0|n)!=(0|(l=l+1|0)););l=0,c=n=f[t+12>>2],a=i=f[t+20>>2],i=(A=(s=f[t+16>>2])+4|0)>>>0<4?i+1|0:i,(p=f[t+8>>2])>>>0<A>>>0&(0|i)>=(0|n)|(0|i)>(0|n)||(d=f[t>>2],n=u[0|(n=d+s|0)]|u[n+1|0]<<8|u[n+2|0]<<16|u[n+3|0]<<24,f[t+16>>2]=A,f[t+20>>2]=i,i=a,s=a=s+8|0,a=i=a>>>0<8?i+1|0:i,s>>>0>p>>>0&(0|i)>=(0|c)|(0|i)>(0|c)||(i=u[0|(i=A+d|0)]|u[i+1|0]<<8|u[i+2|0]<<16|u[i+3|0]<<24,f[t+16>>2]=s,f[t+20>>2]=a,(0|i)<(0|n)||(f[e+16>>2]=i,f[e+12>>2]=n,!(t=(i>>31)-((n>>31)+(i>>>0<n>>>0)|0)|0)&(i=i-n|0)>>>0>2147483646|t||(l=1,t=i+1|0,f[e+20>>2]=t,i=t>>>1|0,f[e+24>>2]=i,f[e+28>>2]=0-i,1&t||(f[e+24>>2]=i-1)))))}return I=r+16|0,0|l}function me(e,t){var r=0,i=0,n=0,o=0,a=0;o=-1,i=-1,-1!=(0|t)&&(o=((i=t+1|0)>>>0)%3|0?i:t-2|0,i=t-1|0,(t>>>0)%3|0||(i=t+2|0));e:{t:{r:switch(f[e+168>>2]){case 0:case 1:n=f[e+148>>2],r=1,a=(t=f[e+156>>2])+((-1!=(0|o)?f[f[n>>2]+(o<<2)>>2]:-1)<<2)|0,f[a>>2]=f[a>>2]+1,t=((-1!=(0|i)?f[f[n>>2]+(i<<2)>>2]:-1)<<2)+t|0;break t;case 5:n=f[e+148>>2],r=-1,r=(-1!=(0|t)?f[f[n>>2]+(t<<2)>>2]:r)<<2,t=f[e+156>>2],f[(r=r+t|0)>>2]=f[r>>2]+1,r=((-1!=(0|o)?f[f[n>>2]+(o<<2)>>2]:-1)<<2)+t|0,f[r>>2]=f[r>>2]+1,r=2,t=((-1!=(0|i)?f[f[n>>2]+(i<<2)>>2]:-1)<<2)+t|0;break t;case 3:n=f[e+148>>2],r=-1,r=(-1!=(0|t)?f[f[n>>2]+(t<<2)>>2]:r)<<2,t=f[e+156>>2],f[(r=r+t|0)>>2]=f[r>>2]+1,r=((-1!=(0|o)?f[f[n>>2]+(o<<2)>>2]:-1)<<2)+t|0,f[r>>2]=f[r>>2]+2,r=1,t=((-1!=(0|i)?f[f[n>>2]+(i<<2)>>2]:-1)<<2)+t|0;break t;case 7:break r;default:break e}n=f[e+148>>2],r=-1,r=(-1!=(0|t)?f[f[n>>2]+(t<<2)>>2]:r)<<2,t=f[e+156>>2],f[(r=r+t|0)>>2]=f[r>>2]+2,r=((-1!=(0|o)?f[f[n>>2]+(o<<2)>>2]:-1)<<2)+t|0,f[r>>2]=f[r>>2]+2,r=2,t=((-1!=(0|i)?f[f[n>>2]+(i<<2)>>2]:-1)<<2)+t|0}f[t>>2]=f[t>>2]+r}r=e,i=f[e+180>>2],t=f[f[e+156>>2]+((-1!=(0|o)?f[f[f[e+148>>2]>>2]+(o<<2)>>2]:-1)<<2)>>2],e=f[e+176>>2],f[r+172>>2]=(0|e)>(0|t)?0:((0|t)>(0|i)?i:t)-e|0}function ye(e,t,r){var i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0;if((i=f[e+8>>2])-(n=f[e>>2])>>2>>>0>=t>>>0){if(o=t>>>0>(s=(a=f[e+4>>2])-n>>2)>>>0?s:t){if(l=o-1|0,c=7&o)for(i=n;f[i>>2]=f[r>>2],o=o-1|0,i=i+4|0,(0|(u=u+1|0))!=(0|c););else i=n;if(!(l>>>0<7))for(;f[i>>2]=f[r>>2],f[i+4>>2]=f[r>>2],f[i+8>>2]=f[r>>2],f[i+12>>2]=f[r>>2],f[i+16>>2]=f[r>>2],f[i+20>>2]=f[r>>2],f[i+24>>2]=f[r>>2],f[i+28>>2]=f[r>>2],i=i+32|0,o=o-8|0;);}if(t>>>0>s>>>0){if(i=e,e=t-s|0)for(e=(e<<2)+a|0;f[a>>2]=f[r>>2],(0|e)!=(0|(a=a+4|0)););else e=a;return void(f[i+4>>2]=e)}f[e+4>>2]=n+(t<<2)}else if(n&&(f[e+4>>2]=n,ee(n),f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,i=0),t>>>0>=1073741824||(n=i>>1,(i=i>>2>>>0<536870911?t>>>0>n>>>0?t:n:1073741823)>>>0>=1073741824))ii(),E();else{if(n=br(i<<=2),f[e>>2]=n,f[e+8>>2]=i+n,r=f[r>>2],i=n,s=1+((a=(t<<=2)-4|0)>>>2|0)&7)for(;f[i>>2]=r,i=i+4|0,(0|s)!=(0|(o=o+1|0)););if(t=t+n|0,a>>>0>=28)for(;f[i+28>>2]=r,f[i+24>>2]=r,f[i+20>>2]=r,f[i+16>>2]=r,f[i+12>>2]=r,f[i+8>>2]=r,f[i+4>>2]=r,f[i>>2]=r,(0|t)!=(0|(i=i+32|0)););f[e+4>>2]=t}}function ve(e,t,r){var i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0;if((o=f[e+8>>2])-(n=f[e+4>>2])>>2>>>0>=t>>>0){if(t){if(i=n,s=1+((a=(t<<2)-4|0)>>>2|0)&7)for(;f[i>>2]=f[r>>2],i=i+4|0,(0|s)!=(0|(c=c+1|0)););if(n=(t<<2)+n|0,!(a>>>0<28))for(;f[i>>2]=f[r>>2],f[i+4>>2]=f[r>>2],f[i+8>>2]=f[r>>2],f[i+12>>2]=f[r>>2],f[i+16>>2]=f[r>>2],f[i+20>>2]=f[r>>2],f[i+24>>2]=f[r>>2],f[i+28>>2]=f[r>>2],(0|n)!=(0|(i=i+32|0)););}f[e+4>>2]=n}else{e:{if((i=(n=(l=n-(a=f[e>>2])|0)>>2)+t|0)>>>0<1073741824){if(u=(o=o-a|0)>>1,o=o>>2>>>0<536870911?i>>>0>u>>>0?i:u:1073741823){if(o>>>0>=1073741824)break e;s=br(o<<2)}if(i=n=(n<<2)+s|0,b=1+((u=(t<<=2)-4|0)>>>2|0)&7)for(i=n;f[i>>2]=f[r>>2],i=i+4|0,(0|b)!=(0|(c=c+1|0)););if(t=t+n|0,u>>>0>=28)for(;f[i>>2]=f[r>>2],f[i+4>>2]=f[r>>2],f[i+8>>2]=f[r>>2],f[i+12>>2]=f[r>>2],f[i+16>>2]=f[r>>2],f[i+20>>2]=f[r>>2],f[i+24>>2]=f[r>>2],f[i+28>>2]=f[r>>2],(0|t)!=(0|(i=i+32|0)););return(0|l)>0&&ge(s,a,l),f[e+8>>2]=(o<<2)+s,f[e+4>>2]=t,f[e>>2]=s,void(a&&ee(a))}ii(),E()}Lt(1326),E()}}function ge(e,t,r){var i,n=0,a=0;if(r>>>0>=512)return B(0|e,0|t,0|r),e;i=e+r|0;e:if(3&(e^t))if(i>>>0<4)r=e;else if((n=i-4|0)>>>0<e>>>0)r=e;else for(r=e;o[0|r]=u[0|t],o[r+1|0]=u[t+1|0],o[r+2|0]=u[t+2|0],o[r+3|0]=u[t+3|0],t=t+4|0,n>>>0>=(r=r+4|0)>>>0;);else{t:if(3&e)if(r)for(r=e;;){if(o[0|r]=u[0|t],t=t+1|0,!(3&(r=r+1|0)))break t;if(!(r>>>0<i>>>0))break}else r=e;else r=e;if(!((n=-4&i)>>>0<64||(a=n+-64|0)>>>0<r>>>0))for(;f[r>>2]=f[t>>2],f[r+4>>2]=f[t+4>>2],f[r+8>>2]=f[t+8>>2],f[r+12>>2]=f[t+12>>2],f[r+16>>2]=f[t+16>>2],f[r+20>>2]=f[t+20>>2],f[r+24>>2]=f[t+24>>2],f[r+28>>2]=f[t+28>>2],f[r+32>>2]=f[t+32>>2],f[r+36>>2]=f[t+36>>2],f[r+40>>2]=f[t+40>>2],f[r+44>>2]=f[t+44>>2],f[r+48>>2]=f[t+48>>2],f[r+52>>2]=f[t+52>>2],f[r+56>>2]=f[t+56>>2],f[r+60>>2]=f[t+60>>2],t=t- -64|0,a>>>0>=(r=r- -64|0)>>>0;);if(r>>>0>=n>>>0)break e;for(;f[r>>2]=f[t>>2],t=t+4|0,n>>>0>(r=r+4|0)>>>0;);}if(r>>>0<i>>>0)for(;o[0|r]=u[0|t],t=t+1|0,(0|i)!=(0|(r=r+1|0)););return e}function we(e){var t,r=0,i=0,n=0;if(f[(e|=0)>>2]=8312,t=f[e+368>>2],f[e+368>>2]=0,t){if(r=f[(n=t-4|0)>>2])for(i=(r<<4)+t|0;(0|t)!=(0|(i=i-16|0)););ee(n)}if(n=f[e+216>>2]){if((0|n)==(0|(i=f[e+220>>2])))r=n;else{for(;(r=f[i-12>>2])&&(f[i-8>>2]=r,ee(r)),(r=f[i-28>>2])&&(f[i-24>>2]=r,ee(r)),(r=f[i-40>>2])&&(f[i-36>>2]=r,ee(r)),Gt(i-140|0),(0|n)!=(0|(i=i-144|0)););r=f[e+216>>2]}f[e+220>>2]=n,ee(r)}if((r=f[e+196>>2])&&(f[e+200>>2]=r,ee(r)),(r=f[e+184>>2])&&(f[e+188>>2]=r,ee(r)),(r=f[e+172>>2])&&(f[e+176>>2]=r,ee(r)),(r=f[e+160>>2])&&(f[e+164>>2]=r,ee(r)),i=f[e+144>>2])for(;r=f[i>>2],ee(i),i=r,r;);return r=f[e+136>>2],f[e+136>>2]=0,r&&ee(r),(r=f[e+120>>2])&&ee(r),(r=f[e+108>>2])&&ee(r),(r=f[e+96>>2])&&ee(r),(r=f[e+72>>2])&&(f[e+76>>2]=r,ee(r)),(r=f[e+60>>2])&&ee(r),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),(r=f[e+36>>2])&&(f[e+40>>2]=r,ee(r)),(r=f[e+24>>2])&&(f[e+28>>2]=r,ee(r)),(r=f[e+12>>2])&&(f[e+16>>2]=r,ee(r)),r=f[e+8>>2],f[e+8>>2]=0,r&&Mt(r),0|e}function Ee(e,t,r,i){var n,o=0,a=0,f=0,s=0,c=0,u=0,l=0,b=0;n=r;e:{t:{r:{i:{n:{o:{a:{f:{s:{c:{u:{if(t){if(!n)break u;if(!i)break c;if((r=k(i)-k(t)|0)>>>0<=31)break s;break r}if(1==(0|i)|i>>>0>1)break r;e=(e>>>0)/(n>>>0)|0,C=0;break e}if(!e)break f;if(!i)break a;if(i-1&i)break a;e=t>>>Cr(i)|0,C=0;break e}if(!(n-1&n))break o;o=0-(f=(k(n)+33|0)-k(t)|0)|0;break i}f=r+1|0,o=63-r|0;break i}e=(t>>>0)/(i>>>0)|0,C=0;break e}if((r=k(i)-k(t)|0)>>>0<31)break n;break r}if(1==(0|n))break t;i=31&(r=Cr(n)),(63&r)>>>0>=32?(r=0,e=t>>>i|0):(r=t>>>i|0,e=((1<<i)-1&t)<<32-i|e>>>i),C=r;break e}f=r+1|0,o=63-r|0}if(a=31&(r=63&f),r>>>0>=32?(r=0,c=t>>>a|0):(r=t>>>a|0,c=((1<<a)-1&t)<<32-a|e>>>a),a=r,o=31&(r=63&o),r>>>0>=32?(r=e<<o,e=0):(r=(1<<o)-1&e>>>32-o|t<<o,e<<=o),t=r,f)for(r=i-1|0,l=-1!=(0|(o=n-1|0))?r+1|0:r;c=(r=c<<1|t>>>31)-(u=n&(s=l-((a=a<<1|c>>>31)+(r>>>0>o>>>0)|0)>>31))|0,a=a-((i&s)+(r>>>0<u>>>0)|0)|0,t=t<<1|e>>>31,e=b|e<<1,b=s&=1,f=f-1|0;);C=t<<1|e>>>31,e=s|e<<1;break e}e=0,t=0}C=t}return e}function Te(e,t){var r=0,i=0,n=0;r=(0|e)==(0|t),o[t+12|0]=r;e:if(!r)for(;;){if(i=f[t+8>>2],u[i+12|0])break e;t:{if(r=f[i+8>>2],(0|i)!=(0|(n=f[r>>2]))){if(!(u[n+12|0]|!n))break t;f[i>>2]==(0|t)?(e=f[t+4>>2],f[i>>2]=e,e&&(f[e+8>>2]=i,r=f[i+8>>2]),f[t+8>>2]=r,e=f[i+8>>2],f[(((0|i)!=f[e>>2])<<2)+e>>2]=t,f[t+4>>2]=i,f[i+8>>2]=t,r=f[t+8>>2]):t=i,o[t+12|0]=1,o[r+12|0]=0,e=f[r+4>>2],t=f[e>>2],f[r+4>>2]=t,t&&(f[t+8>>2]=r),f[e+8>>2]=f[r+8>>2],t=f[r+8>>2],f[((f[t>>2]!=(0|r))<<2)+t>>2]=e,f[e>>2]=r,t=r+8|0}else{if(!(!(n=f[r+4>>2])|u[n+12|0]))break t;f[i>>2]!=(0|t)?(t=f[i+4>>2],e=f[t>>2],f[i+4>>2]=e,e&&(f[e+8>>2]=i,r=f[i+8>>2]),f[t+8>>2]=r,e=f[i+8>>2],f[(((0|i)!=f[e>>2])<<2)+e>>2]=t,f[t>>2]=i,f[i+8>>2]=t,r=f[t+8>>2]):t=i,o[t+12|0]=1,o[r+12|0]=0,e=f[r>>2],t=f[e+4>>2],f[r>>2]=t,t&&(f[t+8>>2]=r),f[e+8>>2]=f[r+8>>2],t=f[r+8>>2],f[((f[t>>2]!=(0|r))<<2)+t>>2]=e,f[e+4>>2]=r,t=r+8|0}f[t>>2]=e;break e}if(o[i+12|0]=1,i=(0|e)==(0|r),o[r+12|0]=i,o[n+12|0]=1,t=r,i)break}}function Be(e,t,r){e|=0,t|=0,r|=0;var i,n=0,a=0,s=0,c=0,u=0,l=_(0),b=0,p=0,d=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,E=0;if(I=i=I-16|0,9==f[r+28>>2]){n=f[e+4>>2],a=(c=o[r+24|0])<<2,s=br((1073741823&c)!=(0|c)?-1:a),f[(p=i+8|0)>>2]=1065353216,l=A[e+20>>2],(0|(n=-1<<n^-1))>0&&(A[p>>2]=l/_(0|n));e:if((k=(0|n)>0)&&(b=f[r+80>>2]))if(n=0,(0|c)<=0){if(1!=(0|b))for(e=-2&b,t=0;ge(f[f[r+64>>2]>>2]+n|0,s,a),ge((n=n+a|0)+f[f[r+64>>2]>>2]|0,s,a),n=n+a|0,(0|e)!=(0|(t=t+2|0)););if(!(1&b))break e;ge(f[f[r+64>>2]>>2]+n|0,s,a)}else for(m=f[f[t>>2]>>2]+f[t+48>>2]|0,w=-2&c,E=1&c;;){if(d=f[e+8>>2],l=A[p>>2],t=0,h=0,1!=(0|c))for(;y=(n<<2)+m|0,A[(u=t<<2)+s>>2]=_(l*_(f[y>>2]))+A[u+d>>2],A[(u|=4)+s>>2]=_(l*_(f[y+4>>2]))+A[u+d>>2],t=t+2|0,n=n+2|0,(0|w)!=(0|(h=h+2|0)););if(E&&(A[(t<<=2)+s>>2]=_(l*_(f[(n<<2)+m>>2]))+A[t+d>>2],n=n+1|0),ge(f[f[r+64>>2]>>2]+v|0,s,a),v=a+v|0,(0|(g=g+1|0))==(0|b))break}ee(s)}return I=i+16|0,0|k}function Re(e,t,r){var i=0,n=0,o=0,a=0,s=0,c=0,u=0;i=(r>>>0)/3|0,a=f[(f[f[e+8>>2]+96>>2]+d(i,12)|0)+(r-d(i,3)<<2)>>2],n=f[f[e+12>>2]+4>>2];e:if((0|(i=f[n+4>>2]))==f[n+8>>2]){t:{if((i=1+(u=(c=i-(s=f[n>>2])|0)>>2)|0)>>>0<1073741824){if(o=c>>1,o=u>>>0<536870911?i>>>0>o>>>0?i:o:1073741823){if(o>>>0>=1073741824)break t;i=br(o<<2)}else i=0;f[(u=i+(u<<2)|0)>>2]=a,(0|c)>0&&ge(i,s,c),f[n+8>>2]=i+(o<<2),f[n+4>>2]=u+4,f[n>>2]=i,s&&ee(s);break e}ii(),E()}Lt(1326),E()}else f[i>>2]=a,f[n+4>>2]=i+4;n=f[e+4>>2];e:{t:{if((0|(i=f[n+4>>2]))==f[n+8>>2]){if((i=1+(a=(c=i-(s=f[n>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(o=c>>1,o=a>>>0<536870911?i>>>0>o>>>0?i:o:1073741823){if(o>>>0>=1073741824)break e;i=br(o<<2)}else i=0;f[(a=i+(a<<2)|0)>>2]=r,(0|c)>0&&ge(i,s,c),f[n+8>>2]=i+(o<<2),f[n+4>>2]=a+4,f[n>>2]=i,s&&ee(s)}else f[i>>2]=r,f[n+4>>2]=i+4;return e=f[e+4>>2],f[f[e+12>>2]+(t<<2)>>2]=f[e+24>>2],void(f[e+24>>2]=f[e+24>>2]+1)}ii(),E()}Lt(1326),E()}function xe(e,t){var r,i=0,n=0,o=0,a=0,s=0,c=0;I=r=I-16|0;e:{t:if((n=f[e+4>>2])>>>0<t>>>0){if((o=t-n|0)>>>0>(i=(s=f[e+8>>2])<<5)>>>0|n>>>0>i-o>>>0){if(f[r+8>>2]=0,f[r>>2]=0,f[r+4>>2]=0,(0|t)<0)break e;i>>>0<=1073741822?(i=t+31&-32,t=(t=s<<6)>>>0<i>>>0?i:t):t=2147483647,at(r,t),n=f[e+4>>2],f[r+4>>2]=n+o,c=f[e>>2],t=f[r>>2],(0|n)<=0||(t=Ze(t,c,s=(i=n>>>5|0)<<2)+s|0,(0|(a=n-(i<<5)|0))<=0?a=0:(i=-1>>>32-a|0,f[t>>2]=f[t>>2]&(-1^i)|i&f[c+s>>2]),c=f[e>>2]),f[e>>2]=f[r>>2],f[r>>2]=c,i=f[e+4>>2],f[e+4>>2]=f[r+4>>2],f[r+4>>2]=i,i=f[e+8>>2],f[e+8>>2]=f[r+8>>2],f[r+8>>2]=i,c&&ee(c)}else f[e+4>>2]=t,a=31&n,t=f[e>>2]+(n>>>3&536870908)|0;if(!o)break t;if(a&&(e=(i=32-a|0)>>>0>o>>>0?o:i,f[t>>2]=f[t>>2]&(-1<<a&-1>>>i-e^-1),o=o-e|0,t=t+4|0),e=Ye(t,0,i=o>>>5<<2),!(t=31&o))break t;f[(e=e+i|0)>>2]=f[e>>2]&(-1>>>32-t^-1)}else f[e+4>>2]=t;return void(I=r+16|0)}ii(),E()}function Ne(e,t){var r=0,i=0,n=0,a=0,s=0,c=0,l=0,A=0;if((i=u[e+11|0]>>>7|0?f[e+4>>2]:u[e+11|0])>>>0<t>>>0)return I=c=I-16|0,(a=t-i|0)&&(l=(s=(t=u[e+11|0]>>>7|0)?f[e+4>>2]:u[e+11|0])+a|0,(t=t?(2147483647&f[e+8>>2])-1|0:10)-s>>>0<a>>>0&&(I=i=I-16|0,(r=l-t|0)>>>0<=-17-t>>>0?(A=u[e+11|0]>>>7|0?f[e>>2]:e,t>>>0<2147483623?(f[i+8>>2]=t<<1,f[i+12>>2]=t+r,I=r=I-16|0,I=r+16|0,r=i+8|0,r=(r=f[(b[(n=i+12|0)>>2]<b[r>>2]?r:n)>>2])>>>0>=11?11==(0|(r=(n=r+16&-16)-1|0))?n:r:10):r=-18,r=br(n=r+1|0),s&&Lr(r,A,s),10!=(0|t)&&ee(A),f[e>>2]=r,f[e+8>>2]=-2147483648|n,I=i+16|0):(oi(),E())),i=s+(t=u[e+11|0]>>>7|0?f[e>>2]:e)|0,a&&Ye(i,0,a),u[e+11|0]>>>7|0?f[e+4>>2]=l:o[e+11|0]=l,o[c+15|0]=0,o[t+l|0]=u[c+15|0]),void(I=c+16|0);I=i=I-16|0,u[e+11|0]>>>7|0?(a=f[e>>2],o[i+15|0]=0,o[t+a|0]=u[i+15|0],f[e+4>>2]=t):(o[i+14|0]=0,o[e+t|0]=u[i+14|0],o[e+11|0]=t),I=i+16|0}function Ie(e,t){var r,i=0,n=0,a=0,s=0,c=0,l=0,A=0,p=0,d=0;I=r=I-16|0;e:if(!((0|(a=f[t+20>>2]))>=(0|(i=f[t+12>>2]))&(n=f[t+16>>2])>>>0>=b[t+8>>2]|(0|i)<(0|a))&&(o[e+12|0]=u[n+f[t>>2]|0],a=f[t+20>>2],a=(i=f[t+16>>2]+1|0)?a:a+1|0,f[t+16>>2]=i,f[t+20>>2]=a,function e(t,r,i){var n=0,o=0,a=0,s=0,c=0;t:if(!(t>>>0>5||(a=f[i+20>>2],n=a,s=f[i+12>>2],o=f[i+16>>2],(0|n)>=(0|s)&o>>>0>=b[i+8>>2]|(0|n)>(0|s)))){if(n=u[o+f[i>>2]|0],a=(o=o+1|0)?a:a+1|0,f[i+16>>2]=o,f[i+20>>2]=a,128&n){if(!e(t+1|0,r,i))break t;n=127&n|f[r>>2]<<7}f[r>>2]=n,c=1}return c}(1,r+12|0,t)&&(n=(a=f[t+8>>2])-(i=c=f[t+16>>2])|0,i=i>>>0>a>>>0,a=f[t+20>>2],!((0|(s=f[t+12>>2]-(i+a|0)|0))<=0&n>>>0<(i=f[r+12>>2])>>>0|(0|s)<0|(0|i)<=0)))){n=c+f[t>>2]|0,f[e>>2]=n,p=e;t:if((A=u[0|(l=(s=i-1|0)+n|0)])>>>0<=63)f[e+4>>2]=s,e=63&u[0|l];else{r:switch((A>>>6|0)-1|0){case 0:if(i>>>0<2)break e;f[e+4>>2]=i-2,e=u[1+(n=(i+n|0)-2|0)|0]<<8&16128|u[0|n];break t;case 1:break r;default:break e}if(i>>>0<3)break e;f[e+4>>2]=i-3,e=u[2+(n=(i+n|0)-3|0)|0]<<16&4128768|u[n+1|0]<<8|u[0|n]}e=e+4096|0,f[p+8>>2]=e,e>>>0>1048575||(e=a,e=(n=i+c|0)>>>0<i>>>0?e+1|0:e,f[t+16>>2]=n,f[t+20>>2]=e,d=1)}return I=r+16|0,d}function Ce(e,t,r){t|=0,r|=0;var i=0,n=0,a=0,s=0,c=0,l=0,A=0;return(i=(a=f[12+(e|=0)>>2])-(c=f[e+8>>2])>>2)>>>0<(t=o[t+24|0])>>>0?(st(e+8|0,t-i|0),c=f[e+8>>2],a=f[e+12>>2]):t>>>0>=i>>>0||(a=(t<<2)+c|0,f[e+12>>2]=a),t=0,l=f[r+20>>2],a=i=a-c|0,s=(n=f[r+16>>2])+i|0,A=f[r+12>>2],l=i>>>0>s>>>0?l+1|0:l,s>>>0>b[r+8>>2]&(0|A)<=(0|l)|(0|l)>(0|A)||(ge(c,n+f[r>>2]|0,i),i=f[r+20>>2],i=(n=a+f[r+16>>2]|0)>>>0<a>>>0?i+1|0:i,s=n,f[r+16>>2]=n,f[r+20>>2]=i,n=f[r+12>>2],i=(a=s+4|0)>>>0<4?i+1|0:i,a>>>0>b[r+8>>2]&(0|i)>=(0|n)|(0|i)>(0|n)||(i=s+f[r>>2]|0,f[e+20>>2]=u[0|i]|u[i+1|0]<<8|u[i+2|0]<<16|u[i+3|0]<<24,i=f[r+20>>2],a=(n=(s=f[r+16>>2])+4|0)>>>0<4?i+1|0:i,A=n,f[r+16>>2]=n,f[r+20>>2]=a,(0|a)>=(0|(n=f[r+12>>2]))&A>>>0>=b[r+8>>2]|(0|a)>(0|n)||(n=u[A+f[r>>2]|0],i=(a=s+5|0)>>>0<5?i+1|0:i,f[r+16>>2]=a,f[r+20>>2]=i,n-1>>>0>29||(f[e+4>>2]=n,t=1)))),0|t}function De(e,t){var r,i=0,n=0,a=0,s=0,c=0;I=r=I-16|0;e:{t:{if(t){if(f[e+88>>2]=0,f[e+92>>2]=0,i=f[e+84>>2],f[e+84>>2]=0,i&&ee(i),f[e+76>>2]=0,f[e+80>>2]=0,i=f[e+72>>2],f[e+72>>2]=0,i&&ee(i),i=f[t>>2],n=f[t+4>>2],o[r+15|0]=0,Je(e,n-i>>2,r+15|0),i=f[t+28>>2],n=f[t+24>>2],o[r+14|0]=0,Je(e+12|0,i-n>>2,r+14|0),ye(e+28|0,f[t+4>>2]-f[t>>2]>>2,10316),a=(n=f[t+28>>2]-f[t+24>>2]|0)>>2,i=f[e+52>>2],!(a>>>0<=f[e+60>>2]-i>>2>>>0)){if((0|n)<0)break t;s=f[e+56>>2],c=(n=br(n))+(a<<2)|0,s=(a=s-i|0)+n|0,(0|a)>0&&ge(n,i,a),f[e+60>>2]=c,f[e+56>>2]=s,f[e+52>>2]=n,i&&ee(i)}if(a=(n=f[t+28>>2]-f[t+24>>2]|0)>>2,i=f[e+40>>2],!(a>>>0<=f[e+48>>2]-i>>2>>>0)){if((0|n)<0)break e;s=f[e+44>>2],c=(n=br(n))+(a<<2)|0,s=(a=s-i|0)+n|0,(0|a)>0&&ge(n,i,a),f[e+48>>2]=c,f[e+44>>2]=s,f[e+40>>2]=n,i&&ee(i)}o[e+24|0]=1,f[e+64>>2]=t}return void(I=r+16|0)}Lt(1326),E()}Lt(1326),E()}function Me(e,t,r){e|=0,t|=0,r|=0;var i=0,n=_(0),a=_(0),l=_(0),b=_(0),A=_(0),p=0,d=_(0),k=_(0),m=_(0),v=_(0),g=0;if(!(9!=f[r+28>>2]|3!=u[r+24|0])&&!((e=f[e+4>>2])-31>>>0<4294967267)&&(g=1,p=f[r+80>>2]))for(d=_(_(2)/_((1<<e)-2|0)),r=f[f[r>>2]>>2]+f[r+48>>2]|0,e=f[f[t>>2]>>2]+f[t+48>>2]|0,t=0;l=_(0),k=_(0),m=_(0),n=_(_(_(f[e>>2])*d)+_(-1)),a=_(_(_(f[e+4>>2])*d)+_(-1)),A=_(_(_(1)-_(h(n)))-_(h(a))),b=_(y(_(-A),_(0))),v=_(-b),a=_(a+(a<_(0)?b:v)),n=_(n+(n<_(0)?b:v)),+(b=_(_(a*a)+_(_(A*A)+_(n*n))))<1e-6||(l=_(_(1)/_(w(b))),m=_(a*l),k=_(n*l),l=_(A*l)),e=e+8|0,s(m),i=c(2),o[r+8|0]=i,o[r+9|0]=i>>>8,o[r+10|0]=i>>>16,o[r+11|0]=i>>>24,s(k),i=c(2),o[r+4|0]=i,o[r+5|0]=i>>>8,o[r+6|0]=i>>>16,o[r+7|0]=i>>>24,s(l),i=c(2),o[0|r]=i,o[r+1|0]=i>>>8,o[r+2|0]=i>>>16,o[r+3|0]=i>>>24,r=r+12|0,(0|p)!=(0|(t=t+1|0)););return 0|g}function Ge(e,t,r,i){var n,o=0,a=0,s=0,c=0,u=0,l=0,b=0,p=0;u=+A[t>>2],l=+A[t+4>>2],b=+A[t+8>>2],(s=h(u)+h(l)+h(b))>1e-6?(l*=s=1/s,u*=s,o=s*b<0):(u=1,l=0,o=0),n=f[e+16>>2],s=v(u*(b=+(0|n))+.5),c=(a=(p=h(s)<2147483648?~~s:-2147483648)>>31)+p^a,s=v(l*b+.5),c=(0|(t=n-(c+((a=h(s)<2147483648?~~s:-2147483648)+(t=a>>31)^t)|0)|0))<0?0:t,o=o?0-c|0:c,a=a+(t>>31&((0|a)>0?t:0-t|0))|0,(0|p)>=0?(t=o+n|0,e=f[e+8>>2],o=a+n|0):(t=a>>31,t^=t+a,e=f[e+8>>2],t=(0|o)<0?t:e-t|0,o=(0|a)<0?c:e-c|0),t|o&&(0|e)!=(0|t)|o&&t|(a=(0|e)!=(0|o))?(0|t)<=(0|n)|o?(0|t)>=(0|n)|a?(0|e)!=(0|t)|(0|o)>=(0|n)?t?e=o:(t=0,e=(0|o)<=(0|n)?o:(n<<1)-o|0):(t=e,e=(n<<1)-o|0):t=(n<<1)-t|0:(t=(n<<1)-t|0,e=0):t=e,f[r>>2]=e,f[i>>2]=t}function Ue(e,t){var r,i,n,a=0,s=0,c=0;i=f[e>>2],f[(a=i+(t>>>3&536870908)|0)>>2]=f[a>>2]|1<<t,r=f[e+64>>2],s=-1,(c=-1==(0|t))||(s=-1,-1!=(0|(a=((a=t+1|0)>>>0)%3|0?a:t-2|0))&&(s=f[f[r>>2]+(a<<2)>>2])),a=f[e+12>>2],f[(n=(s>>>3&536870908)+a|0)>>2]=f[n>>2]|1<<s;e:{if(c)e=a+536870908|0,t=f[a+536870908>>2],a=-2147483648;else{t:{if((t>>>0)%3|0)c=t-1|0;else if(s=-1,-1==(0|(c=t+2|0)))break t;s=f[f[r>>2]+(c<<2)>>2]}if(f[(c=(s>>>3&536870908)+a|0)>>2]=f[c>>2]|1<<s,s=-1,-1==(0|(t=f[f[r+12>>2]+(t<<2)>>2])))break e;o[e+24|0]=0,f[(e=(t>>>3&536870908)+i|0)>>2]=f[e>>2]|1<<t,-1!=(0|(e=((e=t+1|0)>>>0)%3|0?e:t-2|0))&&(s=f[f[r>>2]+(e<<2)>>2]),f[(e=a+(s>>>3&536870908)|0)>>2]=f[e>>2]|1<<s;t:{if((t>>>0)%3|0)t=t-1|0;else if(e=-1,-1==(0|(t=t+2|0)))break t;e=f[f[r>>2]+(t<<2)>>2]}t=1<<e,a=f[(e=a+(e>>>3&536870908)|0)>>2]}f[e>>2]=t|a}}function Ve(e,t){var r=0,i=0;r=f[t+8>>2],f[e+4>>2]=f[t+4>>2],f[e+8>>2]=r,f[e+20>>2]=f[t+20>>2],r=f[t+16>>2],f[e+12>>2]=f[t+12>>2],f[e+16>>2]=r;e:{t:{if((0|e)!=(0|t)){if(r=f[t+28>>2]){if(f[e+32>>2]<<5>>>0>=r>>>0)i=f[e+24>>2];else{if((i=f[e+24>>2])&&(ee(i),f[e+32>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,r=f[t+28>>2]),(0|r)<0)break t;i=br((r=1+(r-1>>>5|0)|0)<<2),f[e+32>>2]=r,f[e+28>>2]=0,f[e+24>>2]=i,r=f[t+28>>2]}Ze(i,f[t+24>>2],4+(r-1>>>3&536870908)|0),r=f[t+28>>2]}else r=0;if(f[e+28>>2]=r,r=f[t+40>>2]){if(f[e+44>>2]<<5>>>0>=r>>>0)i=f[e+36>>2];else{if((i=f[e+36>>2])&&(ee(i),f[e+44>>2]=0,f[e+36>>2]=0,f[e+40>>2]=0,r=f[t+40>>2]),(0|r)<0)break e;i=br((r=1+(r-1>>>5|0)|0)<<2),f[e+44>>2]=r,f[e+40>>2]=0,f[e+36>>2]=i,r=f[t+40>>2]}Ze(i,f[t+36>>2],4+(r-1>>>3&536870908)|0),t=f[t+40>>2]}else t=0;f[e+40>>2]=t}return}ii(),E()}ii(),E()}function Fe(e,t){var r,i=0,n=0,o=0,a=0,s=0,c=0;I=r=I-16|0;e:if(dt(1,r+8|0,t)&&(i=f[t+8>>2],o=f[t+16>>2],s=f[r+12>>2],n=f[t+20>>2],!((0|s)==(0|(a=f[t+12>>2]-(n+(i>>>0<o>>>0)|0)|0))&(i-o|0)>>>0<(i=f[r+8>>2])>>>0|a>>>0<s>>>0||(n=n+s|0,n=(a=i+o|0)>>>0<o>>>0?n+1|0:n,f[t+16>>2]=a,f[t+20>>2]=n,(0|i)<=0)))){n=o+f[t>>2]|0,f[e+40>>2]=n,s=e;t:if((t=u[0|(o=n+(a=i-1|0)|0)])>>>0<=63)f[e+44>>2]=a,e=63&u[0|o];else{r:switch((t>>>6|0)-1|0){case 0:if(i>>>0<2)break e;f[e+44>>2]=i-2,e=u[1+(t=(i+n|0)-2|0)|0]<<8&16128|u[0|t];break t;case 1:if(i>>>0<3)break e;f[e+44>>2]=i-3,e=u[2+(t=(i+n|0)-3|0)|0]<<16&4128768|u[t+1|0]<<8|u[0|t];break t}f[e+44>>2]=i-4,e=u[2+(t=(i+n|0)-4|0)|0]<<16|u[t+3|0]<<24&1056964608|u[t+1|0]<<8|u[0|t]}e=e+16384|0,f[s+48>>2]=e,c=e>>>0<4194304}return I=r+16|0,c}function Se(e){var t,r=0,i=0;r=f[e+8>>2],t=f[e>>2];e:{if(u[e+12|0]){t:{if(-1!=(0|r)&&-1!=(0|(r=((i=r+1|0)>>>0)%3|0?i:r-2|0))&&-1!=(0|(r=f[f[t+12>>2]+(r<<2)>>2]))){if(r=((i=r+1|0)>>>0)%3|0?i:r-2|0,f[e+8>>2]=r,-1!=(0|r))break t}else f[e+8>>2]=-1;r=-1;r:if(-1!=(0|(i=f[e+4>>2]))){if((i>>>0)%3|0)i=i-1|0;else if(r=-1,-1==(0|(i=i+2|0)))break r;r=-1,-1!=(0|(i=f[f[t+12>>2]+(i<<2)>>2]))&&(r=i-1|0,(i>>>0)%3|0||(r=i+2|0))}return o[e+12|0]=0,void(f[e+8>>2]=r)}if((0|r)!=f[e+4>>2])break e;return void(f[e+8>>2]=-1)}i=-1;t:if(-1!=(0|r)){if((r>>>0)%3|0)r=r-1|0;else if(i=-1,-1==(0|(r=r+2|0)))break t;i=-1,-1!=(0|(r=f[f[t+12>>2]+(r<<2)>>2]))&&(i=r-1|0,(r>>>0)%3|0||(i=r+2|0))}f[e+8>>2]=i}}function We(e){var t,r=0,i=0;t=br(32),r=u[1619]|u[1620]<<8,o[t+24|0]=r,o[t+25|0]=r>>>8,r=u[1615]|u[1616]<<8|u[1617]<<16|u[1618]<<24,i=u[1611]|u[1612]<<8|u[1613]<<16|u[1614]<<24,o[t+16|0]=i,o[t+17|0]=i>>>8,o[t+18|0]=i>>>16,o[t+19|0]=i>>>24,o[t+20|0]=r,o[t+21|0]=r>>>8,o[t+22|0]=r>>>16,o[t+23|0]=r>>>24,r=u[1607]|u[1608]<<8|u[1609]<<16|u[1610]<<24,i=u[1603]|u[1604]<<8|u[1605]<<16|u[1606]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1599]|u[1600]<<8|u[1601]<<16|u[1602]<<24,i=u[1595]|u[1596]<<8|u[1597]<<16|u[1598]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+26|0]=0,f[e>>2]=-1,Vt(e+4|0,t,26),ee(t)}function Ze(e,t,r){var i=0,n=0;e:if((0|e)!=(0|t)){if(t-(n=e+r|0)>>>0<=0-(r<<1)>>>0)return ge(e,t,r);if(i=3&(e^t),e>>>0<t>>>0){if(i)i=e;else{if(3&e)for(i=e;;){if(!r)break e;if(o[0|i]=u[0|t],t=t+1|0,r=r-1|0,!(3&(i=i+1|0)))break}else i=e;if(!(r>>>0<=3))for(;f[i>>2]=f[t>>2],t=t+4|0,i=i+4|0,(r=r-4|0)>>>0>3;);}if(r)for(;o[0|i]=u[0|t],i=i+1|0,t=t+1|0,r=r-1|0;);}else{if(!i){if(3&n)for(;;){if(!r)break e;if(o[0|(i=(r=r-1|0)+e|0)]=u[t+r|0],!(3&i))break}if(!(r>>>0<=3))for(;f[(r=r-4|0)+e>>2]=f[t+r>>2],r>>>0>3;);}if(!r)break e;for(;o[(r=r-1|0)+e|0]=u[t+r|0],r;);}}return e}function Oe(e,t,r){var i,n,o=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0;I=i=I-16|0;e:{if((0|(s=f[e+24>>2]))!=(0|(n=f[e+28>>2])))for(;;){f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,o=Xt(f[s>>2],t,i),l=(e=u[i+11|0])<<24>>24,b=3;t:{r:{i:{n:if(o&&(b=0,a=(o=u[r+11|0])<<24>>24,(0|(A=(0|l)<0?f[i+4>>2]:e))==(0|((0|a)<0?f[r+4>>2]:o)))){c=(0|a)<0?f[r>>2]:r,a=f[i>>2];o:{if(!(o=(0|l)<0)){if(!l)break o;if(o=i,u[0|c]!=(255&a))break t;for(;;){if(!(e=e-1|0))break o;if(a=u[c+1|0],c=c+1|0,(0|a)!=u[0|(o=o+1|0)])break}break n}if(A&&Rt(o?a:i,c,A))break i}p=f[s>>2],b=1}if((0|l)>=0)break r}ee(f[i>>2])}switch(0|b){case 0:case 3:break t;default:break e}}if((0|n)==(0|(s=s+4|0)))break}p=0}return I=i+16|0,p}function je(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0;if((i=f[e+8>>2])-(r=f[e+4>>2])>>2>>>0>=t>>>0)return t&&(r=Ye(r,0,t<<=2)+t|0),void(f[e+4>>2]=r);e:{t:{r:{if((n=(o=r-(a=f[e>>2])>>2)+t|0)>>>0<1073741824){if(s=(i=i-a|0)>>1,n=i>>2>>>0<536870911?n>>>0>s>>>0?n:s:1073741823){if(n>>>0>=1073741824)break r;c=br(n<<2)}if(o=(t=Ye(i=(o<<2)+c|0,0,o=t<<2))+o|0,n=(n<<2)+c|0,(0|r)==(0|a))break t;for(;t=f[(r=r-4|0)>>2],f[r>>2]=0,f[(i=i-4|0)>>2]=t,(0|r)!=(0|a););if(f[e+8>>2]=n,t=f[e+4>>2],f[e+4>>2]=o,r=f[e>>2],f[e>>2]=i,(0|t)==(0|r))break e;for(;e=f[(t=t-4|0)>>2],f[t>>2]=0,e&&_i[f[f[e>>2]+4>>2]](e),(0|t)!=(0|r););break e}ii(),E()}Lt(1326),E()}f[e+8>>2]=n,f[e+4>>2]=o,f[e>>2]=t}r&&ee(r)}function Pe(e,t){e|=0;var r,i,n=0,o=0,a=0,s=0,c=0,l=0,b=0;return c=o=f[12+(t|=0)>>2],a=n=f[t+20>>2],n=(r=(s=f[t+16>>2])+4|0)>>>0<4?n+1|0:n,(i=f[t+8>>2])>>>0<r>>>0&(0|n)>=(0|o)|(0|n)>(0|o)||(l=f[t>>2],o=u[0|(o=l+s|0)]|u[o+1|0]<<8|u[o+2|0]<<16|u[o+3|0]<<24,f[t+16>>2]=r,f[t+20>>2]=n,n=a,s=a=s+8|0,a=n=a>>>0<8?n+1|0:n,s>>>0>i>>>0&(0|n)>=(0|c)|(0|n)>(0|c)||(n=u[0|(n=r+l|0)]|u[n+1|0]<<8|u[n+2|0]<<16|u[n+3|0]<<24,f[t+16>>2]=s,f[t+20>>2]=a,(0|n)<(0|o)||(f[e+16>>2]=n,f[e+12>>2]=o,!(c=(n>>31)-((o>>31)+(n>>>0<o>>>0)|0)|0)&(n=n-o|0)>>>0>2147483646|c||(n=n+1|0,f[e+20>>2]=n,o=n>>>1|0,f[e+24>>2]=o,f[e+28>>2]=0-o,1&n||(f[e+24>>2]=o-1),b=Ie(e+112|0,t))))),0|b}function Ye(e,t,r){var i=0,n=0,a=0;if(r&&(o[0|e]=t,o[(n=e+r|0)-1|0]=t,!(r>>>0<3||(o[e+2|0]=t,o[e+1|0]=t,o[n-3|0]=t,o[n-2|0]=t,r>>>0<7||(o[e+3|0]=t,o[n-4|0]=t,r>>>0<9||(a=(n=0-e&3)+e|0,i=d(255&t,16843009),f[a>>2]=i,f[(r=(t=r-n&-4)+a|0)-4>>2]=i,t>>>0<9||(f[a+8>>2]=i,f[a+4>>2]=i,f[r-8>>2]=i,f[r-12>>2]=i,t>>>0<25||(f[a+24>>2]=i,f[a+20>>2]=i,f[a+16>>2]=i,f[a+12>>2]=i,f[r-16>>2]=i,f[r-20>>2]=i,f[r-24>>2]=i,f[r-28>>2]=i,(r=(r=t)-(t=4&a|24)|0)>>>0<32))))))))for(i=Jt(i,0,1,1),n=C,t=t+a|0;f[t+24>>2]=i,f[t+28>>2]=n,f[t+16>>2]=i,f[t+20>>2]=n,f[t+8>>2]=i,f[t+12>>2]=n,f[t>>2]=i,f[t+4>>2]=n,t=t+32|0,(r=r-32|0)>>>0>31;);return e}function ze(e,t){var r=0,i=0,n=0,o=0,a=0;i=-1,o=-1,n=-1;e:{t:if(-1!=(0|t)){if(a=1,o=f[f[f[e+4>>2]+12>>2]+(t<<2)>>2],(0|(r=((r=t+1|0)>>>0)%3|0?r:t-2|0))>=0&&(n=(r>>>0)/3|0,n=f[(f[f[e>>2]+96>>2]+d(n,12)|0)+(r-d(n,3)<<2)>>2]),-1!=(0|o)&&(a=0,(0|(r=((o>>>0)%3|0?-1:2)+o|0))<0||(i=(r>>>0)/3|0,i=f[(f[f[e>>2]+96>>2]+d(i,12)|0)+(r-d(i,3)<<2)>>2])),r=-1,(0|i)!=(0|n))break e;if(n=-1,(0|(t=((t>>>0)%3|0?-1:2)+t|0))>=0){if(i=(t>>>0)/3|0,i=f[(f[f[e>>2]+96>>2]+d(i,12)|0)+(t-d(i,3)<<2)>>2],a)break t}else if(i=-1,a)break t;(0|(t=((t=o+1|0)>>>0)%3|0?t:o-2|0))<0||(r=f[f[e>>2]+96>>2],n=f[(r+d(e=(t>>>0)/3|0,12)|0)+(t-d(e,3)<<2)>>2])}r=(0|i)==(0|n)?o:-1}return r}function Je(e,t,r){var i,n=0,o=0,a=0;I=i=I-16|0,f[e+4>>2]=0;e:{t:if(t){if((n=(a=f[e+8>>2])<<5)>>>0>=t>>>0)f[e+4>>2]=t;else{if(f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,(0|t)<0)break e;at(i,n=n>>>0<=1073741822?(n=a<<6)>>>0<(o=t+31&-32)>>>0?o:n:2147483647),o=f[e>>2],f[e>>2]=f[i>>2],f[i>>2]=o,n=f[e+4>>2],f[e+4>>2]=t,f[i+4>>2]=n,n=f[e+8>>2],f[e+8>>2]=f[i+8>>2],f[i+8>>2]=n,o&&ee(o)}if(n=(o=t>>>5|0)<<2,e=f[e>>2],u[0|r]){if(e=Ye(e,255,n),!(t&=31))break t;f[(e=e+(o<<2)|0)>>2]=f[e>>2]|-1>>>32-t}else e=Ye(e,0,n),(t&=31)&&(f[(e=e+(o<<2)|0)>>2]=f[e>>2]&(-1>>>32-t^-1))}return void(I=i+16|0)}ii(),E()}function Qe(e,t,r){var i,n=0,o=0,a=0,s=0;if((i=(a=r-t|0)>>2)>>>0<=(n=f[e+8>>2])-(o=f[e>>2])>>2>>>0){if((0|(n=i>>>0>(s=(n=(a=f[e+4>>2])-o|0)>>2)>>>0?t+n|0:r))!=(0|t))for(;f[o>>2]=f[t>>2],o=o+4|0,(0|n)!=(0|(t=t+4|0)););return i>>>0>s>>>0?((0|(t=r-n|0))>0&&(a=ge(a,n,t)+t|0),void(f[e+4>>2]=a)):void(f[e+4>>2]=o)}if(o&&(f[e+4>>2]=o,ee(o),f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,n=0),!((0|a)<0||(r=n>>1,(r=n>>2>>>0<536870911?r>>>0<i>>>0?i:r:1073741823)>>>0>=1073741824)))return r=br(o=r<<2),f[e>>2]=r,f[e+4>>2]=r,f[e+8>>2]=r+o,a&&(r=ge(r,t,a)+a|0),void(f[e+4>>2]=r);ii(),E()}function Le(e,t){e|=0;var r,i,n,o=0,a=0,s=0,c=0,l=0;return s=f[12+(t|=0)>>2],c=o=f[t+20>>2],o=(a=(r=f[t+16>>2])+4|0)>>>0<4?o+1|0:o,n=a,(i=f[t+8>>2])>>>0<a>>>0&(0|o)>=(0|s)|(0|o)>(0|s)||(a=r+f[t>>2]|0,a=u[0|a]|u[a+1|0]<<8|u[a+2|0]<<16|u[a+3|0]<<24,f[t+16>>2]=n,f[t+20>>2]=o,o=c,(c=r+8|0)>>>0>i>>>0&(0|(o=c>>>0<8?o+1|0:o))>=(0|s)|(0|o)>(0|s)||(f[t+16>>2]=c,f[t+20>>2]=o,1&a&&((o=31^k(a))-30>>>0<4294967267||(f[e+8>>2]=o+1,o=-2-(s=-2<<o)|0,f[e+16>>2]=o,f[e+12>>2]=-1^s,f[e+24>>2]=(0|o)/2,A[e+20>>2]=_(2)/_(0|o),l=Ie(e+96|0,t))))),0|l}function Xe(e){var t=0,r=0,i=0,n=0;r=1;e:if(!((0|(i=f[e+140>>2]))<=0)){for(t=i<<4,r=br((0|i)!=(268435455&i)?-1:4|t),f[r>>2]=i,i=(r=r+4|0)+t|0,t=r;f[t>>2]=0,f[t+4>>2]=0,o[t+5|0]=0,o[t+6|0]=0,o[t+7|0]=0,o[t+8|0]=0,o[t+9|0]=0,o[t+10|0]=0,o[t+11|0]=0,o[t+12|0]=0,(0|i)!=(0|(t=t+16|0)););if(n=f[e+136>>2],f[e+136>>2]=r,n){if(r=f[(i=n-4|0)>>2])for(t=(r<<4)+n|0;(0|n)!=(0|(t=t-16|0)););ee(i)}if(r=1,!(f[e+140>>2]<=0))for(t=0;;){if(!(r=Ie(f[e+136>>2]+(t<<4)|0,e)))break e;if(!((0|(t=t+1|0))<f[e+140>>2]))break}}return r}function He(e,t){var r,i=0,n=0,a=0,s=0;return f[e+64>>2]||(i=br(32),f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,n=f[e+64>>2],f[e+64>>2]=i,n&&((i=f[n>>2])&&(f[n+4>>2]=i,ee(i)),ee(n))),a=f[e+64>>2],n=(i=f[e+28>>2]-1|0)>>>0<=10?f[10180+(i<<2)>>2]:-1,n=i=d(n,o[e+24|0]),(a=Ot(a,0,Jt(i,r=i>>31,t,0),C))&&(i=f[e+64>>2],f[e>>2]=i,s=f[i+20>>2],f[e+8>>2]=f[i+16>>2],f[e+12>>2]=s,s=f[i+24>>2],i=f[i+28>>2],f[e+48>>2]=0,f[e+52>>2]=0,f[e+40>>2]=n,f[e+44>>2]=r,f[e+16>>2]=s,f[e+20>>2]=i,f[e+80>>2]=t),a}function qe(e,t,r){var i=0,n=0,o=0,a=0,s=0,c=0,l=0;o=e+4|0;e:{if(e=f[e+4>>2])for(c=(i=(n=u[r+11|0])<<24>>24<0)?f[r>>2]:r,n=i?f[r+4>>2]:n;;){t:{r:{i:{n:{o:{a:if(s=(l=(r=(i=(r=u[e+27|0])<<24>>24<0)?f[e+20>>2]:r)>>>0<n>>>0)?r:n){if(a=e+16|0,!(a=Rt(c,i=i?f[a>>2]:a,s))){if(r>>>0>n>>>0)break a;break o}if((0|a)>=0)break o}else if(r>>>0<=n>>>0)break n;if(r=f[e>>2])break t;return f[t>>2]=e,e}if(r=Rt(i,c,s))break i}if(l)break r;break e}if((0|r)>=0)break e}if(o=e+4|0,!(r=f[e+4>>2]))break e;e=o}o=e,e=r}return f[t>>2]=o,o}return f[t>>2]=e,o}function $e(e,t){var r=0;return r=f[t+4>>2],f[e>>2]=f[t>>2],f[e+4>>2]=r,r=f[t+60>>2],f[e+56>>2]=f[t+56>>2],f[e+60>>2]=r,r=f[t+52>>2],f[e+48>>2]=f[t+48>>2],f[e+52>>2]=r,r=f[t+44>>2],f[e+40>>2]=f[t+40>>2],f[e+44>>2]=r,r=f[t+36>>2],f[e+32>>2]=f[t+32>>2],f[e+36>>2]=r,r=f[t+28>>2],f[e+24>>2]=f[t+24>>2],f[e+28>>2]=r,r=f[t+20>>2],f[e+16>>2]=f[t+16>>2],f[e+20>>2]=r,r=f[t+12>>2],f[e+8>>2]=f[t+8>>2],f[e+12>>2]=r,f[e+88>>2]=0,f[e+64>>2]=0,f[e+68>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,o[e+77|0]=0,o[e+78|0]=0,o[e+79|0]=0,o[e+80|0]=0,o[e+81|0]=0,o[e+82|0]=0,o[e+83|0]=0,o[e+84|0]=0,e}function Ke(e,t){var r,i=0,n=0,o=0,a=0,s=0,c=0,l=0;r=e+4|0;e:{t:if(e=f[e+4>>2]){for(c=(i=(n=u[t+11|0])<<24>>24<0)?f[t>>2]:t,o=i?f[t+4>>2]:n,i=r;(n=(a=(s=(l=(t=u[e+27|0])<<24>>24<0)?f[e+20>>2]:t)>>>0>o>>>0)?o:s)&&(t=e+16|0,t=Rt(l?f[t>>2]:t,c,n))||(t=o>>>0>s>>>0?-1:a),i=(0|t)<0?i:e,e=f[(t>>>29&4)+e>>2];);if((0|i)!=(0|r)){if(!((t=(n=(a=(e=u[i+27|0])<<24>>24<0)?f[i+20>>2]:e)>>>0<o>>>0?n:o)&&(e=i+16|0,e=Rt(c,a?f[e>>2]:e,t)))){if(n>>>0>o>>>0)break t;break e}if((0|e)>=0)break e}}i=r}return i}function et(e,t,r){var i=0,n=0,o=0,a=0;e:{if(!((0|t)<0|(0|r)<0)){if(!(t>>>0>1431655765)){if(ye(e,i=d(t,3),10256),ye(e+12|0,i,10260),i=f[e+24>>2],!(f[e+32>>2]-i>>2>>>0>=r>>>0)){if(r>>>0>=1073741824)break e;n=f[e+28>>2],o=(r=br(o=r<<2))+o|0,a=(n=n-i|0)+r|0,(0|n)>0&&ge(r,i,n),f[e+32>>2]=o,f[e+28>>2]=a,f[e+24>>2]=r,i&&ee(i)}f[e+80>>2]=0,f[e+84>>2]=0,r=f[e+76>>2],f[e+76>>2]=0,r&&ee(r),f[e+68>>2]=0,f[e+72>>2]=0,e=f[(r=e- -64|0)>>2],f[r>>2]=0,e&&ee(e)}i=t>>>0<1431655766}return i}Lt(1326),E()}function tt(e){var t=0,r=0,i=0,n=0,a=0;if(i=f[e+8>>2],!u[i+84|0]&&!(!(t=f[e+16>>2])|!u[t+84|0]||(r=f[i+72>>2],n=f[i+68>>2],o[t+84|0]=0,r=r-n>>2,a=f[t+68>>2],r>>>0>(n=f[t+72>>2]-a>>2)>>>0?(ve(t+68|0,r-n|0,2032),i=f[e+8>>2]):r>>>0>=n>>>0||(f[t+72>>2]=a+(r<<2)),(t=u[i+84|0])||(0|(r=f[i+68>>2]))==f[i+72>>2])))if(n=f[f[e+16>>2]+68>>2],t)f[n>>2]=0;else for(t=0;f[(a=t<<2)+n>>2]=f[r+a>>2],t=t+1|0,r=f[i+68>>2],t>>>0<f[i+72>>2]-r>>2>>>0;);return f[e+16>>2]}function rt(e,t){var r=0,i=0,n=0,o=0,a=0,s=0;if((0|(r=f[e+4>>2]))!=f[e+8>>2])return i=f[t+4>>2],f[r>>2]=f[t>>2],f[r+4>>2]=i,f[r+8>>2]=f[t+8>>2],void(f[e+4>>2]=r+12);e:{if((r=1+(i=(0|(a=r-(o=f[e>>2])|0))/12|0)|0)>>>0<357913942){if(n=i<<1,n=i>>>0<178956970?r>>>0>n>>>0?r:n:357913941){if(n>>>0>=357913942)break e;r=br(d(n,12))}else r=0;return i=r+d(i,12)|0,s=f[t+4>>2],f[i>>2]=f[t>>2],f[i+4>>2]=s,f[i+8>>2]=f[t+8>>2],t=i+d((0|a)/-12|0,12)|0,(0|a)>0&&ge(t,o,a),f[e+8>>2]=r+d(n,12),f[e+4>>2]=i+12,f[e>>2]=t,void(o&&ee(o))}ii(),E()}Lt(1326),E()}function it(e,t){t|=0;var r=0,i=0,n=0,o=0;e:if((0|(r=f[216+(e|=0)>>2]))!=f[e+220>>2]){for(;;){t:if(!((0|(r=f[d(n,144)+r>>2]))<0||(i=f[e+4>>2],o=f[i+8>>2],(0|r)>=f[i+12>>2]-o>>2||(i=0,r=f[(r<<2)+o>>2],(0|_i[f[f[r>>2]+24>>2]](r))<=0)))){for(;;){if((0|_i[f[f[r>>2]+20>>2]](r,i))!=(0|t)){if(i=i+1|0,(0|_i[f[f[r>>2]+24>>2]](r))>(0|i))continue;break t}break}e=f[e+216>>2]+d(n,144)|0,n=u[e+100|0]?e+4|0:0;break e}if(n=n+1|0,r=f[e+216>>2],!(n>>>0<(f[e+220>>2]-r|0)/144>>>0))break}return 0}return 0|n}function nt(e,t,r,i,n,a,s){var c,l=0,A=0;if(I=c=I-16|0,(-1^t)-17>>>0>=r>>>0)return A=u[e+11|0]>>>7|0?f[e>>2]:e,t>>>0<2147483623?(f[c+8>>2]=t<<1,f[c+12>>2]=t+r,I=r=I-16|0,I=r+16|0,r=c+8|0,r=(r=f[(b[(l=c+12|0)>>2]<b[r>>2]?r:l)>>2])>>>0>=11?11==(0|(r=(l=r+16&-16)-1|0))?l:r:10):r=-18,r=br(l=r+1|0),a&&Lr(r,s,a),(i=i-n|0)&&Lr(r+a|0,n+A|0,i),10!=(0|t)&&ee(A),f[e>>2]=r,f[e+8>>2]=-2147483648|l,t=e,e=i+a|0,f[t+4>>2]=e,o[c+7|0]=0,o[e+r|0]=u[c+7|0],void(I=c+16|0);oi(),E()}function ot(e,t){t|=0;var r=0,i=0,n=0,o=0;if((0|(r=f[216+(e|=0)>>2]))!=f[e+220>>2])for(;;){e:if(!((0|(r=f[d(n,144)+r>>2]))<0||(i=f[e+4>>2],o=f[i+8>>2],(0|r)>=f[i+12>>2]-o>>2||(i=0,r=f[(r<<2)+o>>2],(0|_i[f[f[r>>2]+24>>2]](r))<=0)))){for(;;){if((0|_i[f[f[r>>2]+20>>2]](r,i))!=(0|t)){if(i=i+1|0,(0|_i[f[f[r>>2]+24>>2]](r))>(0|i))continue;break e}break}return 104+(f[e+216>>2]+d(n,144)|0)|0}if(n=n+1|0,r=f[e+216>>2],!(n>>>0<(f[e+220>>2]-r|0)/144>>>0))break}return e+184|0}function at(e,t){var r,i=0,n=0,o=0,a=0,s=0,c=0;I=r=I-16|0;e:{if(!(f[e+8>>2]<<5>>>0>=t>>>0)){if(f[r+8>>2]=0,f[r>>2]=0,f[r+4>>2]=0,(0|t)<0)break e;n=br((a=1+(t-1>>>5|0)|0)<<2),f[r+8>>2]=a,f[r>>2]=n,o=f[e>>2],t=f[e+4>>2],f[r+4>>2]=t,f[((t>>>0<33?0:t-1>>>5|0)<<2)+n>>2]=0,(0|t)<=0||(c=Ze(n,o,i=(s=t>>>5|0)<<2),(0|(t=t-(s<<5)|0))<=0||(t=-1>>>32-t|0,f[(i=i+c|0)>>2]=f[i>>2]&(-1^t)|t&f[(s<<2)+o>>2])),f[e+8>>2]=a,f[e>>2]=n,o&&ee(o)}return void(I=r+16|0)}ii(),E()}function ft(e){var t,r=0,i=0;if(f[(e|=0)>>2]=10332,(r=f[e+68>>2])&&(f[e+72>>2]=r,ee(r)),(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),(r=f[e+44>>2])&&(f[e+48>>2]=r,ee(r)),(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),(r=f[e+20>>2])&&(f[e+24>>2]=r,ee(r)),t=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&jt(r),(0|t)!=(0|i););r=f[e+8>>2]}f[e+12>>2]=t,ee(r)}return r=f[e+4>>2],f[e+4>>2]=0,r&&xt(r),0|e}function st(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0;if((n=f[e+8>>2])-(r=f[e+4>>2])>>2>>>0>=t>>>0)return t&&(r=Ye(r,0,t<<=2)+t|0),void(f[e+4>>2]=r);e:{if((i=(s=(a=r-(o=f[e>>2])|0)>>2)+t|0)>>>0<1073741824){if(r=0,c=(n=n-o|0)>>1,i=n>>2>>>0<536870911?i>>>0>c>>>0?i:c:1073741823){if(i>>>0>=1073741824)break e;r=br(i<<2)}return t=Ye((s<<2)+r|0,0,t<<=2)+t|0,(0|a)>0&&ge(r,o,a),f[e+8>>2]=(i<<2)+r,f[e+4>>2]=t,f[e>>2]=r,void(o&&ee(o))}ii(),E()}Lt(1326),E()}function ct(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0;if((n=f[e+8>>2])-(r=f[e+4>>2])>>3>>>0>=t>>>0)return t&&(r=Ye(r,0,t<<=3)+t|0),void(f[e+4>>2]=r);e:{if((i=(s=(a=r-(o=f[e>>2])|0)>>3)+t|0)>>>0<536870912){if(r=0,c=(n=n-o|0)>>2,i=n>>3>>>0<268435455?i>>>0>c>>>0?i:c:536870911){if(i>>>0>=536870912)break e;r=br(i<<3)}return t=Ye((s<<3)+r|0,0,t<<=3)+t|0,(0|a)>0&&ge(r,o,a),f[e+8>>2]=(i<<3)+r,f[e+4>>2]=t,f[e>>2]=r,void(o&&ee(o))}ii(),E()}Lt(1326),E()}function ut(e,t){var r,i=0,n=0,o=0,a=0,s=0;if(r=f[e>>2],(e=f[r+4>>2])>>>0<(i=f[r+8>>2])>>>0)return f[e>>2]=f[t>>2],void(f[r+4>>2]=e+4);e:{if((e=1+(n=(a=e-(o=f[r>>2])|0)>>2)|0)>>>0<1073741824){if(s=n<<2,n=(i=i-o|0)>>1,i=i>>2>>>0<536870911?e>>>0>n>>>0?e:n:1073741823){if(i>>>0>=1073741824)break e;e=br(i<<2)}else e=0;return f[(n=s+e|0)>>2]=f[t>>2],(0|a)>0&&ge(e,o,a),f[r+8>>2]=e+(i<<2),f[r+4>>2]=n+4,f[r>>2]=e,void(o&&ee(o))}ii(),E()}Lt(1326),E()}function lt(e,t){var r=0,i=0,n=0,o=0,a=0,s=0;e:{t:{if((o=(r=f[e+4>>2])-(n=f[e>>2])|0)>>>0<t>>>0){if((a=t-o|0)>>>0<=(i=f[e+8>>2])-r>>>0)return a&&(r=Ye(r,0,a)+a|0),void(f[e+4>>2]=r);if((0|t)<0)break e;if(r=0,s=(i=i-n|0)<<1,(i=i>>>0<1073741823?t>>>0>s>>>0?t:s:2147483647)&&(r=br(i)),Ye(r+o|0,0,a),(0|o)>0&&ge(r,n,o),f[e+8>>2]=r+i,f[e+4>>2]=t+r,f[e>>2]=r,!n)break t;return void ee(n)}t>>>0>=o>>>0||(f[e+4>>2]=t+n)}return}ii(),E()}function bt(e,t){var r=0,i=0,n=0,o=0,a=0,s=0;if((n=f[e+8>>2])-(r=f[e+4>>2])>>1>>>0>=t>>>0)return t&&(r=Ye(r,0,t<<=1)+t|0),void(f[e+4>>2]=r);e:{if((0|(i=(s=(a=r-(o=f[e>>2])|0)>>1)+t|0))>=0){if(r=0,i=(n=n-o|0)>>1>>>0<1073741823?i>>>0>n>>>0?i:n:2147483647){if((0|i)<0)break e;r=br(i<<1)}return t=Ye((s<<1)+r|0,0,t<<=1)+t|0,(0|a)>0&&ge(r,o,a),f[e+8>>2]=(i<<1)+r,f[e+4>>2]=t,f[e>>2]=r,void(o&&ee(o))}ii(),E()}Lt(1326),E()}function At(e){var t=0,r=0,i=0,n=0,o=0;if((0|(t=f[e+4>>2]))!=f[e+8>>2])return f[t>>2]=f[2088],void(f[e+4>>2]=t+4);e:{if((t=1+(i=(o=t-(n=f[e>>2])|0)>>2)|0)>>>0<1073741824){if(r=o>>1,r=i>>>0<536870911?t>>>0>r>>>0?t:r:1073741823){if(r>>>0>=1073741824)break e;t=br(r<<2)}else t=0;return f[(i=t+(i<<2)|0)>>2]=f[2088],(0|o)>0&&ge(t,n,o),f[e+8>>2]=t+(r<<2),f[e+4>>2]=i+4,f[e>>2]=t,void(n&&ee(n))}ii(),E()}Lt(1326),E()}function pt(e,t){var r=0,i=0,n=0,o=0;i=f[e+12>>2],(r=f[e+16>>2]-i>>2)>>>0<t>>>0?st(e+12|0,t-r|0):t>>>0>=r>>>0||(f[e+16>>2]=i+(t<<2));e:{if(r=f[e>>2],!(f[e+8>>2]-r>>2>>>0>=t>>>0)){if(t>>>0>=1073741824)break e;i=f[e+4>>2],n=(t=br(n=t<<2))+n|0,o=(i=i-r|0)+t|0,(0|i)>0&&ge(t,r,i),f[e+8>>2]=n,f[e+4>>2]=o,f[e>>2]=t,r&&ee(r)}return}Lt(1326),E()}function dt(e,t,r){var i=0,n=0,a=0,s=0;e:if(!(e>>>0>10||(0|(i=f[r+20>>2]))>=(0|(n=f[r+12>>2]))&(a=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|n))){if(n=o[a+f[r>>2]|0],i=(a=a+1|0)?i:i+1|0,f[r+16>>2]=a,f[r+20>>2]=i,(0|n)<0){if(!dt(e+1|0,t,r))break e;r=f[t>>2],e=f[t+4>>2]<<7|r>>>25,r=127&n|r<<7}else e=0,r=255&n;f[t>>2]=r,f[t+4>>2]=e,s=1}return s}function _t(e,t,r,i){o[e+53|0]=1;e:if(f[e+4>>2]==(0|r)){o[e+52|0]=1;t:{if(!(r=f[e+16>>2])){if(f[e+36>>2]=1,f[e+24>>2]=i,f[e+16>>2]=t,1!=f[e+48>>2])break e;if(1==(0|i))break t;break e}if((0|t)==(0|r)){if(2==(0|(r=f[e+24>>2]))&&(f[e+24>>2]=i,r=i),1!=f[e+48>>2])break e;if(1==(0|r))break t;break e}f[e+36>>2]=f[e+36>>2]+1}o[e+54|0]=1}}function ht(e,t,r){t|=0,r|=0;var i,n=0;I=i=I-16|0,f[4+(e|=0)>>2]=t,t=f[t+64>>2],n=f[t>>2],t=f[t+4>>2],o[i+15|0]=0,Je(e+24|0,(t-n>>2>>>0)/3|0,i+15|0),t=f[e+4>>2],n=f[t+56>>2],t=f[t+52>>2],o[i+14|0]=0,Je(e+36|0,n-t>>2,i+14|0),t=f[r+12>>2],f[e+16>>2]=f[r+8>>2],f[e+20>>2]=t,t=f[r+4>>2],f[e+8>>2]=f[r>>2],f[e+12>>2]=t,I=i+16|0}function kt(e){f[e>>2]=0,f[e+4>>2]=0,f[e+28>>2]=0,f[e+32>>2]=0,o[e+24|0]=1,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,f[e+36>>2]=0,f[e+40>>2]=0,f[e+44>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,f[e+56>>2]=0,f[e+60>>2]=0,f[e+64>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,f[e+68>>2]=e}function mt(e,t){var r,i,n,o=0,s=0;f[e+144>>2]=t,o=f[32+(0|_i[f[f[t>>2]+32>>2]](t))>>2],r=f[o>>2]+f[o+16>>2]|0,s=f[32+(0|_i[f[f[t>>2]+32>>2]](t))>>2],o=(o=f[s+8>>2])-(s=f[s+16>>2])|0,i=e,n=l[f[32+(0|_i[f[f[t>>2]+32>>2]](t))>>2]+38>>1],a[i+38>>1]=n,f[e>>2]=r,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=o,f[e+12>>2]=0}function yt(e){var t;f[e>>2]=0,f[e+4>>2]=0,f[e+56>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,f[e+40>>2]=0,f[e+44>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,f[(t=e- -64|0)>>2]=0,f[t+4>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+60>>2]=e}function vt(e,t,r){var i=0,n=0,o=0,a=0,s=0;e:if(!(e>>>0>5||(0|(i=o=f[r+20>>2]))>=(0|(a=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|a))){if(i=u[n+f[r>>2]|0],o=(n=n+1|0)?o:o+1|0,f[r+16>>2]=n,f[r+20>>2]=o,128&i){if(!vt(e+1|0,t,r))break e;i=127&i|f[t>>2]<<7}f[t>>2]=i,s=1}return s}function gt(e,t,r){var i=0,n=0,o=0,a=0,s=0;e:if(!(e>>>0>5||(0|(i=o=f[r+20>>2]))>=(0|(a=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|a))){if(i=u[n+f[r>>2]|0],o=(n=n+1|0)?o:o+1|0,f[r+16>>2]=n,f[r+20>>2]=o,128&i){if(!gt(e+1|0,t,r))break e;i=127&i|f[t>>2]<<7}f[t>>2]=i,s=1}return s}function wt(e,t,r){var i=0,n=0,o=0,a=0,s=0;e:if(!(e>>>0>5||(0|(i=o=f[r+20>>2]))>=(0|(a=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|a))){if(i=u[n+f[r>>2]|0],o=(n=n+1|0)?o:o+1|0,f[r+16>>2]=n,f[r+20>>2]=o,128&i){if(!wt(e+1|0,t,r))break e;i=127&i|f[t>>2]<<7}f[t>>2]=i,s=1}return s}function Et(e,t,r){var i=0,n=0,o=0,a=0,s=0;e:if(!(e>>>0>5||(0|(i=o=f[r+20>>2]))>=(0|(a=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|a))){if(i=u[n+f[r>>2]|0],o=(n=n+1|0)?o:o+1|0,f[r+16>>2]=n,f[r+20>>2]=o,128&i){if(!Et(e+1|0,t,r))break e;i=127&i|f[t>>2]<<7}f[t>>2]=i,s=1}return s}function Tt(e,t,r){var i=0,n=0,o=0,a=0,s=0;e:if(!(e>>>0>5||(0|(i=o=f[r+20>>2]))>=(0|(a=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|a))){if(i=u[n+f[r>>2]|0],o=(n=n+1|0)?o:o+1|0,f[r+16>>2]=n,f[r+20>>2]=o,128&i){if(!Tt(e+1|0,t,r))break e;i=127&i|f[t>>2]<<7}f[t>>2]=i,s=1}return s}function Bt(e,t,r){var i=0,n=0,o=0,a=0,s=0;e:if(!(e>>>0>5||(0|(i=o=f[r+20>>2]))>=(0|(a=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|a))){if(i=u[n+f[r>>2]|0],o=(n=n+1|0)?o:o+1|0,f[r+16>>2]=n,f[r+20>>2]=o,128&i){if(!Bt(e+1|0,t,r))break e;i=127&i|f[t>>2]<<7}f[t>>2]=i,s=1}return s}function Rt(e,t,r){var i=0,n=0;e:{t:{if(r>>>0>=4){if(3&(e|t))break t;for(;;){if(f[e>>2]!=f[t>>2])break t;if(t=t+4|0,e=e+4|0,!((r=r-4|0)>>>0>3))break}}if(!r)break e}for(;;){if((0|(i=u[0|e]))==(0|(n=u[0|t]))){if(t=t+1|0,e=e+1|0,r=r-1|0)continue;break e}break}return i-n|0}return 0}function xt(e){var t=0,r=0,i=0;if(e){if(i=f[e+24>>2]){if((0|(r=f[e+28>>2]))==(0|i))t=i;else{for(;t=f[(r=r-4|0)>>2],f[r>>2]=0,t&&(rr(t+12|0,f[t+16>>2]),ur(t,f[t+4>>2]),ee(t)),(0|i)!=(0|r););t=f[e+24>>2]}f[e+28>>2]=i,ee(t)}rr(e+12|0,f[e+16>>2]),ur(e,f[e+4>>2]),ee(e)}}function Nt(e){var t=0,r=0,i=0;e:{if(3&(t=e))for(;;){if(!u[0|t])break e;if(!(3&(t=t+1|0)))break}for(;r=t,t=t+4|0,!((-1^(i=f[r>>2]))&i-16843009&-2139062144););if(!(255&i))return r-e|0;for(;i=u[r+1|0],r=t=r+1|0,i;);}return t-e|0}function It(e,t,r){e|=0,t|=0;var i,n,o,a,s=0,c=0;return(a=f[8+(r|=0)>>2])>>>0>(n=f[r+16>>2])>>>0&(0|(s=o=f[r+12>>2]))>=(0|(i=f[r+20>>2]))|(0|i)<(0|s)&&(t=u[n+f[r>>2]|0],s=(c=n+1|0)?i:i+1|0,f[r+16>>2]=c,f[r+20>>2]=s,f[e+4>>2]=t),n>>>0<a>>>0&(0|i)<=(0|o)|(0|i)<(0|o)}function Ct(e,t,r){var i=0;if(!r)return f[e+4>>2]==f[t+4>>2];if((0|e)==(0|t))return 1;i=f[e+4>>2],e=u[0|i],r=f[t+4>>2];e:if(!(!e|(0|(t=u[0|r]))!=(0|e)))for(;;){if(t=u[r+1|0],!(e=u[i+1|0]))break e;if(r=r+1|0,i=i+1|0,(0|e)!=(0|t))break}return(0|e)==(0|t)}function Dt(e,t){var r=0,i=0,n=0,o=0;e:{if(r=f[e>>2],!(f[e+8>>2]-r>>2>>>0>=t>>>0)){if(t>>>0>=1073741824)break e;i=f[e+4>>2],n=(t=br(n=t<<2))+n|0,o=(i=i-r|0)+t|0,(0|i)>0&&ge(t,r,i),f[e+8>>2]=n,f[e+4>>2]=o,f[e>>2]=t,r&&ee(r)}return}Lt(1326),E()}function Mt(e){var t=0;e&&((t=f[e+76>>2])&&(f[e+80>>2]=t,ee(t)),(t=f[e- -64>>2])&&(f[e+68>>2]=t,ee(t)),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),(t=f[e+24>>2])&&(f[e+28>>2]=t,ee(t)),(t=f[e+12>>2])&&(f[e+16>>2]=t,ee(t)),(t=f[e>>2])&&(f[e+4>>2]=t,ee(t)),ee(e))}function Gt(e){var t=0;(t=f[e+84>>2])&&(f[e+88>>2]=t,ee(t)),(t=f[e+72>>2])&&(f[e+76>>2]=t,ee(t)),(t=f[e+52>>2])&&(f[e+56>>2]=t,ee(t)),(t=f[e+40>>2])&&(f[e+44>>2]=t,ee(t)),(t=f[e+28>>2])&&(f[e+32>>2]=t,ee(t)),(t=f[e+12>>2])&&ee(t),(e=f[e>>2])&&ee(e)}function Ut(e){var t,r=0,i=0;if((0|(r=f[e+4>>2]))!=(0|(t=f[e>>2])))for(;(i=f[r-12>>2])&&(f[r-8>>2]=i,ee(i)),(i=f[r-28>>2])&&(f[r-24>>2]=i,ee(i)),(i=f[r-40>>2])&&(f[r-36>>2]=i,ee(i)),Gt(r-140|0),(0|t)!=(0|(r=r-144|0)););f[e+4>>2]=t}function Vt(e,t,r){var i=0,n=0;e:{if(r>>>0<=10)o[(i=e)+11|0]=r;else{if(r>>>0>4294967279)break e;i=r>>>0>=11?11==(0|(i=(n=r+16&-16)-1|0))?n:i:10,i=br(n=i+1|0),f[e>>2]=i,f[e+8>>2]=-2147483648|n,f[e+4>>2]=r}return void Lr(i,t,r+1|0)}oi(),E()}function Ft(e,t,r){var i,n,o=0,a=0,s=0;for(I=i=(I=n=I-16|0)-16|0,t=t-e>>2;t;)f[i+12>>2]=e,o=t>>>1|0,f[i+12>>2]=f[i+12>>2]+(o<<2),s=(-1^o)+t|0,t=o,o=f[i+12>>2],t=(a=b[o>>2]<b[r>>2])?s:t,e=a?o+4|0:e;return I=i+16|0,I=n+16|0,e}function St(e,t){var r,i;return i=br(40),f[i>>2]=-1,f[16+(r=i+8|0)>>2]=0,f[r+20>>2]=0,f[r+8>>2]=0,f[r>>2]=0,f[r+4>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,_i[f[f[e>>2]+16>>2]](e,i),e=f[t+88>>2],f[t+88>>2]=i,e&&((t=f[e+8>>2])&&(f[e+12>>2]=t,ee(t)),ee(e)),1}function Wt(e){var t,r,i=0,n=0,o=0;return o=u[e+12|0],(n=f[e+8>>2])>>>0>4095||(0|(i=f[e+4>>2]))<=0||(i=i-1|0,f[e+4>>2]=i,n=u[i+f[e>>2]|0]|n<<8),i=d(o=0-o&255,n>>>8|0),r=(t=255&n)>>>0<o>>>0,f[e+8>>2]=r?i+t|0:n-(i+o|0)|0,r}function Zt(e,t){return f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1804,f[e+12>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+40>>2]=0,f[e>>2]=2044,f[e+44>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,f[e+56>>2]=0,f[e+60>>2]=t,e}function Ot(e,t,r,i){if(t){if((0|i)<0)return 0;!i&f[e+4>>2]-f[e>>2]>>>0>=r>>>0||lt(e,r),r&&Ze(f[e>>2],t,r)}else{if((0|i)<0)return 0;lt(e,r)}return t=f[e+28>>2],t=(r=f[e+24>>2]+1|0)?t:t+1|0,f[e+24>>2]=r,f[e+28>>2]=t,1}function jt(e){var t=0,r=0;(e|=0)&&(t=f[e+88>>2],f[e+88>>2]=0,t&&((r=f[t+8>>2])&&(f[t+12>>2]=r,ee(r)),ee(t)),(t=f[e+68>>2])&&(f[e+72>>2]=t,ee(t)),t=f[e+64>>2],f[e+64>>2]=0,t&&((r=f[t>>2])&&(f[t+4>>2]=r,ee(r)),ee(t)),ee(e))}function Pt(e,t){var r,i=0,n=0;if((r=Nt(t))>>>0<4294967280){e:{if(r>>>0>=11)i=br(n=r+16&-16),f[e+8>>2]=-2147483648|n,f[e>>2]=i,f[e+4>>2]=r;else if(o[e+11|0]=r,i=e,!r)break e;ge(i,t,r)}return o[r+i|0]=0,e}oi(),E()}function Yt(e,t,r,i){var n,o=0,a=0;return n=(a=t^i)>>31,a>>=31,e=Ee((e^=o=t>>31)-o|0,o=(t^o)-((e>>>0<o>>>0)+o|0)|0,(t=r^(e=i>>31))-e|0,(e^i)-((e>>>0>t>>>0)+e|0)|0)^a,C=(n^C)-((e>>>0<a>>>0)+n|0)|0,t=e-a|0}function zt(e,t,r){var i,n=0;I=i=I-16|0,(n=2147483647&f[e+8>>2])>>>0>r>>>0?(n=f[e>>2],f[e+4>>2]=r,Lr(n,t,r),o[i+15|0]=0,o[r+n|0]=u[i+15|0]):nt(e,n-1|0,1+(r-n|0)|0,e=f[e+4>>2],e,r,t),I=i+16|0}function Jt(e,t,r,i){var n,o,a,f,s=0,c=0;return f=d(s=r>>>16|0,c=e>>>16|0),s=(65535&(c=((a=d(n=65535&r,o=65535&e))>>>16|0)+d(c,n)|0))+d(s,o)|0,C=(d(t,r)+f|0)+d(e,i)+(c>>>16)+(s>>>16)|0,65535&a|s<<16}function Qt(e,t,r){var i;if(!(i=f[e+16>>2]))return f[e+36>>2]=1,f[e+24>>2]=r,void(f[e+16>>2]=t);e:{if((0|t)==(0|i)){if(2!=f[e+24>>2])break e;return void(f[e+24>>2]=r)}o[e+54|0]=1,f[e+24>>2]=2,f[e+36>>2]=f[e+36>>2]+1}}function Lt(e){var t,r,i,n,o;t=0|N(8),f[t>>2]=11024,f[t>>2]=11068,i=br((r=Nt(e))+13|0),f[i+8>>2]=0,f[i+4>>2]=r,f[i>>2]=r,n=t,o=ge(i+12|0,e,r+1|0),f[n+4>>2]=o,f[t>>2]=11116,x(0|t,11148,13),E()}function Xt(e,t,r){var i=0;return(0|(i=e+4|0))==(0|(e=Ke(e,t)))?0:((0|(t=f[e+32>>2]))!=(0|(i=f[e+28>>2]))&&(Ne(r,t-i|0),ge(lr(r),r=f[e+28>>2],f[e+32>>2]-r|0)),(0|t)!=(0|i))}function Ht(e,t){var r,i=0;if(r=f[e+8>>2],e=f[e+12>>2]-r|0)for(i=(e>>=2)>>>0>1?e:1,e=0;;){if(f[f[(e<<2)+r>>2]+60>>2]==(0|t))return e;if((0|i)==(0|(e=e+1|0)))break}return-1}function qt(e){return f[e+8>>2]=0,f[e+12>>2]=0,f[e>>2]=0,f[e+40>>2]=0,f[e+44>>2]=0,f[e+28>>2]=9,o[e+24|0]=1,f[e+56>>2]=-1,f[e+60>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,e}function $t(e){f[e+40>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=10064,f[e+12>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+32>>2]=0,a[e+36>>1]=0,f[e+44>>2]=0,f[e>>2]=8108}function Kt(e,t,r){var i=0;return t&&(t=0,!function e(t,r,i){var n=0,a=0,s=0,c=0;e:if(!(t>>>0>10||(0|(n=f[i+20>>2]))>=(0|(a=f[i+12>>2]))&(s=f[i+16>>2])>>>0>=b[i+8>>2]|(0|n)>(0|a))){if(a=o[s+f[i>>2]|0],n=(s=s+1|0)?n:n+1|0,f[i+16>>2]=s,f[i+20>>2]=n,(0|a)<0){if(!e(t+1|0,r,i))break e;i=f[r>>2],t=f[r+4>>2]<<7|i>>>25,i=127&a|i<<7}else t=0,i=255&a;f[r>>2]=i,f[r+4>>2]=t,c=1}return c}(1,r,e))||(o[e+36|0]=1,f[e+32>>2]=0,r=(t=f[e+16>>2])+f[e>>2]|0,f[e+24>>2]=r,i=e,e=f[e+8>>2],f[i+28>>2]=r+(e-t|0),t=1),t}function er(e){var t,r;return(e=(t=f[2853])+(r=e+3&-4)|0)>>>0<=t>>>0&&r||e>>>0>hi()<<16>>>0&&!(0|R(0|e))?(f[2879]=48,-1):(f[2853]=e,t)}function tr(e,t,r){var i;I=i=I-16|0,r>>>0<=10?(o[e+11|0]=r,Lr(e,t,r),o[i+15|0]=0,o[e+r|0]=u[i+15|0]):nt(e,10,r-10|0,e=u[e+11|0],e,r,t),I=i+16|0}function rr(e,t){t&&(rr(e,f[t>>2]),rr(e,f[t+4>>2]),e=f[t+28>>2],f[t+28>>2]=0,e&&(rr(e+12|0,f[e+16>>2]),ur(e,f[e+4>>2]),ee(e)),o[t+27|0]<0&&ee(f[t+16>>2]),ee(t))}function ir(e){var t=0;return!f[(e|=0)- -64>>2]|!f[e+68>>2]|!f[e+44>>2]|!f[e+48>>2]||!f[e+52>>2]|!f[e+56>>2]||(t=-1!=f[e+92>>2]),0|t}function nr(e){var t=0;return f[(e|=0)>>2]=2164,t=f[e+20>>2],f[e+20>>2]=0,t&&_i[f[f[t>>2]+4>>2]](t),f[e>>2]=1948,t=f[e+16>>2],f[e+16>>2]=0,t&&jt(t),0|e}function or(e){var t=0;return!f[48+(e|=0)>>2]|!f[e+52>>2]|!f[e+28>>2]|!f[e+32>>2]||!f[e+36>>2]|!f[e+40>>2]||(t=-1!=f[e+76>>2]),0|t}function ar(e){var t=0;return f[(e|=0)>>2]=8652,(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),f[e>>2]=8904,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),0|e}function fr(e){var t=0;f[(e|=0)>>2]=2164,t=f[e+20>>2],f[e+20>>2]=0,t&&_i[f[f[t>>2]+4>>2]](t),f[e>>2]=1948,t=f[e+16>>2],f[e+16>>2]=0,t&&jt(t),ee(e)}function sr(e,t){var r=0;return r=-1,-1==(0|t)|(0|t)>4||(t=d(t,12)+e|0,e=f[t+20>>2],(f[t+24>>2]-e|0)<=0||(r=f[e>>2])),r}function cr(e,t,r,i,n,a,s){f[e>>2]=0,f[e+56>>2]=t,f[e+48>>2]=0,f[e+52>>2]=0,f[e+40>>2]=a,f[e+44>>2]=s,o[e+32|0]=n,f[e+28>>2]=i,o[e+24|0]=r}function ur(e,t){t&&(ur(e,f[t>>2]),ur(e,f[t+4>>2]),(e=f[t+28>>2])&&(f[t+32>>2]=e,ee(e)),o[t+27|0]<0&&ee(f[t+16>>2]),ee(t))}function lr(e){return(u[e+11|0]>>>7|0?f[e+4>>2]:u[e+11|0])||(pi(),E()),u[e+11|0]>>>7|0&&(e=f[e>>2]),e}function br(e){var t=0;e=e||1;e:{for(;;){if(t=M(e))break e;if(!(t=f[2880]))break;_i[0|t]()}T(),E()}return t}function Ar(e,t){t&&(Ar(e,f[t>>2]),Ar(e,f[t+4>>2]),o[t+39|0]<0&&ee(f[t+28>>2]),o[t+27|0]<0&&ee(f[t+16>>2]),ee(t))}function pr(e){var t,r;return f[(e|=0)>>2]=11068,t=f[e+4>>2]-12|0,r=f[t+8>>2]-1|0,f[t+8>>2]=r,(0|r)<0&&ee(t),0|e}function dr(e,t){e|=0;var r=0;e:switch(0|(t|=0)){case 1:t=1;case 0:f[e+28>>2]=t,r=1}return 0|r}function _r(e,t,r){return t|=0,r|=0,f[4+(e|=0)>>2]=t,t=f[f[f[t+4>>2]+8>>2]+(r<<2)>>2],f[e+12>>2]=r,f[e+8>>2]=t,1}function hr(e){var t=0;return!f[60+(e|=0)>>2]|!f[e+44>>2]|!f[e+48>>2]|!f[e+52>>2]||(t=0!=f[e+56>>2]),0|t}function kr(e,t){var r,i;lt(e,t),r=t=f[e+28>>2],i=t+1|0,t=f[e+24>>2]+1|0,f[e+24>>2]=t,f[e+28>>2]=t?r:i}function mr(e){var t=0;return!f[52+(e|=0)>>2]|!f[e+44>>2]|!f[e+48>>2]||(t=0!=f[e+56>>2]),0|t}function yr(e,t){e|=0;var r=0;return f[56+(t|=0)>>2]|!t|3!=u[t+24|0]||(f[e+60>>2]=t,r=1),0|r}function vr(e,t){e|=0;var r=0;return f[56+(t|=0)>>2]|3!=u[t+24|0]||(f[e- -64>>2]=t,r=1),0|r}function gr(e,t){e|=0;var r=0;return f[56+(t|=0)>>2]|3!=u[t+24|0]||(f[e+48>>2]=t,r=1),0|r}function wr(e){var t;f[(e|=0)>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)}function Er(e){for(var t=0;e;)e&=e-1,t=t+1|0;return t}function Tr(){var e;return e=br(12),f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,0|e}function Br(e){var t=0;(e|=0)&&((t=f[e>>2])&&(f[e+4>>2]=t,ee(t)),ee(e))}function Rr(e){var t;return(-1>>>(t=31&e)&-2)<<t|(-1<<(e=0-e&31)&-2)>>>e}function xr(e,t){return t|=0,0|_i[f[f[(e|=0)>>2]+12>>2]](e,t)}function Nr(e,t){return t|=0,f[f[(e|=0)>>2]+(t<<2)>>2]}function Ir(e,t,r){return 0|ae(e|=0,t|=0,r|=0)}function Cr(e){return e?31-k(e-1^e)|0:32}function Dr(e){return f[e>>2]=10332,Ye(e+4|0,0,80),e}function Mr(e){return f[12+(e|=0)>>2]-f[e+8>>2]>>2}function Gr(e){(e|=0)&&_i[f[f[e>>2]+4>>2]](e)}function Ur(e,t){return t|=0,f[4+(e|=0)>>2]=t,1}function Vr(e){return f[4+(e|=0)>>2]-f[e>>2]>>1}function Fr(e){return f[4+(e|=0)>>2]-f[e>>2]>>2}function Sr(e){return f[4+(e|=0)>>2]-f[e>>2]|0}function Wr(e){return f[28+(e|=0)>>2]}function Zr(e){return f[80+(e|=0)>>2]}function Or(e,t){return 1}function jr(e,t){return-1}function Pr(e){return f[8+(e|=0)>>2]}function Yr(e){return f[4+(e|=0)>>2]}function zr(e,t){return 6}function Jr(e,t){return 0}function Qr(e){return f[(e|=0)>>2]}function Lr(e,t,r){r&&ge(e,t,r)}function Xr(e){(e|=0)&&ee(e)}function Hr(e){return 0|(e|=0)}function qr(e){return 1}function $r(e){return 4}function Kr(e){return 5}function ei(e){return 0}function ti(e){return 2}function ri(e){return 6}function ii(){Lt(1266),E()}function ni(e){ee(e|=0)}function oi(){Lt(1313),E()}function ai(e){E()}function fi(){return-1}function si(){return 1}function ci(){pi(),E()}function ui(){return 0}function li(){return 3}function bi(){return 4}function Ai(){return 2}function pi(){T(),E()}function di(e){}n(t=u,1028,"YAQAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAABALAAAOAQAAPwGAAAAAAAA0AQAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAAAoAAAAXAAAAGAAAAE41ZHJhY28zMEF0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybUUAAAAAQCwAAKQEAAD8BgAAX19uZXh0X3ByaW1lIG92ZXJmbG93AHZlY3RvcgBzdGQ6OmV4Y2VwdGlvbgBza2lwX2F0dHJpYnV0ZV90cmFuc2Zvcm0AYmFzaWNfc3RyaW5nAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUARFJBQ08AVXNpbmcgaW5jb21wYXRpYmxlIGRlY29kZXIgZm9yIHRoZSBpbnB1dCBnZW9tZXRyeS4ARmFpbGVkIHRvIGRlY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0aGUgZGVjb2Rlci4AVW5zdXBwb3J0ZWQgbWlub3IgdmVyc2lvbi4AVW5zdXBwb3J0ZWQgbWFqb3IgdmVyc2lvbi4ASW5wdXQgaXMgbm90IGEgbWVzaC4AVW5zdXBwb3J0ZWQgZ2VvbWV0cnkgdHlwZS4ATm90IGEgRHJhY28gZmlsZS4AVW5zdXBwb3J0ZWQgZW5jb2RpbmcgbWV0aG9kLgBGYWlsZWQgdG8gZGVjb2RlIG1ldGFkYXRhLgBGYWlsZWQgdG8gZGVjb2RlIGdlb21ldHJ5IGRhdGEuAFB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsZWQhAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUAABgsAADeBgAAAAAAAIgHAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAABONWRyYWNvMTdBdHRyaWJ1dGVzRGVjb2RlckUATjVkcmFjbzI2QXR0cmlidXRlc0RlY29kZXJJbnRlcmZhY2VFAAAAABgsAABYBwAAQCwAADwHAACABwAAAAAAAOgHAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAABONWRyYWNvMjZTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlckUAAAAAGCwAAMAHAAD/////AAAAAGAIAAAuAAAALwAAABsAAAAwAAAAMQAAAB4AAAAfAAAAIAAAADIAAAAzAAAANAAAADUAAAA2AAAATjVkcmFjbzM3U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJzQ29udHJvbGxlckUAQCwAADAIAACIBwAAAAAAANQIAAA3AAAAOAAAADkAAAAoAAAAKQAAACoAAAA6AAAALAAAADsAAAA8AAAAPQAAAD4AAAA/AAAATjVkcmFjbzMzU2VxdWVudGlhbEludGVnZXJBdHRyaWJ1dGVEZWNvZGVyRQBALAAAqAgAAOgHAAAAAAAAYAsAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMzdQcmVkaWN0aW9uU2NoZW1lVHlwZWREZWNvZGVySW50ZXJmYWNlSWlpRUUATjVkcmFjbzMyUHJlZGljdGlvblNjaGVtZURlY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNVByZWRpY3Rpb25TY2hlbWVJbnRlcmZhY2VFABgsAAAECwAAQCwAANkKAAAoCwAAQCwAAKUKAAAwCwAAQCwAAFEKAAA8CwAAQCwAALsJAABICwAAQCwAABgJAABUCwAAAAAAAFQLAABAAAAATAAAACIAAABDAAAAIgAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAACIAAAAAAAAASAsAAEAAAABNAAAAIgAAAEMAAAAiAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAAIgAAAAAAAADIDAAATgAAAE8AAABQAAAAQwAAAFEAAABFAAAARgAAAEcAAABIAAAASQAAAFIAAABTAAAATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAQCwAABQMAABUCwAAAAAAALQNAABUAAAAVQAAAFYAAABDAAAAVwAAAFgAAABZAAAAWgAAAEgAAABJAAAAWwAAAFwAAABONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAABALAAADA0AAFQLAAAAAAAAoA4AAF0AAABeAAAAXwAAAEMAAABgAAAAYQAAAGIAAABjAAAASAAAAEkAAABkAAAAZQAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAAEAsAAD4DQAAVAsAAAAAAAAoEAAAZgAAAGcAAABoAAAAaQAAAGoAAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAABgsAABzDwAAQCwAAMgOAAAgEAAAAAAAACAQAABmAAAAawAAACIAAABpAAAAIgAAAAAAAAC0EQAAQAAAAGwAAABtAAAAQwAAAG4AAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABvAAAATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAQCwAAB4RAABICwAAQCwAAIgQAACoEQAAAAAAAKgRAABAAAAAcAAAACIAAABDAAAAIgAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAACIAAAAAAAAA2BIAAHEAAAByAAAAcwAAAEMAAAB0AAAARQAAAEYAAABHAAAASAAAAEkAAAB1AAAAdgAAAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAEAsAAAwEgAAqBEAAAAAAAC4EwAAdwAAAHgAAAB5AAAAQwAAAHoAAAB7AAAAfAAAAH0AAABIAAAASQAAAH4AAAB/AAAATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAQCwAABwTAACoEQAAAAAAAJQUAACAAAAAgQAAAIIAAABDAAAAgwAAAIQAAACFAAAAhgAAAEgAAABJAAAAhwAAAIgAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAEAsAAD8EwAAqBEAAAAAAAAAFgAAiQAAAIoAAACLAAAAjAAAAI0AAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAGCwAAFoVAABALAAAvBQAAPgVAAAAAAAA+BUAAIkAAACOAAAAIgAAAIwAAAAiAAAAAAAAALwWAABAAAAAjwAAAJAAAABDAAAAkQAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAJIAAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAAAAAEAsAABgFgAASAsAAAAAAAAwFwAAkwAAAJQAAACVAAAAKAAAACkAAACWAAAAOgAAACwAAAA7AAAAlwAAAJgAAACZAAAAmgAAAE41ZHJhY28zMlNlcXVlbnRpYWxOb3JtYWxBdHRyaWJ1dGVEZWNvZGVyRQAAQCwAAAQXAADUCAAAAAAAAGQZAACbAAAAnAAAAJ0AAACeAAAAnwAAAKAAAAChAAAAogAAAKMAAACkAAAApQAAAKYAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQAAQCwAAN8YAAA8CwAAQCwAADEYAABMGQAAQCwAAHQXAABYGQAAAAAAABwbAACnAAAAqAAAAKkAAACqAAAAqwAAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAGCwAAE8aAABALAAAjBkAABQbAAAAAAAAwBwAAKwAAACtAAAArgAAAJ4AAACvAAAAsAAAALEAAACyAAAAowAAAKQAAACzAAAAtAAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAABALAAAEBwAAEwZAABALAAAYBsAALQcAAAAAAAAXB4AALUAAAC2AAAAtwAAALgAAAC5AAAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFABgsAACeHQAAQCwAAOgcAABUHgAAAAAAABQfAAC6AAAAuwAAALwAAACeAAAAvQAAAL4AAAC/AAAAwAAAAKMAAACkAAAAwQAAAMIAAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAAAAAEAsAACgHgAATBkAAAAAAACYHwAAwwAAAMQAAADFAAAAKAAAACkAAADGAAAAOgAAACwAAAA7AAAAxwAAAD0AAAA+AAAAyAAAAMkAAADKAAAATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZURlY29kZXJFAAAAAEAsAABkHwAA1AgAAAAAAAD4HwAAywAAAMwAAADNAAAAzgAAACIAAADPAAAA0AAAANEAAADSAAAA0wAAANQAAADVAAAAIgAAAE41ZHJhY28xMU1lc2hEZWNvZGVyRQAAAEAsAADgHwAAvCcAAAAAAABkIAAA1gAAANcAAADNAAAA2AAAANkAAADPAAAA0AAAANEAAADaAAAA2wAAANwAAADdAAAA3gAAAE41ZHJhY28yMk1lc2hFZGdlYnJlYWtlckRlY29kZXJFAAAAAEAsAABAIAAA+B8AAAAAAABYIQAA3wAAAOAAAADhAAAA4gAAAOMAAADkAAAA5QAAAOYAAADnAAAA6AAAAP////8AAAAAuCEAAOkAAADqAAAA6wAAAOwAAADtAAAA7gAAAO8AAADwAAAA8QAAAPIAAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zMU1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbERlY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VicmVha2VyRGVjb2RlckltcGxJbnRlcmZhY2VFAAAAGCwAACAhAABALAAA1CAAAFAhAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zOE1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbFZhbGVuY2VEZWNvZGVyRUVFAABALAAAZCEAAFAhAAAAAAAAtCIAAPMAAAD0AAAA9QAAAE41ZHJhY28xOURlcHRoRmlyc3RUcmF2ZXJzZXJJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUAGCwAAEUiAABALAAA2CEAAKwiAAAAAAAArCIAAPYAAAD3AAAA9Q=="),n(t,8932,"AQAAAAMAAAAFAAAABwAAAAAAAAC4IwAA+AAAAPkAAAD6AAAA+wAAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUAAAAAGCwAAJMjAABALAAADCMAALAjAAD/////AAAAAKgkAAD8AAAA/QAAAP4AAABONWRyYWNvMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQAAGCwAAEUkAABALAAA3CMAAKAkAAAAAAAAoCQAAP8AAAAAAQAA/gAAAAAAAABgJQAAAQEAAAIBAAADAQAABAEAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAAAAQCwAAOAkAACwIwAAAAAAAOAlAAAFAQAABgEAAP4AAABONWRyYWNvMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBALAAAgCUAAKAkAAAAAAAAkCYAAAcBAAAIAQAACQEAAAoBAABONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzE5RGVwdGhGaXJzdFRyYXZlcnNlcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTMl9FRUVFRUUAAEAsAAAEJgAAsCM="),n(t,9892,"/CYAAMsAAAALAQAAzQAAAM4AAAAMAQAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAAA0BAABONWRyYWNvMjFNZXNoU2VxdWVudGlhbERlY29kZXJFAEAsAADcJgAA+B8AAAAAAAA8JwAADgEAAA8BAAAQAQAAEQEAAE41ZHJhY28xNUxpbmVhclNlcXVlbmNlckUAAABALAAAICcAALAjAAAAAAAAvCcAAMsAAAASAQAAEwEAAM4AAAAiAAAAFAEAANAAAADRAAAA0g=="),n(t,10112,"RmFpbGVkIHRvIHBhcnNlIERyYWNvIGhlYWRlci4ATjVkcmFjbzE3UG9pbnRDbG91ZERlY29kZXJFAAAAGCwAAJ4nAAABAAAAAQAAAAIAAAACAAAABAAAAAQAAAAIAAAACAAAAAQAAAAIAAAAAQ=="),n(t,10243,"wAAAAMAAAADAAAAAwP//////////AAAAAEAoAAAVAQAAFgEAABcBAAAYAQAATjVkcmFjbzRNZXNoRQAAAEAsAAAwKAAAhCgAAP////8AAAAAAAAAAIQoAAAZAQAAGgEAABsBAAAcAQAATjVkcmFjbzEwUG9pbnRDbG91ZEUAAAAAGCwAAGwo"),n(t,10388,"AgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAAwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OQ=="),n(t,10980,"CgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUAypo7AAAAACwrAAAdAQAAHgEAAB8BAABTdDlleGNlcHRpb24AAAAAGCwAABwrAAAAAAAAWCsAAA0AAAAgAQAAIQEAAFN0MTFsb2dpY19lcnJvcgBALAAASCsAACwrAAAAAAAAjCsAAA0AAAAiAQAAIQEAAFN0MTJsZW5ndGhfZXJyb3IAAAAAQCwAAHgrAABYKwAAU3Q5dHlwZV9pbmZvAAAAABgsAACYKwAATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAAAAAQCwAALArAACoKwAATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAAAAQCwAAOArAADUKwAAAAAAAAQsAAAjAQAAJAEAACUBAAAmAQAAJwEAACgBAAApAQAAKgEAAAAAAACILAAAIwEAACsBAAAlAQAAJgEAACcBAAAsAQAALQEAAC4BAABOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UAAAAAQCwAAGAsAAAELA=="),n(t,11413,"L1A=");var _i=function(e){return e.set=function(e,t){this[e]=t},e.get=function(e){return this[e]},e}([null,Hr,ni,ti,function(e,t){e|=0;var r=0;return!(t=f[88+(t|=0)>>2])|2!=f[t>>2]||(r=e,e=f[t+8>>2],f[r+4>>2]=u[0|e]|u[e+1|0]<<8|u[e+2|0]<<16|u[e+3|0]<<24,r=1),0|r},function(e,t){e|=0;var r,i=0;f[(t|=0)>>2]=2,i=f[t+8>>2],(r=f[t+12>>2]-i|0)>>>0<=4294967291&&(kr(t+8|0,r+4|0),i=f[t+8>>2]),t=i+r|0,e=f[e+4>>2],o[0|t]=e,o[t+1|0]=e>>>8,o[t+2|0]=e>>>16,o[t+3|0]=e>>>24},function(e,t,r,i){e|=0,t|=0,r|=0;var n,o=0,a=0,s=0,c=0,l=0,b=0,p=0;if(s=f[80+(i|=0)>>2],I=n=I-48|0,!((e=f[e+4>>2])-31>>>0<4294967267))if(c=f[f[i>>2]>>2]+f[i+48>>2]|0,f[n+16>>2]=e,e=-1<<e,f[n+20>>2]=-1^e,e=-2-e|0,f[n+24>>2]=e,f[n+32>>2]=(0|e)/2,A[n+28>>2]=_(2)/_(0|e),(0|(a=f[r>>2]))==f[r+4>>2])if(s)for(i=0,e=0;l=n+36|0,r=f[f[t>>2]>>2],o=f[t+40>>2],ge(l,r+(a=f[t+48>>2]+Jt(o,f[t+44>>2],u[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],0)|0)|0,o),Ge(n+16|0,l,n+12|0,n+8|0),f[(r=i<<2)+c>>2]=f[n+12>>2],f[(4|r)+c>>2]=f[n+8>>2],i=i+2|0,o=1,(0|s)!=(0|(e=e+1|0)););else o=1;else for(e=0,i=0;o=f[(i<<2)+a>>2],s=n+36|0,l=f[f[t>>2]>>2],p=f[t+48>>2],a=f[t+44>>2],b=f[t+40>>2],u[t+84|0]||(o=f[f[t+68>>2]+(o<<2)>>2]),ge(s,(o=Jt(b,a,o,0)+p|0)+l|0,b),Ge(n+16|0,s,n+12|0,n+8|0),f[(a=e<<2)+c>>2]=f[n+12>>2],f[(4|a)+c>>2]=f[n+8>>2],o=1,e=e+2|0,i=i+1|0,a=f[r>>2],i>>>0<f[r+4>>2]-a>>2>>>0;);return I=n+48|0,0|o},Me,function(e,t){t|=0;var r,i=0;return I=r=I-16|0,-1!=(0|(e=f[4+(e|=0)>>2]))&&(o[r+15|0]=e,i=f[t+20>>2],!!f[t+16>>2]&(0|i)>=0|(0|i)>0||de(t,f[t+4>>2],r+15|0,r+16|0)),I=r+16|0,-1!=(0|e)|0},It,function(e,t,r){var i,n,a,s,c,u;return t|=0,r|=0,I=i=I+-64|0,n=0|_i[f[f[(e|=0)>>2]+44>>2]](e,t),e=0|_i[f[f[e>>2]+40>>2]](e,t),a=qt(i),s=f[t+56>>2],c=n<<24>>24,u=e,e=(e=e-1|0)>>>0<=10?f[10180+(e<<2)>>2]:-1,cr(a,s,c,u,0,e=d(e,n),e>>31),He(e=$e(br(96),a),r),o[e+84|0]=1,f[e+72>>2]=f[e+68>>2],f[e+60>>2]=f[t+60>>2],I=i- -64|0,0|e},zr,function(e,t){return 2},pr,function(e){var t;return f[(e|=0)>>2]=1140,(t=f[e+8>>2])&&(f[e+12>>2]=t,ee(t)),0|e},function(e){var t;f[(e|=0)>>2]=1140,(t=f[e+8>>2])&&(f[e+12>>2]=t,ee(t)),ee(e)},qr,function(e,t){e|=0;var r=0,i=0,n=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0;if(!(!(r=f[88+(t|=0)>>2])|1!=f[r>>2])){if(i=f[r+8>>2],f[e+4>>2]=u[0|i]|u[i+1|0]<<8|u[i+2|0]<<16|u[i+3|0]<<24,i=o[t+24|0],n=f[e+8>>2],i>>>0>(a=f[e+12>>2]-n>>2)>>>0?(st(e+8|0,i-a|0),i=o[t+24|0],n=f[e+8>>2]):i>>>0>=a>>>0||(f[e+12>>2]=(i<<2)+n),A=1,a=f[r+8>>2],(0|i)<=0)t=4;else{if(c=3&i,i-1>>>0<3)t=4,i=0;else for(p=-4&i,i=0,t=4;r=t+a|0,f[(s=i<<2)+n>>2]=u[0|r]|u[r+1|0]<<8|u[r+2|0]<<16|u[r+3|0]<<24,f[(4|s)+n>>2]=u[r+4|0]|u[r+5|0]<<8|u[r+6|0]<<16|u[r+7|0]<<24,f[(8|s)+n>>2]=u[r+8|0]|u[r+9|0]<<8|u[r+10|0]<<16|u[r+11|0]<<24,f[(12|s)+n>>2]=u[r+12|0]|u[r+13|0]<<8|u[r+14|0]<<16|u[r+15|0]<<24,i=i+4|0,t=t+16|0,(0|p)!=(0|(l=l+4|0)););if(c)for(;r=t+a|0,f[(i<<2)+n>>2]=u[0|r]|u[r+1|0]<<8|u[r+2|0]<<16|u[r+3|0]<<24,i=i+1|0,t=t+4|0,(0|(b=b+1|0))!=(0|c););}r=e,e=t+a|0,f[r+20>>2]=u[0|e]|u[e+1|0]<<8|u[e+2|0]<<16|u[e+3|0]<<24}return 0|A},function(e,t){e|=0;var r,i=0,n=0,a=0,s=0;if(f[(t|=0)>>2]=1,r=t+8|0,i=f[t+8>>2],(n=f[t+12>>2]-i|0)>>>0<=4294967291&&(kr(r,n+4|0),i=f[r>>2]),i=i+n|0,n=f[e+4>>2],o[0|i]=n,o[i+1|0]=n>>>8,o[i+2|0]=n>>>16,o[i+3|0]=n>>>24,(0|(i=f[e+8>>2]))!=f[e+12>>2])for(n=0;s=(n<<2)+i|0,i=f[t+8>>2],(a=f[t+12>>2]-i|0)>>>0<=4294967291&&(kr(r,a+4|0),i=f[r>>2]),i=i+a|0,a=f[s>>2],o[0|i]=a,o[i+1|0]=a>>>8,o[i+2|0]=a>>>16,o[i+3|0]=a>>>24,n=n+1|0,i=f[e+8>>2],n>>>0<f[e+12>>2]-i>>2>>>0;);(i=(i=f[t+12>>2])-(t=f[t+8>>2])|0)>>>0<=4294967291&&(kr(r,i+4|0),t=f[r>>2]),t=t+i|0,e=f[e+20>>2],o[0|t]=e,o[t+1|0]=e>>>8,o[t+2|0]=e>>>16,o[t+3|0]=e>>>24},function(e,t,r,i){e|=0,t|=0,r|=0,i|=0;var n,a=_(0),s=0,c=0,l=0,b=0,p=0,d=_(0),k=0,m=0,y=0,g=0,w=0,E=0,T=0,B=0,R=0,x=0,N=0,C=0,D=0,M=0;if(f[r>>2]==f[r+4>>2]){if(c=f[i+80>>2],I=x=I-16|0,p=f[e+4>>2],l=f[i+48>>2],i=f[f[i>>2]>>2],b=o[t+24|0],f[(r=x+8|0)>>2]=1065353216,R=r,A[r>>2]=_(-1<<p^-1)/A[e+20>>2],N=br((0|b)!=(1073741823&b)?-1:b<<2),!(!c|(0|b)<=0))if(T=i+l|0,D=f[t>>2],r=f[t+48>>2],M=f[t+44>>2],C=f[t+40>>2],u[t+84|0])for(y=-2&b,B=1&b,t=0;;){if(w=ge(N,(l=f[D>>2])+(i=Jt(C,M,g,s)+r|0)|0,C),d=A[R>>2],k=f[e+8>>2],i=0,m=0,1!=(0|b))for(;l=T+(t<<2)|0,a=_(v(_(_(d*_(A[(E=i<<2)+w>>2]-A[k+E>>2]))+_(.5)))),p=_(h(a))<_(2147483648)?~~a:-2147483648,f[l>>2]=p,a=_(v(_(_(d*_(A[(p=4|E)+w>>2]-A[k+p>>2]))+_(.5)))),p=_(h(a))<_(2147483648)?~~a:-2147483648,f[l+4>>2]=p,i=i+2|0,t=t+2|0,(0|y)!=(0|(m=m+2|0)););if(B&&(l=T+(t<<2)|0,a=_(v(_(_(d*_(A[(i<<=2)+w>>2]-A[i+k>>2]))+_(.5)))),i=_(h(a))<_(2147483648)?~~a:-2147483648,f[l>>2]=i,t=t+1|0),g=i=g+1|0,!((0|c)!=(0|i)|(s=i?s:s+1|0)))break}else for(y=f[t+68>>2],B=-2&b,p=1&b,t=0;;){if(w=ge(N,(s=f[D>>2])+(i=Jt(C,M,f[y+(g<<2)>>2],0)+r|0)|0,C),d=A[R>>2],k=f[e+8>>2],i=0,m=0,1!=(0|b))for(;s=T+(t<<2)|0,a=_(v(_(_(d*_(A[(E=i<<2)+w>>2]-A[k+E>>2]))+_(.5)))),l=_(h(a))<_(2147483648)?~~a:-2147483648,f[s>>2]=l,a=_(v(_(_(d*_(A[(l=4|E)+w>>2]-A[k+l>>2]))+_(.5)))),l=_(h(a))<_(2147483648)?~~a:-2147483648,f[s+4>>2]=l,i=i+2|0,t=t+2|0,(0|B)!=(0|(m=m+2|0)););if(p&&(s=T+(t<<2)|0,a=_(v(_(_(d*_(A[(i<<=2)+w>>2]-A[i+k>>2]))+_(.5)))),i=_(h(a))<_(2147483648)?~~a:-2147483648,f[s>>2]=i,t=t+1|0),(0|c)==(0|(g=g+1|0)))break}return ee(N),I=x+16|0,1}if(I=x=I-16|0,R=f[e+4>>2],c=f[i+48>>2],s=f[f[i>>2]>>2],n=o[t+24|0],f[(i=x+8|0)>>2]=1065353216,l=i,A[i>>2]=_(-1<<R^-1)/A[e+20>>2],N=br((0|n)!=(1073741823&n)?-1:n<<2),D=f[r>>2],!(!(r=f[r+4>>2]-D|0)|(0|n)<=0))if(T=s+c|0,M=f[t>>2],i=f[t+48>>2],C=f[t+44>>2],g=f[t+40>>2],E=(r>>=2)>>>0>1?r:1,u[t+84|0])for(p=-2&n,R=1&n,t=0;;){if(k=ge(N,(s=f[M>>2])+(r=Jt(g,C,f[D+(m<<2)>>2],0)+i|0)|0,g),d=A[l>>2],y=f[e+8>>2],r=0,b=0,1!=(0|n))for(;s=T+(t<<2)|0,a=_(v(_(_(d*_(A[(B=r<<2)+k>>2]-A[y+B>>2]))+_(.5)))),c=_(h(a))<_(2147483648)?~~a:-2147483648,f[s>>2]=c,a=_(v(_(_(d*_(A[(c=4|B)+k>>2]-A[y+c>>2]))+_(.5)))),c=_(h(a))<_(2147483648)?~~a:-2147483648,f[s+4>>2]=c,r=r+2|0,t=t+2|0,(0|p)!=(0|(b=b+2|0)););if(R&&(s=T+(t<<2)|0,a=_(v(_(_(d*_(A[(r<<=2)+k>>2]-A[r+y>>2]))+_(.5)))),r=_(h(a))<_(2147483648)?~~a:-2147483648,f[s>>2]=r,t=t+1|0),(0|E)==(0|(m=m+1|0)))break}else for(B=f[t+68>>2],p=-2&n,R=1&n,t=0;;){if(w=ge(N,(s=f[M>>2])+(r=Jt(g,C,f[B+(f[D+(m<<2)>>2]<<2)>>2],0)+i|0)|0,g),d=A[l>>2],k=f[e+8>>2],r=0,b=0,1!=(0|n))for(;s=T+(t<<2)|0,a=_(v(_(_(d*_(A[(y=r<<2)+w>>2]-A[k+y>>2]))+_(.5)))),c=_(h(a))<_(2147483648)?~~a:-2147483648,f[s>>2]=c,a=_(v(_(_(d*_(A[(c=4|y)+w>>2]-A[k+c>>2]))+_(.5)))),c=_(h(a))<_(2147483648)?~~a:-2147483648,f[s+4>>2]=c,r=r+2|0,t=t+2|0,(0|p)!=(0|(b=b+2|0)););if(R&&(s=T+(t<<2)|0,a=_(v(_(_(d*_(A[(r<<=2)+w>>2]-A[r+k>>2]))+_(.5)))),r=_(h(a))<_(2147483648)?~~a:-2147483648,f[s>>2]=r,t=t+1|0),(0|E)==(0|(m=m+1|0)))break}return ee(N),I=x+16|0,1},Be,function(e,t){t|=0;var r,i,n=0,a=0;return I=r=I-16|0,-1!=(0|(i=f[4+(e|=0)>>2]))&&(n=f[t+20>>2],!!f[t+16>>2]&(0|n)>=0|(0|n)>0||(de(t,f[t+4>>2],f[e+8>>2],f[e+12>>2]),n=f[t+20>>2],!!f[t+16>>2]&(0|n)>=0|(0|n)>0||(n=e+20|0,de(t,f[t+4>>2],n,n+4|0),n=f[t+20>>2],a=f[t+16>>2],o[r+15|0]=f[e+4>>2],!!a&(0|n)>=0|(0|n)>0||de(t,f[t+4>>2],r+15|0,r+16|0)))),I=r+16|0,-1!=(0|i)|0},Ce,zr,function(e,t){return o[24+(t|=0)|0]},function(e){var t=0;return f[(e|=0)>>2]=1804,(t=f[e+16>>2])&&(f[e+20>>2]=t,ee(t)),(t=f[e+4>>2])&&(f[e+8>>2]=t,ee(t)),0|e},ai,function(e,t,r){return t|=0,r|=0,f[32+(e|=0)>>2]=r,f[e+28>>2]=t,1},ue,function(e,t){t|=0;var r=0;return 0|_i[f[f[(e|=0)>>2]+36>>2]](e,t)&&0|_i[f[f[e>>2]+40>>2]](e,t)&&(r=0|_i[f[f[e>>2]+44>>2]](e)),0|r},function(e,t){return t|=0,f[f[4+(e|=0)>>2]+(t<<2)>>2]},function(e){return f[8+(e|=0)>>2]-f[e+4>>2]>>2},Wr,Jr,function(){E()},Or,qr,function(e){var t;return f[(e|=0)>>2]=1948,t=f[e+16>>2],f[e+16>>2]=0,t&&jt(t),0|e},function(e){var t;f[(e|=0)>>2]=1948,t=f[e+16>>2],f[e+16>>2]=0,t&&jt(t),ee(e)},_r,function(e,t){return t|=0,f[12+(e|=0)>>2]=-1,f[e+8>>2]=t,1},function(e,t,r){t|=0,r|=0;var i,n=0;return i=f[8+(e|=0)>>2],o[i+24|0]<=0||He(i,f[t+4>>2]-f[t>>2]>>2)&&(n=0|_i[f[f[e>>2]+32>>2]](e,t,r)),0|n},function(e,t,r){return 1},Or,function(e,t){e|=0;var r=0,i=0,n=0,o=0,a=0;if((0|_i[f[f[(t|=0)>>2]+20>>2]](t))<=0)return 1;e:{for(;;){if(-1==(0|(i=sr(f[f[e+4>>2]+4>>2],0|_i[f[f[t>>2]+24>>2]](t,n)))))break e;if(o=f[e+4>>2],r=0,(0|i)<0||(a=f[o+4>>2],(0|i)>=f[a+12>>2]-f[a+8>>2]>>2||(r=f[f[o+8>>2]+(f[f[o+20>>2]+(i<<2)>>2]<<2)>>2],r=0|_i[f[f[r>>2]+32>>2]](r,i))),!r)break e;if(!(0|_i[f[f[t>>2]+28>>2]](t,r)))break e;if(n=n+1|0,!((0|_i[f[f[t>>2]+20>>2]](t))>(0|n)))break}return 1}return 0},function(e,t,r){e|=0,r|=0;var i,n,o=0,a=0,s=0,c=0,u=0,l=0,A=0,p=0;if(o=f[(t|=0)>>2],t=f[t+4>>2],n=br((0|(i=f[f[e+8>>2]+40>>2]))>=0?i:-1),s=1,!((0|(c=t-o|0))<=0||(t=0,s=0,o=0+f[r+20>>2]|0,o=(a=i+(u=f[r+16>>2])|0)>>>0<i>>>0?o+1|0:o,l=a,a=f[r+12>>2],l>>>0>b[r+8>>2]&(0|a)<=(0|o)|(0|o)>(0|a)))){for(s=(0|(A=c>>2))>1?A:1;a=ge(n,u+f[r>>2]|0,i),f[r+16>>2]=l,f[r+20>>2]=o,ge(f[f[f[e+8>>2]+64>>2]>>2]+t|0,a,i),(0|s)!=(0|(p=p+1|0))&&(t=t+i|0,o=0+f[r+20>>2]|0,o=(a=i+(u=f[r+16>>2])|0)>>>0<i>>>0?o+1|0:o,l=a,c=a,(0|(a=f[r+12>>2]))>=(0|o)&b[r+8>>2]>=c>>>0|(0|o)<(0|a)););s=(0|p)>=(0|A)}return ee(n),0|s},function(e){var t,r=0,i=0;if(f[(e|=0)>>2]=2044,r=f[e+60>>2],f[e+60>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),t=f[e+36>>2]){if((0|(i=f[e+40>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|t)!=(0|i););r=f[e+36>>2]}f[e+40>>2]=t,ee(r)}return f[e>>2]=1804,(r=f[e+16>>2])&&(f[e+20>>2]=r,ee(r)),(r=f[e+4>>2])&&(f[e+8>>2]=r,ee(r)),0|e},function(e){var t,r=0,i=0;if(f[(e|=0)>>2]=2044,r=f[e+60>>2],f[e+60>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),t=f[e+36>>2]){if((0|(i=f[e+40>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|t)!=(0|i););r=f[e+36>>2]}f[e+40>>2]=t,ee(r)}f[e>>2]=1804,(r=f[e+16>>2])&&(f[e+20>>2]=r,ee(r)),(r=f[e+4>>2])&&(f[e+8>>2]=r,ee(r)),ee(e)},function(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0,l=0,A=0,p=0,d=0,_=0;if(ue(e|=0,t|=0)){if(c=e+36|0,(a=0|_i[f[f[e>>2]+24>>2]](e))>>>0>(r=(i=f[e+40>>2])-(n=f[e+36>>2])>>2)>>>0)je(c,a-r|0);else if(!(r>>>0<=a>>>0)){if((0|(n=n+(a<<2)|0))!=(0|i))for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|i)!=(0|n););f[e+40>>2]=n}e:if((0|a)<=0)n=0;else if(n=1,!((0|(r=f[t+20>>2]))>=(0|(i=f[t+12>>2]))&(o=f[t+16>>2])>>>0>=b[t+8>>2]|(0|r)>(0|i)))for(i=0;;){if(s=u[o+f[t>>2]|0],r=(o=o+1|0)?r:r+1|0,f[t+16>>2]=o,f[t+20>>2]=r,o=0|_i[f[f[e>>2]+48>>2]](e,s),l=(s=i<<2)+f[e+36>>2]|0,r=f[l>>2],f[l>>2]=o,r&&_i[f[f[r>>2]+4>>2]](r),!(r=f[f[c>>2]+s>>2]))break e;if(p=r,d=0|_i[f[f[e>>2]+28>>2]](e),_=0|_i[f[f[e>>2]+20>>2]](e,i),A=f[f[r>>2]+8>>2],!(0|_i[A](0|p,0|d,0|_)))break e;if(n=(0|a)>(0|(i=i+1|0)),(0|i)==(0|a))break e;if(o=f[t+16>>2],r=f[t+20>>2],s=f[t+12>>2],!(o>>>0<b[t+8>>2]&(0|r)<=(0|s)|(0|r)<(0|s)))break}e=!n}else e=0;return 0|e},function(e,t){t|=0;var r=0,i=0,n=0,o=0,a=0;if((r=f[60+(e|=0)>>2])&&(f[r+4>>2]=e+48,0|_i[f[f[r>>2]+12>>2]](r))){e:if(!((0|(r=0|_i[f[f[e>>2]+24>>2]](e)))<=0)){for(;;){if(o=f[4+(0|_i[f[f[e>>2]+28>>2]](e))>>2],a=0|_i[f[f[e>>2]+20>>2]](e,i),n=f[e+60>>2],0|_i[f[f[n>>2]+8>>2]](n,f[f[o+8>>2]+(a<<2)>>2])){if((0|r)!=(0|(i=i+1|0)))continue;break e}break}return 0}i=0,0|_i[f[f[e>>2]+36>>2]](e,t)&&0|_i[f[f[e>>2]+40>>2]](e,t)&&(i=0|_i[f[f[e>>2]+44>>2]](e))}return 0|i},function(e,t){t|=0;var r,i=0;return r=f[16+(e|=0)>>2],i=0,f[e+20>>2]-r>>2<=(0|t)||(i=0,(0|(t=f[(t<<2)+r>>2]))<0||(i=tt(f[f[e+36>>2]+(t<<2)>>2]))),0|i},function(e,t){t|=0;var r,i=0,n=0,o=0,a=0;if(i=1,!((0|(r=0|_i[f[f[(e|=0)>>2]+24>>2]](e)))<=0)&&(n=f[f[e+36>>2]>>2],o=e+48|0,i=0,0|_i[f[f[n>>2]+16>>2]](n,o,t))){for(n=1;(0|r)!=(0|(i=n))&&(n=i+1|0,a=f[f[e+36>>2]+(i<<2)>>2],0|_i[f[f[a>>2]+16>>2]](a,o,t)););i=(0|i)>=(0|r)}return 0|i},function(e,t){t|=0;var r,i=0,n=0,o=0,a=0;if(i=1,!((0|(r=0|_i[f[f[(e|=0)>>2]+24>>2]](e)))<=0)&&(n=f[f[e+36>>2]>>2],o=e+48|0,i=0,0|_i[f[f[n>>2]+20>>2]](n,o,t))){for(n=1;(0|r)!=(0|(i=n))&&(n=i+1|0,a=f[f[e+36>>2]+(i<<2)>>2],0|_i[f[f[a>>2]+20>>2]](a,o,t)););i=(0|i)>=(0|r)}return 0|i},function(e){var t,r,i=0,n=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0;I=t=I-16|0,k=1;e:if((0|(r=0|_i[f[f[(e|=0)>>2]+24>>2]](e)))<=0)k=0;else for(y=e+48|0;;){t:{if(f[40+(0|_i[f[f[e>>2]+28>>2]](e))>>2]&&(i=f[(s=_<<2)+f[e+36>>2]>>2],a=f[i+8>>2],l=tt(i))){i=f[40+(0|_i[f[f[e>>2]+28>>2]](e))>>2],b=f[a+56>>2],n=br(32),f[t>>2]=n,f[t+4>>2]=24,f[t+8>>2]=-2147483616,o[n+24|0]=0,c=u[1308]|u[1309]<<8|u[1310]<<16|u[1311]<<24,a=u[1304]|u[1305]<<8|u[1306]<<16|u[1307]<<24,o[n+16|0]=a,o[n+17|0]=a>>>8,o[n+18|0]=a>>>16,o[n+19|0]=a>>>24,o[n+20|0]=c,o[n+21|0]=c>>>8,o[n+22|0]=c>>>16,o[n+23|0]=c>>>24,c=u[1300]|u[1301]<<8|u[1302]<<16|u[1303]<<24,a=u[1296]|u[1297]<<8|u[1298]<<16|u[1299]<<24,o[n+8|0]=a,o[n+9|0]=a>>>8,o[n+10|0]=a>>>16,o[n+11|0]=a>>>24,o[n+12|0]=c,o[n+13|0]=c>>>8,o[n+14|0]=c>>>16,o[n+15|0]=c>>>24,c=u[1292]|u[1293]<<8|u[1294]<<16|u[1295]<<24,a=u[1288]|u[1289]<<8|u[1290]<<16|u[1291]<<24,o[0|n]=a,o[n+1|0]=a>>>8,o[n+2|0]=a>>>16,o[n+3|0]=a>>>24,o[n+4|0]=c,o[n+5|0]=c>>>8,o[n+6|0]=c>>>16,o[n+7|0]=c>>>24,p=c=i+16|0;r:if(A=f[c>>2]){for(;p=(a=(0|b)>f[A+16>>2])?p:A,A=f[(a<<2)+A>>2];);if(!((0|c)==(0|p)|(0|b)<f[p+16>>2])&&(A=f[p+24>>2]))for(a=p+20|0;;){i:{n:{o:{if(p=(m=(h=(b=(c=u[A+27|0])<<24>>24<0)?f[A+20>>2]:c)>>>0<24)?h:24){c=A+16|0;a:{if(!(c=Rt(n,b=b?f[c>>2]:c,p))){if(h>>>0<=24)break a;break i}if((0|c)<0)break i}if(!(c=Rt(b,n,p)))break o;if((0|c)<0)break n;i=a;break r}if(h>>>0>24)break i}if(!m){i=a;break r}}A=A+4|0}if(!(A=f[A>>2]))break}}if(A=0,(0|(a=i+4|0))!=(0|(i=Ke(i,t)))){for(a=o[i+39|0]<0?f[i+28>>2]:i+28|0,p=0,c=0;a=(i=a)+1|0,32==(0|(n=o[0|i]))|n-9>>>0<5;);r:{i:{n:switch((n=o[0|i])-43|0){case 0:break i;case 2:break n;default:break r}c=1}n=o[0|a],i=a}if(n-48>>>0<10)for(;p=48+(d(p,10)-o[0|i]|0)|0,a=o[i+1|0],i=i+1|0,a-48>>>0<10;);-1!=(0|(i=c?p:0-p|0))&&(A=0!=(0|i))}if(o[t+11|0]<0&&ee(f[t>>2]),A){s=f[f[f[e+36>>2]+s>>2]+8>>2],f[s+64>>2]||(n=i=br(32),f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,a=f[s+64>>2],f[s+64>>2]=i,a&&((i=f[a>>2])&&(f[a+4>>2]=i,ee(i)),ee(a),n=f[s+64>>2]),f[s>>2]=n,i=f[n+20>>2],f[s+8>>2]=f[n+16>>2],f[s+12>>2]=i,a=f[n+24>>2],i=f[n+28>>2],f[s+48>>2]=0,f[s+52>>2]=0,f[s+40>>2]=0,f[s+44>>2]=0,f[s+16>>2]=a,f[s+20>>2]=i);r:if(o[s+24|0]=u[l+24|0],f[s+28>>2]=f[l+28>>2],o[s+32|0]=u[l+32|0],i=f[l+44>>2],f[s+40>>2]=f[l+40>>2],f[s+44>>2]=i,i=f[l+52>>2],f[s+48>>2]=f[l+48>>2],f[s+52>>2]=i,f[s+56>>2]=f[l+56>>2],i=f[l+12>>2],f[s+8>>2]=f[l+8>>2],f[s+12>>2]=i,i=f[l+20>>2],f[s+16>>2]=f[l+16>>2],f[s+20>>2]=i,f[s+60>>2]=f[l+60>>2],(a=f[l>>2])?(n=0,(i=f[s>>2])&&(Ot(n=i,i=f[a>>2],f[a+4>>2]-i|0,0),n=1)):(f[s>>2]=0,n=1),n){o[s+84|0]=u[l+84|0],f[s+80>>2]=f[l+80>>2],(0|s)!=(0|l)&&Qe(s+68|0,f[l+68>>2],f[l+72>>2]);i:{n:{if(b=f[l+88>>2]){if(i=br(40),a=f[b>>2],f[i+16>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[i>>2]=a,n=f[b+12>>2]-f[b+8>>2]|0){if((0|n)<0)break i;a=br(n),f[i+8>>2]=a,f[i+12>>2]=a,f[i+16>>2]=n+a,n=f[b+8>>2],(0|(c=f[b+12>>2]-n|0))>0&&(a=ge(a,n,c)+c|0),f[i+12>>2]=a}if(a=f[b+36>>2],f[i+32>>2]=f[b+32>>2],f[i+36>>2]=a,a=f[b+28>>2],f[i+24>>2]=f[b+24>>2],f[i+28>>2]=a,n=f[s+88>>2],f[s+88>>2]=i,n)break n;break r}if(n=f[s+88>>2],f[s+88>>2]=0,!n)break r}(i=f[n+8>>2])&&(f[n+12>>2]=i,ee(i)),ee(n);break r}ii(),E()}break t}}if(i=f[f[e+36>>2]+(_<<2)>>2],!(0|_i[f[f[i>>2]+24>>2]](i,y)))break e}if(k=(0|r)>(0|(_=_+1|0)),(0|_)==(0|r))break}return I=t+16|0,1&(-1^k)},function(e,t){e|=0,e=0;e:switch(0|(t|=0)){case 0:return e=br(20),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,0|e;case 1:return e=br(24),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,f[e+20>>2]=0,f[e>>2]=2164,0|e;case 2:return e=br(48),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,f[e+20>>2]=0,f[e>>2]=2164,f[e+32>>2]=0,f[e+36>>2]=0,f[e+28>>2]=-1,f[e+24>>2]=1140,f[e>>2]=7976,f[e+40>>2]=0,f[e+44>>2]=0,0|e;case 3:e=br(32),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,f[e+20>>2]=0,f[e>>2]=2164,f[e+28>>2]=-1,f[e+24>>2]=1032,f[e>>2]=5840}return 0|e},nr,fr,_r,function(e,t){return t|=0,0|_i[f[f[(e|=0)>>2]+48>>2]](e,f[t+4>>2]-f[t>>2]>>2)},function(e,t,r){e|=0,t|=0;var i,n,a=0,s=0,c=0,u=0,l=0,b=0,A=0;e:if(!((0|(a=i=f[12+(r|=0)>>2]))<=(0|(s=f[r+20>>2]))&(n=f[r+8>>2])>>>0<=(c=f[r+16>>2])>>>0|(0|a)<(0|s))){if(l=f[r>>2],b=o[l+c|0],a=s,a=(u=c+1|0)?a:a+1|0,f[r+16>>2]=u,f[r+20>>2]=a,-2!=(0|b)){if((0|a)>=(0|i)&u>>>0>=n>>>0|(0|a)>(0|i))break e;if(a=o[u+l|0],s=(c=c+2|0)>>>0<2?s+1|0:s,f[r+16>>2]=c,f[r+20>>2]=s,(a-4&255)>>>0<251)break e;s=0|_i[f[f[e>>2]+40>>2]](e,b,a),a=f[e+20>>2],f[e+20>>2]=s,a&&_i[f[f[a>>2]+4>>2]](a)}(!(a=f[e+20>>2])||0|_i[f[f[e>>2]+28>>2]](e,a))&&(A=0|_i[f[f[e>>2]+36>>2]](e,t,r))}return 0|A},ae,function(e,t,r){e|=0,t|=0;var i,n=0,a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0,d=0;if(I=i=I-48|0,1==(0|(r|=0))){s=f[e+4>>2],e=f[e+12>>2],f[i+40>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,a=i+8|0;e:if(-2!=(0|t)){if(A=f[f[f[s+4>>2]+8>>2]+(e<<2)>>2],1==(0|_i[f[f[s>>2]+8>>2]](s))){I=b=I-32|0,c=f[f[f[s+4>>2]+8>>2]+(e<<2)>>2];t:{r:{if(!(1!=(0|_i[f[f[s>>2]+8>>2]](s))|t-1>>>0>5||!(l=0|_i[f[f[s>>2]+36>>2]](s))|!(u=0|_i[f[f[s>>2]+44>>2]](s,e))))if(r=0|_i[f[f[s>>2]+40>>2]](s,e)){e=f[s+44>>2],f[b+12>>2]=r,f[b+8>>2]=e,f[b+20>>2]=u,f[b+16>>2]=u+12,s=b+8|0,e=0;i:{n:switch(t-1|0){case 0:if(e=br(60),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t,t=f[a+24>>2],n=f[a+28>>2]-t|0){if((0|n)<0)break r;r=br(n),f[e+32>>2]=r,f[e+40>>2]=r+(n>>2<<2),p=e,d=ge(r,t,n)+n|0,f[p+36>>2]=d}t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,t=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=t,f[e>>2]=2280;break i;case 3:if(e=br(112),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t,t=f[a+24>>2],n=f[a+28>>2]-t|0){if((0|n)<0)break r;r=br(n),f[e+32>>2]=r,f[e+40>>2]=r+(n>>2<<2),p=e,d=ge(r,t,n)+n|0,f[p+36>>2]=d}t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,t=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=t,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=3044,f[e+68>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,f[e+96>>2]=0,f[e+100>>2]=0,f[e+104>>2]=0,f[e+108>>2]=0;break i;case 4:if(e=br(104),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t,t=f[a+24>>2],n=f[a+28>>2]-t|0){if((0|n)<0)break r;r=br(n),f[e+32>>2]=r,f[e+40>>2]=r+(n>>2<<2),p=e,d=ge(r,t,n)+n|0,f[p+36>>2]=d}t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,r=f[s+8>>2],t=f[s+12>>2],f[e+84>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=3292,f[e+52>>2]=r,f[e+56>>2]=t,t=f[s+4>>2],f[e+88>>2]=f[s>>2],f[e+92>>2]=t,t=f[s+12>>2],f[e+96>>2]=f[s+8>>2],f[e+100>>2]=t;break i;case 5:break n;default:break i}e=br(128),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t;n:{o:{if(r=f[a+28>>2]-f[a+24>>2]|0){if((0|r)<0)break o;t=br(r),f[e+32>>2]=t,f[e+36>>2]=t,f[e+40>>2]=t+(r>>2<<2),r=f[a+24>>2],(0|(n=f[a+28>>2]-r|0))>0&&(t=ge(t,r,n)+n|0),f[e+36>>2]=t}f[e>>2]=2932,t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,t=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=t,f[(t=e- -64|0)>>2]=0,f[t+4>>2]=0,f[e+60>>2]=4156,f[e>>2]=3528,t=f[s+4>>2],f[e+72>>2]=f[s>>2],f[e+76>>2]=t,t=f[s+12>>2],f[e+80>>2]=f[s+8>>2],f[e+84>>2]=t,f[e+104>>2]=1065353216,f[e+108>>2]=-1,f[e+96>>2]=-1,f[e+100>>2]=-1,f[e+88>>2]=1,f[e+92>>2]=-1,f[e+60>>2]=3764,f[e+112>>2]=0,f[e+116>>2]=0,o[e+117|0]=0,o[e+118|0]=0,o[e+119|0]=0,o[e+120|0]=0,o[e+121|0]=0,o[e+122|0]=0,o[e+123|0]=0,o[e+124|0]=0;break n}ii(),E()}}n=e}else{e=f[s+44>>2],f[b+12>>2]=l,f[b+8>>2]=e,f[b+20>>2]=u,f[b+16>>2]=u+12,s=b+8|0,e=0;i:{n:switch(t-1|0){case 0:if(e=br(60),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t,t=f[a+24>>2],n=f[a+28>>2]-t|0){if((0|n)<0)break r;r=br(n),f[e+32>>2]=r,f[e+40>>2]=r+(n>>2<<2),p=e,d=ge(r,t,n)+n|0,f[p+36>>2]=d}t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,t=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=t,f[e>>2]=4184;break i;case 3:if(e=br(112),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t,t=f[a+24>>2],n=f[a+28>>2]-t|0){if((0|n)<0)break r;r=br(n),f[e+32>>2]=r,f[e+40>>2]=r+(n>>2<<2),p=e,d=ge(r,t,n)+n|0,f[p+36>>2]=d}t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,t=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=t,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=4608,f[e+68>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,f[e+96>>2]=0,f[e+100>>2]=0,f[e+104>>2]=0,f[e+108>>2]=0;break i;case 4:if(e=br(104),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t,t=f[a+24>>2],n=f[a+28>>2]-t|0){if((0|n)<0)break r;r=br(n),f[e+32>>2]=r,f[e+40>>2]=r+(n>>2<<2),p=e,d=ge(r,t,n)+n|0,f[p+36>>2]=d}t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,r=f[s+8>>2],t=f[s+12>>2],f[e+84>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=4844,f[e+52>>2]=r,f[e+56>>2]=t,t=f[s+4>>2],f[e+88>>2]=f[s>>2],f[e+92>>2]=t,t=f[s+12>>2],f[e+96>>2]=f[s+8>>2],f[e+100>>2]=t;break i;case 5:break n;default:break i}e=br(128),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t;n:{o:{if(r=f[a+28>>2]-f[a+24>>2]|0){if((0|r)<0)break o;t=br(r),f[e+32>>2]=t,f[e+36>>2]=t,f[e+40>>2]=t+(r>>2<<2),r=f[a+24>>2],(0|(n=f[a+28>>2]-r|0))>0&&(t=ge(t,r,n)+n|0),f[e+36>>2]=t}f[e>>2]=4552,t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,t=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=t,f[(t=e- -64|0)>>2]=0,f[t+4>>2]=0,f[e+60>>2]=5652,f[e>>2]=5068,t=f[s+4>>2],f[e+72>>2]=f[s>>2],f[e+76>>2]=t,t=f[s+12>>2],f[e+80>>2]=f[s+8>>2],f[e+84>>2]=t,f[e+104>>2]=1065353216,f[e+108>>2]=-1,f[e+96>>2]=-1,f[e+100>>2]=-1,f[e+88>>2]=1,f[e+92>>2]=-1,f[e+60>>2]=5288,f[e+112>>2]=0,f[e+116>>2]=0,o[e+117|0]=0,o[e+118|0]=0,o[e+119|0]=0,o[e+120|0]=0,o[e+121|0]=0,o[e+122|0]=0,o[e+123|0]=0,o[e+124|0]=0;break n}ii(),E()}}n=e}I=b+32|0;break t}ii(),E()}if(n)break e}n=br(44),f[n+4>>2]=A,f[n>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],r=f[a+20>>2],t=f[a>>2],e=f[a+4>>2],f[n+40>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=l,f[n+28>>2]=r,f[n+16>>2]=c,f[n+20>>2]=u,f[n+8>>2]=t,f[n+12>>2]=e;t:{if(e=f[a+24>>2],r=f[a+28>>2]-e|0){if((0|r)<0)break t;t=br(r),f[n+32>>2]=t,f[n+40>>2]=t+(r>>2<<2),p=n,d=ge(t,e,r)+r|0,f[p+36>>2]=d}f[n>>2]=5680;break e}ii(),E()}(e=f[i+32>>2])&&(f[i+36>>2]=e,ee(e))}return I=i+48|0,0|n},function(e){return o[f[8+(e|=0)>>2]+24|0]},function(e,t){t|=0;var r,i=0,n=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0,d=0,_=0,h=0;r=e|=0;e:{t:{r:{i:{n:{o:{a:{f:switch(A=f[e+8>>2],f[A+28>>2]-1|0){case 4:break r;case 5:break i;case 2:break n;case 3:break o;case 0:break a;case 1:break f;default:break e}if(n=br((0|(i=o[A+24|0]))>=0?i:-1),e=f[r+16>>2],l=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!t)break t;if((0|i)>0){for(A=-4&i,d=3&i,s=i-1>>>0<3;;){if(e=0,u=0,!s)for(;b=l+(c<<2)|0,o[e+n|0]=f[b>>2],o[(1|e)+n|0]=f[b+4>>2],o[(2|e)+n|0]=f[b+8>>2],o[(3|e)+n|0]=f[b+12>>2],e=e+4|0,c=c+4|0,(0|A)!=(0|(u=u+4|0)););if(u=0,d)for(;o[e+n|0]=f[l+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|d)!=(0|(u=u+1|0)););if(ge(f[f[f[r+8>>2]+64>>2]>>2]+_|0,n,i),_=i+_|0,(0|(p=p+1|0))==(0|t))break}break t}if(ge(f[f[A+64>>2]>>2],n,i),1==(0|t))break t;if(l=1&(s=t-1|0),e=0,2!=(0|t))for(t=-2&s;ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),(0|t)!=(0|(c=c+2|0)););if(!l)break t;ge(f[f[f[r+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break t}if(n=br((0|(i=o[A+24|0]))>=0?i:-1),e=f[r+16>>2],l=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!t)break t;if((0|i)>0){for(A=-4&i,d=3&i,s=i-1>>>0<3;;){if(e=0,u=0,!s)for(;b=l+(c<<2)|0,o[e+n|0]=f[b>>2],o[(1|e)+n|0]=f[b+4>>2],o[(2|e)+n|0]=f[b+8>>2],o[(3|e)+n|0]=f[b+12>>2],e=e+4|0,c=c+4|0,(0|A)!=(0|(u=u+4|0)););if(u=0,d)for(;o[e+n|0]=f[l+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|d)!=(0|(u=u+1|0)););if(ge(f[f[f[r+8>>2]+64>>2]>>2]+_|0,n,i),_=i+_|0,(0|(p=p+1|0))==(0|t))break}break t}if(ge(f[f[A+64>>2]>>2],n,i),1==(0|t))break t;if(l=1&(s=t-1|0),e=0,2!=(0|t))for(t=-2&s;ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),(0|t)!=(0|(c=c+2|0)););if(!l)break t;ge(f[f[f[r+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break t}if(n=br((e=(s=o[A+24|0])+s|0)>>>0<s>>>0?-1:e),e=f[r+16>>2],l=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!t)break t;if(i=s<<1,(0|s)>0){for(A=-4&s,d=3&s,s=s-1>>>0<3;;){if(e=0,u=0,!s)for(;b=l+(c<<2)|0,a[(p=e<<1)+n>>1]=f[b>>2],a[(2|p)+n>>1]=f[b+4>>2],a[(4|p)+n>>1]=f[b+8>>2],a[(6|p)+n>>1]=f[b+12>>2],e=e+4|0,c=c+4|0,(0|A)!=(0|(u=u+4|0)););if(u=0,d)for(;a[(e<<1)+n>>1]=f[l+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|d)!=(0|(u=u+1|0)););if(ge(f[f[f[r+8>>2]+64>>2]>>2]+h|0,n,i),h=i+h|0,(0|(_=_+1|0))==(0|t))break}break t}if(ge(f[f[A+64>>2]>>2],n,i),1==(0|t))break t;if(l=1&(s=t-1|0),e=0,2!=(0|t))for(t=-2&s;ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),(0|t)!=(0|(c=c+2|0)););if(!l)break t;ge(f[f[f[r+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break t}if(n=br((e=(s=o[A+24|0])+s|0)>>>0<s>>>0?-1:e),e=f[r+16>>2],l=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!t)break t;if(i=s<<1,(0|s)>0){for(A=-4&s,d=3&s,s=s-1>>>0<3;;){if(e=0,u=0,!s)for(;b=l+(c<<2)|0,a[(p=e<<1)+n>>1]=f[b>>2],a[(2|p)+n>>1]=f[b+4>>2],a[(4|p)+n>>1]=f[b+8>>2],a[(6|p)+n>>1]=f[b+12>>2],e=e+4|0,c=c+4|0,(0|A)!=(0|(u=u+4|0)););if(u=0,d)for(;a[(e<<1)+n>>1]=f[l+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|d)!=(0|(u=u+1|0)););if(ge(f[f[f[r+8>>2]+64>>2]>>2]+h|0,n,i),h=i+h|0,(0|(_=_+1|0))==(0|t))break}break t}if(ge(f[f[A+64>>2]>>2],n,i),1==(0|t))break t;if(l=1&(s=t-1|0),e=0,2!=(0|t))for(t=-2&s;ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),(0|t)!=(0|(c=c+2|0)););if(!l)break t;ge(f[f[f[r+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break t}if(i=(s=o[A+24|0])<<2,n=br((0|s)!=(1073741823&s)?-1:i),e=f[r+16>>2],l=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!t)break t;if((0|s)>0){for(A=-4&s,d=3&s,s=s-1>>>0<3;;){if(e=0,u=0,!s)for(;b=l+(c<<2)|0,f[(p=e<<2)+n>>2]=f[b>>2],f[(4|p)+n>>2]=f[b+4>>2],f[(8|p)+n>>2]=f[b+8>>2],f[(12|p)+n>>2]=f[b+12>>2],e=e+4|0,c=c+4|0,(0|A)!=(0|(u=u+4|0)););if(u=0,d)for(;f[(e<<2)+n>>2]=f[l+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|d)!=(0|(u=u+1|0)););if(ge(f[f[f[r+8>>2]+64>>2]>>2]+h|0,n,i),h=i+h|0,(0|(_=_+1|0))==(0|t))break}break t}if(ge(f[f[A+64>>2]>>2],n,i),1==(0|t))break t;if(l=1&(s=t-1|0),e=0,2!=(0|t))for(t=-2&s;ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),(0|t)!=(0|(c=c+2|0)););if(!l)break t;ge(f[f[f[r+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break t}if(i=(s=o[A+24|0])<<2,n=br((0|s)!=(1073741823&s)?-1:i),e=f[r+16>>2],l=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,t)if((0|s)>0)for(A=-4&s,d=3&s,s=s-1>>>0<3;;){if(e=0,u=0,!s)for(;b=l+(c<<2)|0,f[(p=e<<2)+n>>2]=f[b>>2],f[(4|p)+n>>2]=f[b+4>>2],f[(8|p)+n>>2]=f[b+8>>2],f[(12|p)+n>>2]=f[b+12>>2],e=e+4|0,c=c+4|0,(0|A)!=(0|(u=u+4|0)););if(u=0,d)for(;f[(e<<2)+n>>2]=f[l+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|d)!=(0|(u=u+1|0)););if(ge(f[f[f[r+8>>2]+64>>2]>>2]+h|0,n,i),h=i+h|0,(0|(_=_+1|0))==(0|t))break}else if(ge(f[f[A+64>>2]>>2],n,i),1!=(0|t)){if(l=1&(s=t-1|0),e=0,2!=(0|t))for(t=-2&s;ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),(0|t)!=(0|(c=c+2|0)););l&&ge(f[f[f[r+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i)}}ee(n),n=1}return 0|n},function(e){var t;return f[(e|=0)>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},wr,qr,Yr,mr,ei,jr,Jr,ei,qr,function(e,t){e|=0;var r,i,n,o=0,a=0,s=0,c=0,l=0,b=0;return i=a=f[12+(t|=0)>>2],s=o=f[t+20>>2],o=(r=(c=f[t+16>>2])+4|0)>>>0<4?o+1|0:o,(n=f[t+8>>2])>>>0<r>>>0&(0|o)>=(0|a)|(0|o)>(0|a)||(l=f[t>>2],a=u[0|(a=l+c|0)]|u[a+1|0]<<8|u[a+2|0]<<16|u[a+3|0]<<24,f[t+16>>2]=r,f[t+20>>2]=o,o=s,c=s=c+8|0,s=o=s>>>0<8?o+1|0:o,c>>>0>n>>>0&(0|o)>=(0|i)|(0|o)>(0|i)||(o=u[0|(o=r+l|0)]|u[o+1|0]<<8|u[o+2|0]<<16|u[o+3|0]<<24,f[t+16>>2]=c,f[t+20>>2]=s,(0|o)<(0|a)||(f[e+16>>2]=o,f[e+12>>2]=a,!(t=(o>>31)-((a>>31)+(o>>>0<a>>>0)|0)|0)&(o=o-a|0)>>>0>2147483646|t||(b=1,t=o+1|0,f[e+20>>2]=t,o=t>>>1|0,f[e+24>>2]=o,f[e+28>>2]=0-o,1&t||(f[e+24>>2]=o-1))))),0|b},function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s,c,u=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;if(f[8+(e|=0)>>2]=n,p=f[(i=e+32|0)>>2],(o=f[e+36>>2]-p>>2)>>>0<n>>>0?(st(i,n-o|0),p=f[i>>2],i=f[e+8>>2]):(n>>>0<o>>>0&&(f[e+36>>2]=(n<<2)+p),i=n),c=f[e+52>>2],a=f[e+48>>2],o=0,_=Ye(br(_=(1073741823&n)!=(0|n)?-1:n<<2),0,_),!((0|i)<=0)){for(;(0|(u=f[(i=o<<2)+_>>2]))>(0|(l=f[e+16>>2]))?f[i+p>>2]=l:(i=i+p|0,l=f[e+12>>2],f[i>>2]=(0|l)>(0|u)?l:u),(0|(i=f[e+8>>2]))>(0|(o=o+1|0)););if(!((0|i)<=0))for(o=0;;){i=(u=o<<2)+r|0,u=f[t+u>>2]+f[u+p>>2]|0,f[i>>2]=u;e:{if((0|u)>f[e+16>>2])u=u-f[e+20>>2]|0;else{if((0|u)>=f[e+12>>2])break e;u=u+f[e+20>>2]|0}f[i>>2]=u}if(!((0|(i=f[e+8>>2]))>(0|(o=o+1|0))))break}}if(o=f[e+56>>2],s=f[o>>2],(0|(o=f[o+4>>2]-s|0))>=5)for(m=(0|(o>>=2))>2?o:2,y=o>>>0>1?o:1,v=-2&n,g=1&n,p=1;;){e:{t:{if((0|p)!=(0|y)){if(k=d(n,p),-1==(0|(o=f[(p<<2)+s>>2]))|f[f[a>>2]+(o>>>3&536870908)>>2]>>>o&1)break t;if(-1==(0|(o=f[f[f[a+64>>2]+12>>2]+(o<<2)>>2])))break t;if(l=f[c>>2],u=f[a+28>>2],(0|(A=f[l+(f[u+(o<<2)>>2]<<2)>>2]))>=(0|p))break t;if((0|(b=f[l+(f[u+((((b=o+1|0)>>>0)%3|0?b:o-2|0)<<2)>>2]<<2)>>2]))>=(0|p))break t;if((0|(o=f[l+(f[u+(o+((o>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2]))>=(0|p))break t;if(!((0|n)<=0)){if(u=d(n,o),l=d(n,b),A=d(n,A),o=0,h=0,1!=(0|n))for(;f[_+(o<<2)>>2]=(f[(o+u<<2)+r>>2]+f[(o+l<<2)+r>>2]|0)-f[(o+A<<2)+r>>2],f[_+((b=1|o)<<2)>>2]=(f[(u+b<<2)+r>>2]+f[(l+b<<2)+r>>2]|0)-f[(A+b<<2)+r>>2],o=o+2|0,(0|v)!=(0|(h=h+2|0)););g&&(f[_+(o<<2)>>2]=(f[(o+u<<2)+r>>2]+f[(o+l<<2)+r>>2]|0)-f[(o+A<<2)+r>>2])}if((0|i)<=0)break e;for(l=f[e+32>>2],o=0;(0|(u=f[(i=o<<2)+_>>2]))>(0|(A=f[e+16>>2]))?f[i+l>>2]=A:(i=i+l|0,A=f[e+12>>2],f[i>>2]=(0|A)>(0|u)?A:u),(0|(i=f[e+8>>2]))>(0|(o=o+1|0)););if(o=0,(0|i)<=0)break e;for(A=(i=k<<2)+r|0,b=t+i|0;;){i=(u=o<<2)+A|0,u=f[u+b>>2]+f[u+l>>2]|0,f[i>>2]=u;r:{if((0|u)>f[e+16>>2])u=u-f[e+20>>2]|0;else{if((0|u)>=f[e+12>>2])break r;u=u+f[e+20>>2]|0}f[i>>2]=u}if(!((0|(i=f[e+8>>2]))>(0|(o=o+1|0))))break}break e}ci(),E()}if(!((0|i)<=0)){for(A=(d(p-1|0,n)<<2)+r|0,l=f[e+32>>2],o=0;(0|(u=f[(i=o<<2)+A>>2]))>(0|(b=f[e+16>>2]))?f[i+l>>2]=b:(i=i+l|0,b=f[e+12>>2],f[i>>2]=(0|b)>(0|u)?b:u),(0|(i=f[e+8>>2]))>(0|(o=o+1|0)););if(o=0,!((0|i)<=0))for(A=(i=k<<2)+r|0,b=t+i|0;;){i=(u=o<<2)+A|0,u=f[u+b>>2]+f[u+l>>2]|0,f[i>>2]=u;t:{if((0|u)>f[e+16>>2])u=u-f[e+20>>2]|0;else{if((0|u)>=f[e+12>>2])break t;u=u+f[e+20>>2]|0}f[i>>2]=u}if(!((0|(i=f[e+8>>2]))>(0|(o=o+1|0))))break}}}if((0|m)==(0|(p=p+1|0)))break}return ee(_),1},ai,ai,function(e){var t=0;return f[(e|=0)>>2]=3044,(t=f[e+96>>2])&&ee(t),(t=f[e+84>>2])&&ee(t),(t=f[e+72>>2])&&ee(t),(t=f[e+60>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},function(e){var t=0;f[(e|=0)>>2]=3044,(t=f[e+96>>2])&&ee(t),(t=f[e+84>>2])&&ee(t),(t=f[e+72>>2])&&ee(t),(t=f[e+60>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)},$r,mr,fe,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s,c,u,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,R=0,x=0,N=0,C=0,D=0,M=0,G=0,U=0,V=0,F=0,S=0;I=a=I+-64|0,f[8+(e|=0)>>2]=n,l=f[(o=e+32|0)>>2];e:{if((i=f[e+36>>2]-l>>2)>>>0<n>>>0)st(o,n-i|0),f[a+56>>2]=0,f[a+60>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a>>2]=0;else if(i>>>0>n>>>0&&(f[e+36>>2]=l+(n<<2)),f[a+56>>2]=0,f[a+60>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a>>2]=0,i=0,!n)break e;ve(a+16|0,n,a),b=f[a+28>>2],i=f[a+32>>2]}f[a>>2]=0;e:if((i=i-b>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[a+32>>2]=(n<<2)+b}else ve(a+16|12,n-i|0,a);f[a>>2]=0,o=f[a+40>>2];e:if((i=f[a+44>>2]-o>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[a+44>>2]=o+(n<<2)}else ve(a+40|0,n-i|0,a);f[a>>2]=0,o=f[a+52>>2];e:if((i=f[a+56>>2]-o>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[a+56>>2]=o+(n<<2)}else ve(a+52|0,n-i|0,a);if(b=0,!(f[e+8>>2]<=0)){for(A=f[e+32>>2],l=f[a+16>>2];(0|(o=f[(i=b<<2)+l>>2]))>(0|(h=f[e+16>>2]))?f[i+A>>2]=h:(i=i+A|0,h=f[e+12>>2],f[i>>2]=(0|h)>(0|o)?h:o),(0|(b=b+1|0))<(0|(i=f[e+8>>2])););if(!((0|i)<=0))for(i=0;;){o=(l=i<<2)+r|0,l=f[t+l>>2]+f[l+A>>2]|0,f[o>>2]=l;e:{if((0|l)>f[e+16>>2])l=l-f[e+20>>2]|0;else{if((0|l)>=f[e+12>>2])break e;l=l+f[e+20>>2]|0}f[o>>2]=l}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}u=f[e+52>>2],s=f[e+48>>2],c=br(16),f[(i=c)>>2]=0,f[i+4>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[a+8>>2]=0,f[a>>2]=0,f[a+4>>2]=0;e:{if(n){if(n>>>0>=1073741824)break e;B=br(i=n<<2),f[a>>2]=B,f[a+8>>2]=i+B,Ye(B,0,i)}y=1,i=f[e+56>>2],N=f[i>>2];t:if(!((0|(i=f[i+4>>2]-N|0))<5))for(G=(0|(i>>=2))>2?i:2,U=i>>>0>1?i:1,C=-2&n,D=1&n,V=-4&n,M=3&n,R=n-1|0,F=n<<2,h=1;;){r:{i:{n:{o:{if((0|h)!=(0|U)){i=((o=f[(h<<2)+N>>2])>>>0)%3|0;a:{f:if(-1!=(0|o)){A=0,x=0!=(0|i)|-1!=(0|(l=o+2|0)),k=1,m=1<<(v=i?o-1|0:l),g=v>>>5|0,S=f[s>>2],i=o;s:{for(;;){if(!(f[(i>>>3&536870908)+S>>2]>>>i&1||-1==(0|(l=f[f[f[s+64>>2]+12>>2]+(i<<2)>>2]))||(p=f[u>>2],b=f[s+28>>2],(0|(y=f[p+(f[b+(l<<2)>>2]<<2)>>2]))>=(0|h)||(0|(_=f[p+(f[b+((((_=l+1|0)>>>0)%3|0?_:l-2|0)<<2)>>2]<<2)>>2]))>=(0|h)||(0|(b=f[p+(f[b+(l+((l>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2]))>=(0|h)))){if(n){if(l=f[(a+16|0)+d(A,12)>>2],p=d(n,b),_=d(n,_),y=d(n,y),b=0,T=0,R)for(;f[l+(b<<2)>>2]=(f[(b+p<<2)+r>>2]+f[(b+_<<2)+r>>2]|0)-f[(b+y<<2)+r>>2],f[l+((w=1|b)<<2)>>2]=(f[(p+w<<2)+r>>2]+f[(_+w<<2)+r>>2]|0)-f[(y+w<<2)+r>>2],b=b+2|0,(0|C)!=(0|(T=T+2|0)););D&&(f[l+(b<<2)>>2]=(f[(b+p<<2)+r>>2]+f[(b+_<<2)+r>>2]|0)-f[(b+y<<2)+r>>2])}if(l=4,4==(0|(A=A+1|0)))break s}c:if(1&k){if(b=i-2|0,l=i+1|0,i=-1,-1==(0|(l=(l>>>0)%3|0?l:b))|f[f[s>>2]+(l>>>3&536870908)>>2]>>>l&1)break c;if(-1==(0|(l=f[f[f[s+64>>2]+12>>2]+(l<<2)>>2])))break c;i=((i=l+1|0)>>>0)%3|0?i:l-2|0}else{if((i>>>0)%3|0)b=i-1|0;else if(b=i+2|0,i=-1,-1==(0|b))break c;i=-1,f[f[s>>2]+(b>>>3&536870908)>>2]>>>b&1||-1!=(0|(l=f[f[f[s+64>>2]+12>>2]+(b<<2)>>2]))&&(i=(l>>>0)%3|0?l-1|0:l+2|0)}c:if((0|i)!=(0|o)){if(!(1&(1^k)|-1!=(0|i))){if(!x|m&f[f[s>>2]+(g<<2)>>2])break c;if(-1==(0|(i=f[f[f[s+64>>2]+12>>2]+(v<<2)>>2])))break c;k=0,i=(i>>>0)%3|0?i-1|0:i+2|0}if(-1!=(0|i))continue}break}if((0|(l=A))<=0)break f}for(n&&Ye(f[a>>2],0,F),w=((i=l-1|0)<<2)+c|0,T=i=d(i,12)+e|0,x=f[i- -64>>2],y=0,k=0,i=0;;){if(o=f[w>>2],f[w>>2]=o+1,o>>>0>=x>>>0)break t;if(!(f[f[T+60>>2]+(o>>>3&536870908)>>2]>>>o&1)&&(i=i+1|0,n)){if(A=f[a>>2],p=f[(a+16|0)+d(k,12)>>2],v=0,b=0,o=0,R>>>0>=3)for(;f[(m=(_=b<<2)+A|0)>>2]=f[m>>2]+f[p+_>>2],f[(g=(m=4|_)+A|0)>>2]=f[g>>2]+f[p+m>>2],f[(g=(m=8|_)+A|0)>>2]=f[g>>2]+f[p+m>>2],f[(m=(_|=12)+A|0)>>2]=f[m>>2]+f[p+_>>2],b=b+4|0,(0|V)!=(0|(o=o+4|0)););if(M)for(;f[(_=(o=b<<2)+A|0)>>2]=f[_>>2]+f[o+p>>2],b=b+1|0,(0|M)!=(0|(v=v+1|0)););}if((0|(k=k+1|0))==(0|l))break}if(o=k=d(n,h),!i)break a;if(!n)break i;if(o=f[a>>2],b=0,l=0,R)break o;break n}o=d(n,h)}if(f[e+8>>2]<=0)break r;for(k=(d(h-1|0,n)<<2)+r|0,A=f[e+32>>2],b=0;(0|(l=f[(i=b<<2)+k>>2]))>(0|(p=f[e+16>>2]))?f[i+A>>2]=p:(i=i+A|0,p=f[e+12>>2],f[i>>2]=(0|p)>(0|l)?p:l),(0|(b=b+1|0))<(0|(l=f[e+8>>2])););if(i=0,(0|l)<=0)break r;for(b=(o<<=2)+r|0,k=t+o|0;;){o=(l=i<<2)+b|0,l=f[l+k>>2]+f[l+A>>2]|0,f[o>>2]=l;a:{if((0|l)>f[e+16>>2])l=l-f[e+20>>2]|0;else{if((0|l)>=f[e+12>>2])break a;l=l+f[e+20>>2]|0}f[o>>2]=l}if(!((0|(i=i+1|0))<f[e+8>>2]))break}break r}ci(),E()}for(;f[(p=(A=b<<2)+o|0)>>2]=f[p>>2]/(0|i),f[(A=o+(4|A)|0)>>2]=f[A>>2]/(0|i),b=b+2|0,(0|C)!=(0|(l=l+2|0)););}D&&(f[(o=o+(b<<2)|0)>>2]=f[o>>2]/(0|i))}if(!(f[e+8>>2]<=0)){for(A=f[e+32>>2],b=0;(0|(o=f[(i=b<<2)+B>>2]))>(0|(l=f[e+16>>2]))?f[i+A>>2]=l:(i=i+A|0,l=f[e+12>>2],f[i>>2]=(0|l)>(0|o)?l:o),(0|(b=b+1|0))<(0|(o=f[e+8>>2])););if(i=0,!((0|o)<=0))for(b=(o=k<<2)+r|0,k=t+o|0;;){o=(l=i<<2)+b|0,l=f[l+k>>2]+f[l+A>>2]|0,f[o>>2]=l;i:{if((0|l)>f[e+16>>2])l=l-f[e+20>>2]|0;else{if((0|l)>=f[e+12>>2])break i;l=l+f[e+20>>2]|0}f[o>>2]=l}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}}if(y=1,(0|G)==(0|(h=h+1|0)))break}return(e=f[a>>2])&&ee(e),ee(c),(e=f[a+52>>2])&&(f[a+56>>2]=e,ee(e)),(e=f[a+40>>2])&&(f[a+44>>2]=e,ee(e)),(e=f[a+28>>2])&&(f[a+32>>2]=e,ee(e)),(e=f[a+16>>2])&&(f[a+20>>2]=e,ee(e)),I=a- -64|0,0|y}ii(),E()},function(e){var t=0;return f[(e|=0)>>2]=3292,(t=f[e+76>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},function(e){var t=0;f[(e|=0)>>2]=3292,(t=f[e+76>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)},Kr,hr,qr,Jr,yr,ke,function(e,t,r,i,n,a){e|=0,t|=0,r|=0,i|=0,a|=0;var s=0,c=0,l=0,b=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,R=0,x=0,N=0,D=0,M=0,G=0,U=0,V=0,F=0,S=0,W=0,Z=0,O=0,j=0,Y=0,z=0,J=0,Q=0,L=0,X=0,H=0,q=0,$=0;if(2==(0|(n|=0))){f[e+8>>2]=2,f[e- -64>>2]=a,n=f[(i=e+32|0)>>2],(s=(a=f[e+36>>2]-n|0)>>2)>>>0<=1?st(i,2-s|0):8!=(0|a)&&(f[e+36>>2]=n+8);e:if(i=f[e+56>>2],(0|(a=(n=f[i+4>>2])-(i=f[i>>2])|0))<=0)a=0;else{if((0|i)!=(0|n))for(d=e+60|0,X=(0|(S=a>>2))>1?S:1,a=1;;){I=b=I-80|0,n=-1,s=-1,-1!=(0|(i=f[(m<<2)+i>>2]))&&(n=((n=i+1|0)>>>0)%3|0?n:i-2|0,s=i-1|0,(i>>>0)%3|0||(s=i+2|0)),l=f[d+36>>2],i=f[l>>2];t:{r:{i:{n:{if(l=f[l+4>>2]-i>>2,c=n<<2,n=f[f[d+32>>2]+28>>2],!(l>>>0<=(A=f[c+n>>2])>>>0||(n=f[n+(s<<2)>>2])>>>0>=l>>>0)){o:{if(!((0|(s=f[i+(n<<2)>>2]))>=(0|m)|(0|(l=f[i+(A<<2)>>2]))>=(0|m))){if(T=f[4+(i=(s<<3)+r|0)>>2],v=f[4+(n=(l<<3)+r|0)>>2],!((0|(R=f[i>>2]))!=(0|(G=f[n>>2]))|(0|v)!=(0|T))){f[d+8>>2]=G,f[d+12>>2]=v;break o}if(i=f[f[d+4>>2]+(m<<2)>>2],f[b+72>>2]=0,f[b+76>>2]=0,f[(n=b- -64|0)>>2]=0,f[n+4>>2]=0,f[b+56>>2]=0,f[b+60>>2]=0,n=f[d>>2],u[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),P(n,i,o[n+24|0],b+56|0),i=f[f[d+4>>2]+(l<<2)>>2],f[b+48>>2]=0,f[b+52>>2]=0,f[b+40>>2]=0,f[b+44>>2]=0,f[b+32>>2]=0,f[b+36>>2]=0,n=f[d>>2],u[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),P(n,i,o[n+24|0],b+32|0),i=f[f[d+4>>2]+(s<<2)>>2],f[b+24>>2]=0,f[b+28>>2]=0,f[b+16>>2]=0,f[b+20>>2]=0,f[b+8>>2]=0,f[b+12>>2]=0,n=f[d>>2],u[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),P(n,i,o[n+24|0],b+8|0),W=f[b+44>>2],i=Jt(h=(i=f[b+16>>2])-(n=U=f[b+40>>2])|0,A=f[b+20>>2]-(W+(i>>>0<n>>>0)|0)|0,h,A),n=C,_=i,Z=f[b+36>>2],s=Jt(g=(i=f[b+8>>2])-(s=V=f[b+32>>2])|0,c=f[b+12>>2]-(Z+(i>>>0<s>>>0)|0)|0,g,c),n=C+n|0,n=(i=_+s|0)>>>0<s>>>0?n+1|0:n,_=i,O=f[b+52>>2],y=Jt(k=(i=f[b+24>>2])-(s=F=f[b+48>>2])|0,p=f[b+28>>2]-(O+(i>>>0<s>>>0)|0)|0,k,p),s=C+n|0,w=i=_+y|0,i|(y=i>>>0<y>>>0?s+1|0:s)){if(i=Jt((i=_=f[b+64>>2])-U|0,(Y=f[b+68>>2])-((i>>>0<U>>>0)+W|0)|0,h,A),n=C,i=(s=i)+(l=Jt((i=z=f[b+56>>2])-V|0,(J=f[b+60>>2])-((i>>>0<V>>>0)+Z|0)|0,g,c))|0,s=C+n|0,s=i>>>0<l>>>0?s+1|0:s,i=(n=i)+(l=Jt((i=Q=f[b+72>>2])-F|0,(L=f[b+76>>2])-((i>>>0<F>>>0)+O|0)|0,k,p))|0,n=C+s|0,x=i,B=i>>>0<l>>>0?n+1|0:n,s=(i=p>>31)+p|0,s=(n=i+k|0)>>>0<i>>>0?s+1|0:s,n^=i,l=i^=s,s=(i=A>>31)+A|0,D=i^(N=i+h|0),N=i^=i>>>0>N>>>0?s+1|0:s,j=0,s=(i=c>>31)+c|0,s=(M=i+g|0)>>>0<i>>>0?s+1|0:s,H=n,M^=i,(n=Ee(-1,2147483647,(n=(0|l)==(0|(i=(s=(0|N)==(0|(i^=s))&D>>>0>M>>>0|i>>>0<N>>>0)?N:i))&n>>>0>(D=s?D:M)>>>0|i>>>0<l>>>0)?H:D,n?l:i)>>>0<x>>>0)&(0|(i=C))<=(0|B)|(0|i)<(0|B))break t;if(l=1,i=0,n=_,h=Yt(Jt(h,A,x,B),C,w,y),s=C+W|0,s=Y-((n>>>0<(A=h+U|0)>>>0)+(s=A>>>0<h>>>0?s+1|0:s)|0)|0,s=Jt(n=n-A|0,s,n,s),h=C,n=z,_=s,c=Yt(Jt(g,c,x,B),C,w,y),s=C+Z|0,s=J-((n>>>0<(A=c+V|0)>>>0)+(s=c>>>0>A>>>0?s+1|0:s)|0)|0,A=Jt(n=n-A|0,s,n,s),n=C+h|0,A=n=(s=_+A|0)>>>0<A>>>0?n+1|0:n,n=Q,_=s,p=Yt(Jt(k,p,x,B),C,w,y),s=C+O|0,s=L-((n>>>0<(c=p+F|0)>>>0)+(s=c>>>0<p>>>0?s+1|0:s)|0)|0,c=Jt(n=n-c|0,s,n,s),s=C+A|0,A=Jt(n=_+c|0,n>>>0<c>>>0?s+1|0:s,w,y),c=n=C,!n&A>>>0<=1)break n;for(p=A,n=c;s=i<<1|l>>>31,l<<=1,i=s,h=!n&p>>>0>7|0!=(0|n),p=(3&n)<<30|p>>>2,n=n>>>2|0,h;);break i}}if((0|l)<(0|m))i=l<<1;else{if((0|m)<=0){f[d+8>>2]=0,f[d+12>>2]=0;break o}i=(m<<1)-2|0}i=(i<<2)+r|0,f[d+8>>2]=f[i>>2],f[d+12>>2]=f[i+4>>2]}j=1;break t}ci(),E()}if(i=c,(l=A)-1|0)break r}for(;n=Ee(A,c,l,i)+l|0,s=i+C|0,n=Jt(l=(1&(s=n>>>0<l>>>0?s+1|0:s))<<31|n>>>1,i=s>>>1|0,l,i),(0|c)==(0|(s=C))&n>>>0>A>>>0|s>>>0>c>>>0;);}(A=f[d+20>>2])&&(n=A-1|0,p=f[f[d+16>>2]+(n>>>3&536870908)>>2],f[d+20>>2]=n,s=Jt(x,B,h=T-(s=v)|0,g=(T>>31)-((c=s>>31)+(s>>>0>T>>>0)|0)|0),k=C,c=(v=Jt(v,c,w,y))+s|0,s=C+k|0,s=c>>>0<v>>>0?s+1|0:s,_=c,R=c=Jt(l,i,k=R-(c=G)|0,T=(R>>31)-((v=c>>31)+(c>>>0>R>>>0)|0)|0),c=_+(p=(n=p>>>n&1)?0-c|0:c)|0,_=s,s=C,s=_+(n?0-(s+(0!=(0|R))|0)|0:s)|0,q=d,$=Yt(c,c>>>0<p>>>0?s+1|0:s,w,y),f[q+12>>2]=$,s=Jt(k,T,x,B),p=C,c=(k=Jt(w,y,G,v))+s|0,s=C+p|0,s=c>>>0<k>>>0?s+1|0:s,_=c,i=Jt(l,i,h,g),l=_+(c=n?i:0-i|0)|0,_=s,s=C,n=_+(n?s:0-((0!=(0|i))+s|0)|0)|0,q=d,$=Yt(l,l>>>0<c>>>0?n+1|0:n,w,y),f[q+8>>2]=$),j=0!=(0|A)}if(I=b+80|0,!j)break e;if(!(f[e+8>>2]<=0)){for(s=f[e+32>>2],i=0;(0|(a=f[68+((n=i<<2)+e|0)>>2]))>(0|(l=f[e+16>>2]))?f[n+s>>2]=l:(n=n+s|0,l=f[e+12>>2],f[n>>2]=(0|l)>(0|a)?l:a),(0|(i=i+1|0))<(0|(a=f[e+8>>2])););if(n=0,!((0|a)<=0))for(l=(i=m<<3)+r|0,A=t+i|0;;){i=(a=n<<2)+l|0,a=f[a+A>>2]+f[a+s>>2]|0,f[i>>2]=a;t:{if((0|a)>f[e+16>>2])a=a-f[e+20>>2]|0;else{if((0|a)>=f[e+12>>2])break t;a=a+f[e+20>>2]|0}f[i>>2]=a}if(!((0|(n=n+1|0))<f[e+8>>2]))break}}if(a=(0|S)>(0|(m=m+1|0)),(0|m)==(0|X))break e;if(n=f[e+56>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>m>>>0))break}ci(),E()}e=1^a}else e=0;return 1&e},function(e){var t;return f[(e|=0)>>2]=3528,f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},function(e){var t;f[(e|=0)>>2]=3528,f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)},ri,ir,qr,Jr,vr,Pe,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s=0,c=0,u=0,l=0,b=0,A=0,p=0,d=0;I=a=I-32|0,f[68+(e|=0)>>2]=o,n=f[e+56>>2],i=f[n>>2],o=f[n+4>>2],f[a+24>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0;e:if(!((0|(o=o-i|0))<=0)){if((0|(i=f[n>>2]))!=f[n+4>>2])for(A=e+112|0,p=e+60|0,d=(n=o>>>2|0)>>>0>1?n:1;;){if(Y(p,f[(l<<2)+i>>2],a+16|0),i=(n=f[a+20>>2])>>31,s=(o=f[a+16>>2])>>31,c=(u=f[a+24>>2])>>31,s=(c^=c+u)+((i^i+n)+(s^o+s)|0)|0,i=0,(i=s>>>0<c>>>0?1:i)|s?(o=Yt(Jt(c=f[e+108>>2],b=c>>31,o,o>>31),C,s,i),f[a+16>>2]=o,i=Yt(Jt(c,b,n,n>>31),C,s,i),f[a+20>>2]=i,i=(n=(n=i)+(i>>=31)^i)+((i=o>>31)+o^i)|0,f[a+24>>2]=(0|u)>=0?c-i:i-c):f[a+16>>2]=f[e+108>>2],i=Wt(A),o=f[a+16>>2],i?(f[a+24>>2]=0-f[a+24>>2],n=0-f[a+20>>2]|0,f[a+20>>2]=n,o=0-o|0,f[a+16>>2]=o):n=f[a+20>>2],(0|o)>=0?(o=(i=f[e+108>>2])+f[a+24>>2]|0,i=i+n|0):((0|n)<0?(i=(o=f[a+24>>2])>>31,i^=i+o):(i=(o=f[a+24>>2])>>31,i=f[e+100>>2]-(i^i+o)|0),(0|o)<0?o=(o=n)+(n>>=31)^n:(o=n,n>>=31,o=f[e+100>>2]-(o+n^n)|0)),n=f[e+100>>2],i|o?(0|n)!=(0|o)|i?o|(s=(0|i)!=(0|n))?i||(0|(u=f[e+108>>2]))>=(0|o)?s||(0|(s=f[e+108>>2]))<=(0|o)?(0|n)!=(0|o)||(0|(n=f[e+108>>2]))<=(0|i)?o||(o=0,(0|(n=f[e+108>>2]))>=(0|i)||(i=(n<<1)-i|0)):i=(n<<1)-i|0:o=(s<<1)-o|0:(o=(u<<1)-o|0,i=0):o=i:i=o:i=o=n,f[a+12>>2]=o,f[a+8>>2]=i,!(f[e+8>>2]<=0)){for(s=f[e+32>>2],o=0;(0|(n=f[e+16>>2]))<(0|i)?f[s+(o<<2)>>2]=n:(n=s+(o<<2)|0,u=f[e+12>>2],f[n>>2]=(0|u)>(0|i)?u:i),(0|(o=o+1|0))<(0|(n=f[e+8>>2]));)i=f[(a+8|0)+(o<<2)>>2];if(i=0,!((0|n)<=0))for(u=(n=l<<3)+r|0,c=t+n|0;;){n=(o=i<<2)+u|0,o=f[o+c>>2]+f[o+s>>2]|0,f[n>>2]=o;t:{if((0|o)>f[e+16>>2])o=o-f[e+20>>2]|0;else{if((0|o)>=f[e+12>>2])break t;o=o+f[e+20>>2]|0}f[n>>2]=o}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}if((0|d)==(0|(l=l+1|0)))break e;if(n=f[e+56>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>l>>>0))break}ci(),E()}return I=a+32|0,1},Hr,ni,dr,Wr,Y,ai,wr,qr,mr,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s,c,u=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;if(f[8+(e|=0)>>2]=n,p=f[(i=e+32|0)>>2],(o=f[e+36>>2]-p>>2)>>>0<n>>>0?(st(i,n-o|0),p=f[i>>2],i=f[e+8>>2]):(n>>>0<o>>>0&&(f[e+36>>2]=(n<<2)+p),i=n),c=f[e+52>>2],a=f[e+48>>2],o=0,h=Ye(br(h=(1073741823&n)!=(0|n)?-1:n<<2),0,h),!((0|i)<=0)){for(;(0|(u=f[(i=o<<2)+h>>2]))>(0|(b=f[e+16>>2]))?f[i+p>>2]=b:(i=i+p|0,b=f[e+12>>2],f[i>>2]=(0|b)>(0|u)?b:u),(0|(i=f[e+8>>2]))>(0|(o=o+1|0)););if(!((0|i)<=0))for(o=0;;){i=(u=o<<2)+r|0,u=f[t+u>>2]+f[u+p>>2]|0,f[i>>2]=u;e:{if((0|u)>f[e+16>>2])l=u-f[e+20>>2]|0;else{if((0|u)>=f[e+12>>2])break e;l=u+f[e+20>>2]|0}f[i>>2]=l}if(!((0|(i=f[e+8>>2]))>(0|(o=o+1|0))))break}}if(o=f[e+56>>2],s=f[o>>2],(0|(o=f[o+4>>2]-s|0))>=5)for(m=(0|(o>>=2))>2?o:2,y=o>>>0>1?o:1,v=-2&n,g=1&n,p=1;;){e:{t:{if((0|p)!=(0|y)){if(k=d(n,p),-1==(0|(o=f[(p<<2)+s>>2])))break t;if(-1==(0|(o=f[f[a+12>>2]+(o<<2)>>2])))break t;b=f[c>>2],u=f[a>>2],A=f[b+(f[u+(o<<2)>>2]<<2)>>2],l=-1!=(0|(l=((l=o+1|0)>>>0)%3|0?l:o-2|0))?f[u+(l<<2)>>2]:-1;r:{if((o>>>0)%3|0)o=o-1|0;else if(_=-1,-1==(0|(o=o+2|0)))break r;_=f[u+(o<<2)>>2]}if((0|A)>=(0|p))break t;if((0|(o=f[(l<<2)+b>>2]))>=(0|p))break t;if((0|(u=f[b+(_<<2)>>2]))>=(0|p))break t;if(!((0|n)<=0)){if(u=d(n,u),b=d(n,o),A=d(n,A),o=0,_=0,1!=(0|n))for(;f[h+(o<<2)>>2]=(f[(o+u<<2)+r>>2]+f[(o+b<<2)+r>>2]|0)-f[(o+A<<2)+r>>2],f[h+((l=1|o)<<2)>>2]=(f[(u+l<<2)+r>>2]+f[(b+l<<2)+r>>2]|0)-f[(l+A<<2)+r>>2],o=o+2|0,(0|v)!=(0|(_=_+2|0)););g&&(f[h+(o<<2)>>2]=(f[(o+u<<2)+r>>2]+f[(o+b<<2)+r>>2]|0)-f[(o+A<<2)+r>>2])}if((0|i)<=0)break e;for(b=f[e+32>>2],o=0;(0|(u=f[(i=o<<2)+h>>2]))>(0|(A=f[e+16>>2]))?f[i+b>>2]=A:(i=i+b|0,A=f[e+12>>2],f[i>>2]=(0|A)>(0|u)?A:u),(0|(i=f[e+8>>2]))>(0|(o=o+1|0)););if(o=0,(0|i)<=0)break e;for(A=(i=k<<2)+r|0,l=t+i|0;;){i=(u=o<<2)+A|0,u=f[u+l>>2]+f[u+b>>2]|0,f[i>>2]=u;r:{if((0|u)>f[e+16>>2])_=u-f[e+20>>2]|0;else{if((0|u)>=f[e+12>>2])break r;_=u+f[e+20>>2]|0}f[i>>2]=_}if(!((0|(i=f[e+8>>2]))>(0|(o=o+1|0))))break}break e}ci(),E()}if(!((0|i)<=0)){for(A=(d(p-1|0,n)<<2)+r|0,b=f[e+32>>2],o=0;(0|(u=f[(i=o<<2)+A>>2]))>(0|(l=f[e+16>>2]))?f[i+b>>2]=l:(i=i+b|0,l=f[e+12>>2],f[i>>2]=(0|l)>(0|u)?l:u),(0|(i=f[e+8>>2]))>(0|(o=o+1|0)););if(o=0,!((0|i)<=0))for(A=(i=k<<2)+r|0,l=t+i|0;;){i=(u=o<<2)+A|0,u=f[u+l>>2]+f[u+b>>2]|0,f[i>>2]=u;t:{if((0|u)>f[e+16>>2])_=u-f[e+20>>2]|0;else{if((0|u)>=f[e+12>>2])break t;_=u+f[e+20>>2]|0}f[i>>2]=_}if(!((0|(i=f[e+8>>2]))>(0|(o=o+1|0))))break}}}if((0|m)==(0|(p=p+1|0)))break}return ee(h),1},ai,function(e){var t=0;return f[(e|=0)>>2]=4608,(t=f[e+96>>2])&&ee(t),(t=f[e+84>>2])&&ee(t),(t=f[e+72>>2])&&ee(t),(t=f[e+60>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},function(e){var t=0;f[(e|=0)>>2]=4608,(t=f[e+96>>2])&&ee(t),(t=f[e+84>>2])&&ee(t),(t=f[e+72>>2])&&ee(t),(t=f[e+60>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)},$r,mr,fe,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s,c,u,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,R=0,x=0,N=0,C=0,D=0,M=0,G=0,U=0,V=0,F=0;I=a=I+-64|0,f[8+(e|=0)>>2]=n,l=f[(o=e+32|0)>>2];e:{if((i=f[e+36>>2]-l>>2)>>>0<n>>>0)st(o,n-i|0),f[a+56>>2]=0,f[a+60>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a>>2]=0;else if(i>>>0>n>>>0&&(f[e+36>>2]=l+(n<<2)),f[a+56>>2]=0,f[a+60>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a>>2]=0,i=0,!n)break e;ve(a+16|0,n,a),b=f[a+28>>2],i=f[a+32>>2]}f[a>>2]=0;e:if((i=i-b>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[a+32>>2]=(n<<2)+b}else ve(a+16|12,n-i|0,a);f[a>>2]=0,o=f[a+40>>2];e:if((i=f[a+44>>2]-o>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[a+44>>2]=o+(n<<2)}else ve(a+40|0,n-i|0,a);f[a>>2]=0,o=f[a+52>>2];e:if((i=f[a+56>>2]-o>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[a+56>>2]=o+(n<<2)}else ve(a+52|0,n-i|0,a);if(b=0,!(f[e+8>>2]<=0)){for(p=f[e+32>>2],l=f[a+16>>2];(0|(o=f[(i=b<<2)+l>>2]))>(0|(k=f[e+16>>2]))?f[i+p>>2]=k:(i=i+p|0,k=f[e+12>>2],f[i>>2]=(0|k)>(0|o)?k:o),(0|(b=b+1|0))<(0|(i=f[e+8>>2])););if(!((0|i)<=0))for(i=0;;){o=(l=i<<2)+r|0,l=f[t+l>>2]+f[l+p>>2]|0,f[o>>2]=l;e:{if((0|l)>f[e+16>>2])A=l-f[e+20>>2]|0;else{if((0|l)>=f[e+12>>2])break e;A=l+f[e+20>>2]|0}f[o>>2]=A}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}u=f[e+52>>2],c=f[e+48>>2],s=br(16),f[(i=s)>>2]=0,f[i+4>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[a+8>>2]=0,f[a>>2]=0,f[a+4>>2]=0;e:{if(n){if(n>>>0>=1073741824)break e;B=br(i=n<<2),f[a>>2]=B,f[a+8>>2]=i+B,Ye(B,0,i)}g=1,i=f[e+56>>2],N=f[i>>2];t:if(!((0|(i=f[i+4>>2]-N|0))<5))for(G=(0|(i>>=2))>2?i:2,U=i>>>0>1?i:1,C=-2&n,D=1&n,V=-4&n,M=3&n,R=n-1|0,F=n<<2,k=1;;){r:{i:{n:{o:{if((0|k)!=(0|U)){i=((o=f[(k<<2)+N>>2])>>>0)%3|0;a:{f:if(-1!=(0|o)){p=0,x=0!=(0|i)|-1!=(0|(l=o+2|0)),v=(w=f[c+12>>2])+((i?o-1|0:l)<<2)|0,m=1,i=o;s:{for(;;){if(-1!=(0|(l=f[w+(i<<2)>>2]))){_=-1,g=f[u>>2],h=f[c>>2],b=g+(f[h+(l<<2)>>2]<<2)|0,-1!=(0|(y=((y=l+1|0)>>>0)%3|0?y:l-2|0))&&(_=f[h+(y<<2)>>2]),y=f[b>>2];c:{if((l>>>0)%3|0)b=l-1|0;else if(A=-1,-1==(0|(b=l+2|0)))break c;A=f[h+(b<<2)>>2]}if(!((0|k)<=(0|y)||(0|(b=f[g+(_<<2)>>2]))>=(0|k)||(0|(_=f[g+(A<<2)>>2]))>=(0|k))){if(l=f[(a+16|0)+d(p,12)>>2],n){if(_=d(n,_),h=d(n,b),g=d(n,y),b=0,A=0,R)for(;f[l+(b<<2)>>2]=(f[(b+_<<2)+r>>2]+f[(b+h<<2)+r>>2]|0)-f[(b+g<<2)+r>>2],f[l+((y=1|b)<<2)>>2]=(f[(_+y<<2)+r>>2]+f[(h+y<<2)+r>>2]|0)-f[(y+g<<2)+r>>2],b=b+2|0,(0|C)!=(0|(A=A+2|0)););D&&(f[l+(b<<2)>>2]=(f[(b+_<<2)+r>>2]+f[(b+h<<2)+r>>2]|0)-f[(b+g<<2)+r>>2])}if(l=4,4==(0|(p=p+1|0)))break s}}c:if(1&m){if(A=-1,-1==(0|(i=((b=i+1|0)>>>0)%3|0?b:i-2|0)))break c;if(A=-1,-1==(0|(i=f[w+(i<<2)>>2])))break c;A=((l=i+1|0)>>>0)%3|0?l:i-2|0}else{if((i>>>0)%3|0)b=i-1|0;else if(A=-1,-1==(0|(b=i+2|0)))break c;A=-1,-1!=(0|(i=f[w+(b<<2)>>2]))&&(A=i-1|0,(i>>>0)%3|0||(A=i+2|0))}c:if((0|o)!=(0|(i=A))){if(!(1&(1^m)|-1!=(0|i))){if(!x)break c;if(-1==(0|(i=f[v>>2])))break c;m=0,i=(i>>>0)%3|0?i-1|0:i+2|0}if(-1!=(0|i))continue}break}if((0|(l=p))<=0)break f}for(n&&Ye(f[a>>2],0,F),y=((i=l-1|0)<<2)+s|0,A=i=d(i,12)+e|0,x=f[i- -64>>2],g=0,m=0,i=0;;){if(o=f[y>>2],f[y>>2]=o+1,o>>>0>=x>>>0)break t;if(!(f[f[A+60>>2]+(o>>>3&536870908)>>2]>>>o&1)&&(i=i+1|0,n)){if(p=f[a>>2],w=f[(a+16|0)+d(m,12)>>2],_=0,b=0,o=0,R>>>0>=3)for(;f[(v=(h=b<<2)+p|0)>>2]=f[v>>2]+f[h+w>>2],f[(T=(v=4|h)+p|0)>>2]=f[T>>2]+f[w+v>>2],f[(T=(v=8|h)+p|0)>>2]=f[T>>2]+f[w+v>>2],f[(v=(h|=12)+p|0)>>2]=f[v>>2]+f[h+w>>2],b=b+4|0,(0|V)!=(0|(o=o+4|0)););if(M)for(;f[(h=(o=b<<2)+p|0)>>2]=f[h>>2]+f[o+w>>2],b=b+1|0,(0|M)!=(0|(_=_+1|0)););}if((0|(m=m+1|0))==(0|l))break}if(o=m=d(n,k),!i)break a;if(!n)break i;if(o=f[a>>2],b=0,l=0,R)break o;break n}o=d(n,k)}if(f[e+8>>2]<=0)break r;for(m=(d(k-1|0,n)<<2)+r|0,p=f[e+32>>2],b=0;(0|(l=f[(i=b<<2)+m>>2]))>(0|(_=f[e+16>>2]))?f[i+p>>2]=_:(i=i+p|0,_=f[e+12>>2],f[i>>2]=(0|_)>(0|l)?_:l),(0|(b=b+1|0))<(0|(l=f[e+8>>2])););if(i=0,(0|l)<=0)break r;for(b=(o<<=2)+r|0,m=t+o|0;;){o=(l=i<<2)+b|0,l=f[l+m>>2]+f[l+p>>2]|0,f[o>>2]=l;a:{if((0|l)>f[e+16>>2])A=l-f[e+20>>2]|0;else{if((0|l)>=f[e+12>>2])break a;A=l+f[e+20>>2]|0}f[o>>2]=A}if(!((0|(i=i+1|0))<f[e+8>>2]))break}break r}ci(),E()}for(;f[(_=(p=b<<2)+o|0)>>2]=f[_>>2]/(0|i),f[(p=o+(4|p)|0)>>2]=f[p>>2]/(0|i),b=b+2|0,(0|C)!=(0|(l=l+2|0)););}D&&(f[(o=o+(b<<2)|0)>>2]=f[o>>2]/(0|i))}if(!(f[e+8>>2]<=0)){for(p=f[e+32>>2],b=0;(0|(o=f[(i=b<<2)+B>>2]))>(0|(l=f[e+16>>2]))?f[i+p>>2]=l:(i=i+p|0,l=f[e+12>>2],f[i>>2]=(0|l)>(0|o)?l:o),(0|(b=b+1|0))<(0|(o=f[e+8>>2])););if(i=0,!((0|o)<=0))for(b=(o=m<<2)+r|0,m=t+o|0;;){o=(l=i<<2)+b|0,l=f[l+m>>2]+f[l+p>>2]|0,f[o>>2]=l;i:{if((0|l)>f[e+16>>2])A=l-f[e+20>>2]|0;else{if((0|l)>=f[e+12>>2])break i;A=l+f[e+20>>2]|0}f[o>>2]=A}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}}if(g=1,(0|G)==(0|(k=k+1|0)))break}return(e=f[a>>2])&&ee(e),ee(s),(e=f[a+52>>2])&&(f[a+56>>2]=e,ee(e)),(e=f[a+40>>2])&&(f[a+44>>2]=e,ee(e)),(e=f[a+28>>2])&&(f[a+32>>2]=e,ee(e)),(e=f[a+16>>2])&&(f[a+20>>2]=e,ee(e)),I=a- -64|0,0|g}ii(),E()},function(e){var t=0;return f[(e|=0)>>2]=4844,(t=f[e+76>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},function(e){var t=0;f[(e|=0)>>2]=4844,(t=f[e+76>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)},Kr,hr,qr,Jr,yr,ke,function(e,t,r,i,n,a){e|=0,t|=0,r|=0,i|=0,a|=0;var s=0,c=0,l=0,b=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,R=0,x=0,N=0,D=0,M=0,G=0,U=0,V=0,F=0,S=0,W=0,Z=0,O=0,j=0,Y=0,z=0,J=0,Q=0,L=0,X=0,H=0,q=0;if(2==(0|(n|=0))){f[e+8>>2]=2,f[e- -64>>2]=a,n=f[(i=e+32|0)>>2],(s=(a=f[e+36>>2]-n|0)>>2)>>>0<=1?st(i,2-s|0):8!=(0|a)&&(f[e+36>>2]=n+8);e:if(i=f[e+56>>2],(0|(a=(n=f[i+4>>2])-(i=f[i>>2])|0))<=0)a=0;else{if((0|i)!=(0|n))for(d=e+60|0,X=(0|(F=a>>2))>1?F:1,a=1;;){if(I=l=I-80|0,n=-1,-1==(0|(s=f[(k<<2)+i>>2]))||(c=f[d+32>>2],-1!=(0|(i=((i=s+1|0)>>>0)%3|0?i:s-2|0))&&(n=f[f[c>>2]+(i<<2)>>2]),i=-1,-1!=(0|(s=s+((s>>>0)%3|0?-1:2)|0))&&(i=f[f[c>>2]+(s<<2)>>2]),c=f[d+36>>2],s=f[c>>2],(c=f[c+4>>2]-s>>2)>>>0<=n>>>0|i>>>0>=c>>>0))ci(),E();else{c=f[s+(n<<2)>>2];t:{r:{i:{n:{o:{if(!((0|(s=f[s+(i<<2)>>2]))>=(0|k)|(0|c)>=(0|k))){if(B=f[4+(i=(s<<3)+r|0)>>2],y=f[4+(n=(c<<3)+r|0)>>2],!((0|(g=f[i>>2]))!=(0|(G=f[n>>2]))|(0|y)!=(0|B))){f[d+8>>2]=G,f[d+12>>2]=y;break o}if(i=f[f[d+4>>2]+(k<<2)>>2],f[l+72>>2]=0,f[l+76>>2]=0,f[(n=l- -64|0)>>2]=0,f[n+4>>2]=0,f[l+56>>2]=0,f[l+60>>2]=0,n=f[d>>2],u[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),P(n,i,o[n+24|0],l+56|0),i=f[f[d+4>>2]+(c<<2)>>2],f[l+48>>2]=0,f[l+52>>2]=0,f[l+40>>2]=0,f[l+44>>2]=0,f[l+32>>2]=0,f[l+36>>2]=0,n=f[d>>2],u[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),P(n,i,o[n+24|0],l+32|0),n=f[f[d+4>>2]+(s<<2)>>2],f[l+24>>2]=0,f[l+28>>2]=0,f[l+16>>2]=0,f[l+20>>2]=0,f[l+8>>2]=0,f[l+12>>2]=0,i=f[d>>2],u[i+84|0]||(n=f[f[i+68>>2]+(n<<2)>>2]),P(i,n,o[i+24|0],l+8|0),S=f[l+44>>2],i=Jt(_=(i=f[l+16>>2])-(n=R=f[l+40>>2])|0,A=f[l+20>>2]-(S+(i>>>0<n>>>0)|0)|0,_,A),n=C,h=i,W=f[l+36>>2],s=Jt(w=(i=f[l+8>>2])-(s=U=f[l+32>>2])|0,b=f[l+12>>2]-(W+(i>>>0<s>>>0)|0)|0,w,b),n=C+n|0,n=(i=h+s|0)>>>0<s>>>0?n+1|0:n,h=i,Z=f[l+52>>2],m=Jt(v=(i=f[l+24>>2])-(s=V=f[l+48>>2])|0,p=f[l+28>>2]-(Z+(i>>>0<s>>>0)|0)|0,v,p),s=C+n|0,T=i=h+m|0,i|(m=i>>>0<m>>>0?s+1|0:s)){if(i=Jt((i=j=f[l+64>>2])-R|0,(Y=f[l+68>>2])-((i>>>0<R>>>0)+S|0)|0,_,A),n=C,i=(s=i)+(c=Jt((i=z=f[l+56>>2])-U|0,(J=f[l+60>>2])-((i>>>0<U>>>0)+W|0)|0,w,b))|0,s=C+n|0,s=i>>>0<c>>>0?s+1|0:s,i=(n=i)+(c=Jt((i=Q=f[l+72>>2])-V|0,(L=f[l+76>>2])-((i>>>0<V>>>0)+Z|0)|0,v,p))|0,n=C+s|0,N=i,x=i>>>0<c>>>0?n+1|0:n,s=(i=p>>31)+p|0,c=(n=i+v|0)^i,O=i^=s=n>>>0<i>>>0?s+1|0:s,n=(i=A>>31)+A|0,D=(s=i+_|0)^i,h=i^=s>>>0<i>>>0?n+1|0:n,n=0,s=(i=b>>31)+b|0,s=(M=i+w|0)>>>0<i>>>0?s+1|0:s,M^=i,(s=Ee(-1,2147483647,(s=(0|O)==(0|(i=(s=(0|h)==(0|(i^=s))&D>>>0>M>>>0|i>>>0<h>>>0)?h:i))&c>>>0>(D=s?D:M)>>>0|i>>>0<O>>>0)?c:D,s?O:i)>>>0<N>>>0)&(0|(i=C))<=(0|x)|(0|i)<(0|x))break t;if(c=1,i=0,n=j,_=Yt(Jt(_,A,N,x),C,T,m),s=C+S|0,s=Y-((n>>>0<(A=_+R|0)>>>0)+(s=A>>>0<_>>>0?s+1|0:s)|0)|0,s=Jt(n=n-A|0,s,n,s),_=C,n=z,h=s,b=Yt(Jt(w,b,N,x),C,T,m),s=C+W|0,s=J-((n>>>0<(A=b+U|0)>>>0)+(s=b>>>0>A>>>0?s+1|0:s)|0)|0,A=Jt(n=n-A|0,s,n,s),n=C+_|0,A=n=(s=h+A|0)>>>0<A>>>0?n+1|0:n,n=Q,h=s,p=Yt(Jt(v,p,N,x),C,T,m),s=C+Z|0,s=L-((n>>>0<(b=p+V|0)>>>0)+(s=b>>>0<p>>>0?s+1|0:s)|0)|0,b=Jt(n=n-b|0,s,n,s),s=C+A|0,A=Jt(n=h+b|0,n>>>0<b>>>0?s+1|0:s,T,m),b=n=C,!n&A>>>0<=1)break n;for(p=A,n=b;s=i<<1|c>>>31,c<<=1,i=s,_=!n&p>>>0>7|0!=(0|n),p=(3&n)<<30|p>>>2,n=n>>>2|0,_;);break i}}if((0|c)<(0|k))i=c<<1;else{if((0|k)<=0){f[d+8>>2]=0,f[d+12>>2]=0;break o}i=(k<<1)-2|0}i=(i<<2)+r|0,f[d+8>>2]=f[i>>2],f[d+12>>2]=f[i+4>>2]}n=1;break t}if(i=b,(c=A)-1|0)break r}for(;s=Ee(A,b,c,i)+c|0,n=i+C|0,n=Jt(c=(1&(n=s>>>0<c>>>0?n+1|0:n))<<31|s>>>1,i=n>>>1|0,c,i),(0|b)==(0|(s=C))&n>>>0>A>>>0|s>>>0>b>>>0;);}(A=f[d+20>>2])&&(n=A-1|0,p=f[f[d+16>>2]+(n>>>3&536870908)>>2],f[d+20>>2]=n,s=Jt(N,x,_=B-(s=y)|0,w=(B>>31)-((b=s>>31)+(s>>>0>B>>>0)|0)|0),v=C,b=(y=Jt(y,b,T,m))+s|0,s=C+v|0,s=b>>>0<y>>>0?s+1|0:s,h=b,g=b=Jt(c,i,v=g-(b=G)|0,B=(g>>31)-((y=b>>31)+(b>>>0>g>>>0)|0)|0),p=h+(R=(n=b=p>>>n&1)?0-g|0:g)|0,h=s,s=C,n=h+(n?0-(s+(0!=(0|g))|0)|0:s)|0,H=d,q=Yt(p,p>>>0<R>>>0?n+1|0:n,T,m),f[H+12>>2]=q,n=Jt(v,B,N,x),s=C,p=Jt(T,m,G,y),s=C+s|0,s=(n=p+n|0)>>>0<p>>>0?s+1|0:s,i=Jt(c,i,_,w),c=(p=b?i:0-i|0)+n|0,n=C,n=(b?n:0-((0!=(0|i))+n|0)|0)+s|0,H=d,q=Yt(c,c>>>0<p>>>0?n+1|0:n,T,m),f[H+8>>2]=q),n=0!=(0|A)}I=l+80|0}if(!n)break e;if(!(f[e+8>>2]<=0)){for(s=f[e+32>>2],i=0;(0|(a=f[68+((n=i<<2)+e|0)>>2]))>(0|(c=f[e+16>>2]))?f[n+s>>2]=c:(n=n+s|0,c=f[e+12>>2],f[n>>2]=(0|c)>(0|a)?c:a),(0|(i=i+1|0))<(0|(a=f[e+8>>2])););if(n=0,!((0|a)<=0))for(c=(i=k<<3)+r|0,A=t+i|0;;){i=(a=n<<2)+c|0,a=f[a+A>>2]+f[a+s>>2]|0,f[i>>2]=a;t:{if((0|a)>f[e+16>>2])a=a-f[e+20>>2]|0;else{if((0|a)>=f[e+12>>2])break t;a=a+f[e+20>>2]|0}f[i>>2]=a}if(!((0|(n=n+1|0))<f[e+8>>2]))break}}if(a=(0|F)>(0|(k=k+1|0)),(0|k)==(0|X))break e;if(n=f[e+56>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>k>>>0))break}ci(),E()}e=1^a}else e=0;return 1&e},function(e){var t;return f[(e|=0)>>2]=5068,f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},function(e){var t;f[(e|=0)>>2]=5068,f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)},ri,ir,qr,Jr,vr,Pe,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s=0,c=0,u=0,l=0,b=0,A=0,p=0,d=0;I=a=I-32|0,f[68+(e|=0)>>2]=o,n=f[e+56>>2],i=f[n>>2],o=f[n+4>>2],f[a+24>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0;e:if(!((0|(o=o-i|0))<=0)){if((0|(i=f[n>>2]))!=f[n+4>>2])for(A=e+112|0,p=e+60|0,d=(n=o>>>2|0)>>>0>1?n:1;;){if($(p,f[(l<<2)+i>>2],a+16|0),i=(n=f[a+20>>2])>>31,s=(o=f[a+16>>2])>>31,c=(u=f[a+24>>2])>>31,s=(c^=c+u)+((i^i+n)+(s^o+s)|0)|0,i=0,(i=s>>>0<c>>>0?1:i)|s?(o=Yt(Jt(c=f[e+108>>2],b=c>>31,o,o>>31),C,s,i),f[a+16>>2]=o,i=Yt(Jt(c,b,n,n>>31),C,s,i),f[a+20>>2]=i,i=(n=(n=i)+(i>>=31)^i)+((i=o>>31)+o^i)|0,f[a+24>>2]=(0|u)>=0?c-i:i-c):f[a+16>>2]=f[e+108>>2],i=Wt(A),o=f[a+16>>2],i?(f[a+24>>2]=0-f[a+24>>2],n=0-f[a+20>>2]|0,f[a+20>>2]=n,o=0-o|0,f[a+16>>2]=o):n=f[a+20>>2],(0|o)>=0?(o=(i=f[e+108>>2])+f[a+24>>2]|0,i=i+n|0):((0|n)<0?(i=(o=f[a+24>>2])>>31,i^=i+o):(i=(o=f[a+24>>2])>>31,i=f[e+100>>2]-(i^i+o)|0),(0|o)<0?o=(o=n)+(n>>=31)^n:(o=n,n>>=31,o=f[e+100>>2]-(o+n^n)|0)),n=f[e+100>>2],i|o?(0|n)!=(0|o)|i?o|(s=(0|i)!=(0|n))?i||(0|(u=f[e+108>>2]))>=(0|o)?s||(0|(s=f[e+108>>2]))<=(0|o)?(0|n)!=(0|o)||(0|(n=f[e+108>>2]))<=(0|i)?o||(o=0,(0|(n=f[e+108>>2]))>=(0|i)||(i=(n<<1)-i|0)):i=(n<<1)-i|0:o=(s<<1)-o|0:(o=(u<<1)-o|0,i=0):o=i:i=o:i=o=n,f[a+12>>2]=o,f[a+8>>2]=i,!(f[e+8>>2]<=0)){for(s=f[e+32>>2],o=0;(0|(n=f[e+16>>2]))<(0|i)?f[s+(o<<2)>>2]=n:(n=s+(o<<2)|0,u=f[e+12>>2],f[n>>2]=(0|u)>(0|i)?u:i),(0|(o=o+1|0))<(0|(n=f[e+8>>2]));)i=f[(a+8|0)+(o<<2)>>2];if(i=0,!((0|n)<=0))for(u=(n=l<<3)+r|0,c=t+n|0;;){n=(o=i<<2)+u|0,o=f[o+c>>2]+f[o+s>>2]|0,f[n>>2]=o;t:{if((0|o)>f[e+16>>2])o=o-f[e+20>>2]|0;else{if((0|o)>=f[e+12>>2])break t;o=o+f[e+20>>2]|0}f[n>>2]=o}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}if((0|d)==(0|(l=l+1|0)))break e;if(n=f[e+56>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>l>>>0))break}ci(),E()}return I=a+32|0,1},Hr,ni,dr,Wr,$,ai,wr,ei,qr,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s=0,c=0,u=0,l=0,b=0,A=0,p=0,d=0,_=0;if(f[8+(e|=0)>>2]=n,u=f[(o=e+32|0)>>2],(c=f[e+36>>2]-u>>2)>>>0<n>>>0?(st(o,n-c|0),u=f[o>>2],o=f[e+8>>2]):(n>>>0<c>>>0&&(f[e+36>>2]=(n<<2)+u),o=n),c=0,a=Ye(br(s=(1073741823&n)!=(0|n)?-1:n<<2),0,s),!((0|o)<=0)){for(;(0|(s=f[(o=c<<2)+a>>2]))>(0|(l=f[e+16>>2]))?f[o+u>>2]=l:(o=o+u|0,l=f[e+12>>2],f[o>>2]=(0|l)>(0|s)?l:s),(0|(o=f[e+8>>2]))>(0|(c=c+1|0)););if(!((0|o)<=0))for(c=0;;){o=(s=c<<2)+r|0,s=f[t+s>>2]+f[s+u>>2]|0,f[o>>2]=s;e:{if((0|s)>f[e+16>>2])s=s-f[e+20>>2]|0;else{if((0|s)>=f[e+12>>2])break e;s=s+f[e+20>>2]|0}f[o>>2]=s}if(!((0|(o=f[e+8>>2]))>(0|(c=c+1|0))))break}}if(!((0|i)<=(0|n)|(0|o)<=0))for(d=0-n<<2,u=n;;){if(!((0|o)<=0)){for(_=(p=(A=u<<2)+r|0)+d|0,l=f[e+32>>2],c=0;(0|(s=f[(o=c<<2)+_>>2]))>(0|(b=f[e+16>>2]))?f[o+l>>2]=b:(o=o+l|0,b=f[e+12>>2],f[o>>2]=(0|b)>(0|s)?b:s),(0|(o=f[e+8>>2]))>(0|(c=c+1|0)););if(c=0,!((0|o)<=0))for(A=t+A|0;;){o=(s=c<<2)+p|0,s=f[s+A>>2]+f[s+l>>2]|0,f[o>>2]=s;e:{if((0|s)>f[e+16>>2])s=s-f[e+20>>2]|0;else{if((0|s)>=f[e+12>>2])break e;s=s+f[e+20>>2]|0}f[o>>2]=s}if(!((0|(o=f[e+8>>2]))>(0|(c=c+1|0))))break}}if(!((0|(u=n+u|0))<(0|i)))break}return ee(a),1},nr,fr,function(e,t,r){t|=0,r|=0;var i=0;return f[4+(e|=0)>>2]=t,t=f[f[f[t+4>>2]+8>>2]+(r<<2)>>2],f[e+12>>2]=r,f[e+8>>2]=t,e=f[e+8>>2],3==u[e+24|0]&&(i=9==f[e+28>>2]),0|i},function(e,t,r){return t|=0,r|=0,u[f[4+(e|=0)>>2]+36|0]>=2&&(t=0,!It(e+24|0,tt(e),r))||(t=St(e+24|0,f[e+16>>2])),0|t},Ir,function(e,t,r){e|=0,t|=0;var i,n=0,a=0,s=0,c=0,u=0,l=0,b=0;I=i=I-32|0;e:if(3==(0|(r|=0))&&(r=f[e+4>>2],e=f[e+12>>2],f[i+24>>2]=-1,f[i+16>>2]=-1,f[i+20>>2]=1065353216,f[i+8>>2]=-1,f[i+12>>2]=-1,-2!=(0|t))){if(b=f[f[f[r+4>>2]+8>>2]+(e<<2)>>2],1==(0|_i[f[f[r>>2]+8>>2]](r))){l=f[f[f[r+4>>2]+8>>2]+(e<<2)>>2];t:{r:if(!(1!=(0|_i[f[f[r>>2]+8>>2]](r))|t-1>>>0>5||!(c=0|_i[f[f[r>>2]+36>>2]](r))|!(a=0|_i[f[f[r>>2]+44>>2]](r,e)))){if(s=a+12|0,u=0|_i[f[f[r>>2]+40>>2]](r,e),r=f[r+44>>2],u){if(6!=(0|t))break r;e=br(112),f[e+4>>2]=l,t=f[i+12>>2],f[e+8>>2]=f[i+8>>2],f[e+12>>2]=t,t=f[i+20>>2],f[e+16>>2]=f[i+16>>2],f[e+20>>2]=t,f[e+24>>2]=f[i+24>>2],f[e+40>>2]=a,f[e+36>>2]=s,f[e+32>>2]=u,f[e+28>>2]=r,f[e+68>>2]=a,f[e- -64>>2]=s,f[e+60>>2]=u,f[e+56>>2]=r,f[e+48>>2]=0,f[e+52>>2]=0,f[e>>2]=5956,f[e+88>>2]=1065353216,f[e+92>>2]=-1,f[e+80>>2]=-1,f[e+84>>2]=-1,f[e+72>>2]=1,f[e+76>>2]=-1,f[e+44>>2]=6520,f[(t=e+96|0)>>2]=0,f[t+4>>2]=0,o[t+5|0]=0,o[t+6|0]=0,o[t+7|0]=0,o[t+8|0]=0,o[t+9|0]=0,o[t+10|0]=0,o[t+11|0]=0,o[t+12|0]=0;break t}6==(0|t)&&(n=br(112),f[n+4>>2]=l,e=f[i+12>>2],f[n+8>>2]=f[i+8>>2],f[n+12>>2]=e,e=f[i+20>>2],f[n+16>>2]=f[i+16>>2],f[n+20>>2]=e,f[n+24>>2]=f[i+24>>2],f[n+40>>2]=a,f[n+36>>2]=s,f[n+32>>2]=c,f[n+28>>2]=r,f[n+68>>2]=a,f[n- -64>>2]=s,f[n+60>>2]=c,f[n+56>>2]=r,f[n+48>>2]=0,f[n+52>>2]=0,f[n>>2]=6960,f[n+88>>2]=1065353216,f[n+92>>2]=-1,f[n+80>>2]=-1,f[n+84>>2]=-1,f[n+72>>2]=1,f[n+76>>2]=-1,f[n+44>>2]=7380,f[(e=n+96|0)>>2]=0,f[e+4>>2]=0,o[e+5|0]=0,o[e+6|0]=0,o[e+7|0]=0,o[e+8|0]=0,o[e+9|0]=0,o[e+10|0]=0,o[e+11|0]=0,o[e+12|0]=0)}e=n}if(n=e,e)break e}n=br(28),f[n+4>>2]=b,e=f[i+12>>2],f[n+8>>2]=f[i+8>>2],f[n+12>>2]=e,e=f[i+20>>2],f[n+16>>2]=f[i+16>>2],f[n+20>>2]=e,f[n+24>>2]=f[i+24>>2],f[n>>2]=7792}return I=i+32|0,0|n},ti,function(e,t){return 0|Me(24+(e|=0)|0,tt(e),f[e+8>>2])},function(e){return f[(e|=0)>>2]=5956,0|e},function(e){f[(e|=0)>>2]=5956,ee(e)},ri,Yr,or,qr,Jr,gr,qr,function(e){return 3},Le,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s=0,c=0,u=0,l=0,b=0,p=0,d=0,h=0,k=0;I=a=I-48|0,(i=f[8+(e|=0)>>2])-31>>>0>=4294967267&&(f[e+76>>2]=i,i=-2-(n=-1<<i)|0,f[e+84>>2]=i,f[e+80>>2]=-1^n,f[e+92>>2]=(0|i)/2,A[e+88>>2]=_(2)/_(0|i)),f[e+52>>2]=o,n=f[e+40>>2],i=f[n>>2],s=f[n+4>>2],o=0,f[a+16>>2]=0,f[a+8>>2]=0,f[a+12>>2]=0;e:if(!((0|(s=s-i|0))<=0)){if((0|(i=f[n>>2]))!=f[n+4>>2])for(p=e+8|0,d=e+96|0,h=e+44|0,k=(n=s>>>2|0)>>>0>1?n:1;;){if(Y(h,f[(o<<2)+i>>2],a+8|0),i=(n=f[a+12>>2])>>31,c=(s=f[a+8>>2])>>31,u=(l=f[a+16>>2])>>31,c=(u^=u+l)+((i^i+n)+(c^s+c)|0)|0,i=0,(i=c>>>0<u>>>0?1:i)|c?(s=Yt(Jt(u=f[e+92>>2],b=u>>31,s,s>>31),C,c,i),f[a+8>>2]=s,i=Yt(Jt(u,b,n,n>>31),C,c,i),f[a+12>>2]=i,i=(n=(n=i)+(i>>=31)^i)+((i=s>>31)+s^i)|0,f[a+16>>2]=(0|l)>=0?u-i:i-u):f[a+8>>2]=f[e+92>>2],i=Wt(d),n=f[a+8>>2],i?(f[a+16>>2]=0-f[a+16>>2],s=0-f[a+12>>2]|0,f[a+12>>2]=s,n=0-n|0,f[a+8>>2]=n):s=f[a+12>>2],(0|n)>=0?(i=(n=f[e+92>>2])+f[a+16>>2]|0,n=n+s|0):((0|s)<0?(n=(i=f[a+16>>2])>>31,n^=i+n):(n=(i=f[a+16>>2])>>31,n=f[e+84>>2]-(n^i+n)|0),(0|i)<0?(i=s>>31,i^=i+s):(i=s>>31,i=f[e+84>>2]-(i+s^i)|0)),s=f[e+84>>2],i|n?(0|i)!=(0|s)|n?i|(c=(0|n)!=(0|s))?n||(0|(l=f[e+92>>2]))>=(0|i)?c||(0|(c=f[e+92>>2]))<=(0|i)?(0|i)!=(0|s)||(0|(s=f[e+92>>2]))<=(0|n)?i||(i=0,(0|(s=f[e+92>>2]))>=(0|n)||(n=(s<<1)-n|0)):n=(s<<1)-n|0:i=(c<<1)-i|0:(i=(l<<1)-i|0,n=0):i=n:n=i:n=i=s,l=f[4+(c=(s=o<<3)+t|0)>>2],c=f[c>>2],f[a+36>>2]=i,f[a+32>>2]=n,f[a+24>>2]=c,f[a+28>>2]=l,pe(a+40|0,p,a+32|0,a+24|0),f[(i=r+s|0)>>2]=f[a+40>>2],f[i+4>>2]=f[a+44>>2],(0|k)==(0|(o=o+1|0)))break e;if(n=f[e+40>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>o>>>0))break}ci(),E()}return I=a+48|0,1},Hr,ni,dr,Wr,Y,function(e){return f[(e|=0)>>2]=6960,0|e},function(e){f[(e|=0)>>2]=6960,ee(e)},ri,or,qr,Jr,gr,Le,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s=0,c=0,u=0,l=0,b=0,p=0,d=0,h=0,k=0;I=a=I-48|0,(i=f[8+(e|=0)>>2])-31>>>0>=4294967267&&(f[e+76>>2]=i,i=-2-(n=-1<<i)|0,f[e+84>>2]=i,f[e+80>>2]=-1^n,f[e+92>>2]=(0|i)/2,A[e+88>>2]=_(2)/_(0|i)),f[e+52>>2]=o,n=f[e+40>>2],i=f[n>>2],s=f[n+4>>2],o=0,f[a+16>>2]=0,f[a+8>>2]=0,f[a+12>>2]=0;e:if(!((0|(s=s-i|0))<=0)){if((0|(i=f[n>>2]))!=f[n+4>>2])for(p=e+8|0,d=e+96|0,h=e+44|0,k=(n=s>>>2|0)>>>0>1?n:1;;){if($(h,f[(o<<2)+i>>2],a+8|0),i=(n=f[a+12>>2])>>31,c=(s=f[a+8>>2])>>31,u=(l=f[a+16>>2])>>31,c=(u^=u+l)+((i^i+n)+(c^s+c)|0)|0,i=0,(i=c>>>0<u>>>0?1:i)|c?(s=Yt(Jt(u=f[e+92>>2],b=u>>31,s,s>>31),C,c,i),f[a+8>>2]=s,i=Yt(Jt(u,b,n,n>>31),C,c,i),f[a+12>>2]=i,i=(n=(n=i)+(i>>=31)^i)+((i=s>>31)+s^i)|0,f[a+16>>2]=(0|l)>=0?u-i:i-u):f[a+8>>2]=f[e+92>>2],i=Wt(d),n=f[a+8>>2],i?(f[a+16>>2]=0-f[a+16>>2],s=0-f[a+12>>2]|0,f[a+12>>2]=s,n=0-n|0,f[a+8>>2]=n):s=f[a+12>>2],(0|n)>=0?(i=(n=f[e+92>>2])+f[a+16>>2]|0,n=n+s|0):((0|s)<0?(n=(i=f[a+16>>2])>>31,n^=i+n):(n=(i=f[a+16>>2])>>31,n=f[e+84>>2]-(n^i+n)|0),(0|i)<0?(i=s>>31,i^=i+s):(i=s>>31,i=f[e+84>>2]-(i+s^i)|0)),s=f[e+84>>2],i|n?(0|i)!=(0|s)|n?i|(c=(0|n)!=(0|s))?n||(0|(l=f[e+92>>2]))>=(0|i)?c||(0|(c=f[e+92>>2]))<=(0|i)?(0|i)!=(0|s)||(0|(s=f[e+92>>2]))<=(0|n)?i||(i=0,(0|(s=f[e+92>>2]))>=(0|n)||(n=(s<<1)-n|0)):n=(s<<1)-n|0:i=(c<<1)-i|0:(i=(l<<1)-i|0,n=0):i=n:n=i:n=i=s,l=f[4+(c=(s=o<<3)+t|0)>>2],c=f[c>>2],f[a+36>>2]=i,f[a+32>>2]=n,f[a+24>>2]=c,f[a+28>>2]=l,pe(a+40|0,p,a+32|0,a+24|0),f[(i=r+s|0)>>2]=f[a+40>>2],f[i+4>>2]=f[a+44>>2],(0|k)==(0|(o=o+1|0)))break e;if(n=f[e+40>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>o>>>0))break}ci(),E()}return I=a+48|0,1},Hr,ni,dr,Wr,$,Hr,ni,ei,qr,ei,jr,Jr,function(e,t){e|=0;var r,i,n,o,a=0,s=0,c=0,l=0;return r=f[12+(t|=0)>>2],c=a=f[t+20>>2],a=(s=(i=f[t+16>>2])+4|0)>>>0<4?a+1|0:a,o=s,(n=f[t+8>>2])>>>0<s>>>0&(0|a)>=(0|r)|(0|a)>(0|r)||(s=i+f[t>>2]|0,s=u[0|s]|u[s+1|0]<<8|u[s+2|0]<<16|u[s+3|0]<<24,f[t+16>>2]=o,f[t+20>>2]=a,a=c,(c=i+8|0)>>>0>n>>>0&(0|(a=c>>>0<8?a+1|0:a))>=(0|r)|(0|a)>(0|r)||(f[t+16>>2]=c,f[t+20>>2]=a,1&s&&((t=31^k(s))-30>>>0<4294967267||(l=1,f[e+8>>2]=t+1,t=-2-(a=-2<<t)|0,f[e+16>>2]=t,f[e+12>>2]=-1^a,f[e+24>>2]=(0|t)/2,A[e+20>>2]=_(2)/_(0|t))))),0|l},function(e,t,r,i,n,o){e|=0,t|=0,r|=0,i|=0,o|=0;var a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0;if(I=o=I-32|0,s=Ye(br(s=(1073741823&(n|=0))!=(0|n)?-1:n<<2),0,s),a=f[t>>2],c=f[t+4>>2],l=f[s+4>>2],f[o+16>>2]=f[s>>2],f[o+20>>2]=l,f[o+8>>2]=a,f[o+12>>2]=c,pe(o+24|0,c=e+8|0,o+16|0,o+8|0),f[r>>2]=f[o+24>>2],f[r+4>>2]=f[o+28>>2],(0|i)>(0|n))for(l=0-n<<2,e=n;A=f[(u=(a=e<<2)+t|0)>>2],u=f[u+4>>2],p=f[4+(b=(a=r+a|0)+l|0)>>2],f[o+16>>2]=f[b>>2],f[o+20>>2]=p,f[o+8>>2]=A,f[o+12>>2]=u,pe(o+24|0,c,o+16|0,o+8|0),f[a>>2]=f[o+24>>2],f[a+4>>2]=f[o+28>>2],(0|i)>(0|(e=e+n|0)););return ee(s),I=o+32|0,1},function(e){var t=0;return f[24+(e|=0)>>2]=1140,f[e>>2]=7976,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),f[e>>2]=2164,t=f[e+20>>2],f[e+20>>2]=0,t&&_i[f[f[t>>2]+4>>2]](t),f[e>>2]=1948,t=f[e+16>>2],f[e+16>>2]=0,t&&jt(t),0|e},function(e){var t=0;f[24+(e|=0)>>2]=1140,f[e>>2]=7976,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),f[e>>2]=2164,t=f[e+20>>2],f[e+20>>2]=0,t&&_i[f[f[t>>2]+4>>2]](t),f[e>>2]=1948,t=f[e+16>>2],f[e+16>>2]=0,t&&jt(t),ee(e)},function(e,t,r){var i;return t|=0,r|=0,f[4+(e|=0)>>2]=t,i=f[f[f[t+4>>2]+8>>2]+(r<<2)>>2],f[e+12>>2]=r,f[e+8>>2]=i,9==f[f[f[f[t+4>>2]+8>>2]+(r<<2)>>2]+28>>2]|0},function(e,t,r){return t|=0,u[f[4+(e|=0)>>2]+36|0]>=2&&(t=0,!(0|_i[f[f[e>>2]+52>>2]](e)))||(t=St(e+24|0,f[e+16>>2])),0|t},Ir,function(e,t){return t|=0,0|_i[f[f[(e|=0)>>2]+56>>2]](e,t)},function(e){return 0|Ce(24+(e|=0)|0,tt(e)||f[e+8>>2],f[f[e+4>>2]+32>>2])},function(e,t){return 0|Be(24+(e|=0)|0,tt(e),f[e+8>>2])},function(e){var t,r=0,i=0;if(f[(e|=0)>>2]=10064,(r=f[e+20>>2])&&(f[e+24>>2]=r,ee(r)),t=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|t)!=(0|i););r=f[e+8>>2]}f[e+12>>2]=t,ee(r)}return 0|e},ai,qr,qr,function(e){return f[44+(e|=0)>>2]?0|_i[f[f[e>>2]+48>>2]](e):0},function(e){var t=0,r=0,i=0,n=0,o=0,a=0,s=0,c=0,l=0,b=0;e:{if(t=f[32+(e|=0)>>2],o=f[t+8>>2],n=0,!((0|(a=f[t+12>>2]))<=(0|(i=f[t+20>>2]))&(s=o)>>>0<=(o=f[t+16>>2])>>>0|(0|i)>(0|a))){s=u[o+f[t>>2]|0],i=(a=o+1|0)?i:i+1|0,f[t+16>>2]=a,f[t+20>>2]=i;t:if(s){for(;;){if(0|_i[f[f[e>>2]+16>>2]](e,r)){if((0|s)!=(0|(r=r+1|0)))continue;break t}break}return 0}if((0|(r=f[e+8>>2]))!=(0|(i=f[e+12>>2])))for(;;){if(t=f[r>>2],!(0|_i[f[f[t>>2]+8>>2]](t,e,f[e+4>>2])))break e;if((0|i)==(0|(r=r+4|0)))break}if(s){for(r=0;;){if(t=f[f[e+8>>2]+(r<<2)>>2],!(0|_i[f[f[t>>2]+12>>2]](t,f[e+32>>2])))break e;if((0|s)==(0|(r=r+1|0)))break}if(s)for(o=e+20|0;;){if(r=0,t=f[(a=c<<2)+f[e+8>>2]>>2],(0|(i=0|_i[f[f[t>>2]+24>>2]](t)))>0)for(;t=f[f[e+8>>2]+a>>2],b=0|_i[f[f[t>>2]+20>>2]](t,r),n=f[e+20>>2],b>>>0<(l=f[e+24>>2]-n>>2)>>>0||((t=b+1|0)>>>0>l>>>0?(st(o,t-l|0),n=f[o>>2]):t>>>0>=l>>>0||(f[e+24>>2]=(t<<2)+n)),f[(b<<2)+n>>2]=c,(0|i)!=(0|(r=r+1|0)););if((0|s)==(0|(c=c+1|0)))break}}n=0,0|_i[f[f[e>>2]+28>>2]](e)&&(n=0|_i[f[f[e>>2]+32>>2]](e))}return 0|n}return 0},function(e){var t,r=0,i=0;if((0|(r=f[8+(e|=0)>>2]))==(0|(t=f[e+12>>2])))return 1;for(;i=f[r>>2],(i=0|_i[f[f[i>>2]+16>>2]](i,f[e+32>>2]))&&(0|t)!=(0|(r=r+4|0)););return 0|i},qr,ei,Jr,Jr,function(e){var t,r=0,i=0;if(f[(e|=0)>>2]=8204,r=f[e+48>>2],f[e+48>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),f[e>>2]=10064,(r=f[e+20>>2])&&(f[e+24>>2]=r,ee(r)),t=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|t)!=(0|i););r=f[e+8>>2]}f[e+12>>2]=t,ee(r)}return 0|e},function(e){var t,r=0,i=0;if(f[(e|=0)>>2]=8204,r=f[e+48>>2],f[e+48>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),f[e>>2]=10064,(r=f[e+20>>2])&&(f[e+24>>2]=r,ee(r)),t=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|t)!=(0|i););r=f[e+8>>2]}f[e+12>>2]=t,ee(r)}ee(e)},function(e){var t,r=0,i=0,n=0,s=0;if(i=f[32+(e|=0)>>2],t=f[i+16>>2],n=f[i+12>>2],r=f[i+20>>2],b[i+8>>2]>t>>>0&(0|n)>=(0|r)|(0|r)<(0|n)){s=u[t+f[i>>2]|0],r=(n=t+1|0)?r:r+1|0,f[i+16>>2]=n,f[i+20>>2]=r,i=f[e+48>>2],f[e+48>>2]=0,i&&_i[f[f[i>>2]+4>>2]](i);e:{t:{r:{i:switch(0|s){case 0:i=br(384),f[i>>2]=8312,Ye(i+4|0,0,80),f[i+96>>2]=0,f[i+100>>2]=0,f[i+92>>2]=-1,f[i+84>>2]=-1,f[i+88>>2]=-1,f[i+104>>2]=0,f[i+108>>2]=0,f[i+112>>2]=0,f[i+116>>2]=0,f[i+120>>2]=0,f[i+124>>2]=0,f[i+128>>2]=0,f[i+132>>2]=0,f[i+136>>2]=0,f[i+140>>2]=0,f[i+144>>2]=0,f[i+148>>2]=0,f[i+156>>2]=0,f[i+160>>2]=0,f[i+152>>2]=1065353216,f[i+164>>2]=0,f[i+168>>2]=0,f[i+172>>2]=0,f[i+176>>2]=0,f[i+180>>2]=0,f[i+184>>2]=0,f[i+188>>2]=0,f[i+192>>2]=0,f[i+196>>2]=0,f[i+200>>2]=0,f[i+204>>2]=0,f[i+208>>2]=0,f[i+212>>2]=-1,f[i+216>>2]=0,f[i+220>>2]=0,f[i+224>>2]=0,a[38+(r=i+232|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,a[38+(r=i+272|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,f[(r=i+312|0)>>2]=0,f[r+4>>2]=0,o[r+5|0]=0,o[r+6|0]=0,o[r+7|0]=0,o[r+8|0]=0,o[r+9|0]=0,o[r+10|0]=0,o[r+11|0]=0,o[r+12|0]=0,a[38+(r=i+328|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,f[i+376>>2]=0,f[i+368>>2]=0,f[i+372>>2]=0;break r;case 2:break i;default:break t}i=br(440),f[i>>2]=8364,Ye(i+4|0,0,80),f[i+96>>2]=0,f[i+100>>2]=0,f[i+92>>2]=-1,f[i+84>>2]=-1,f[i+88>>2]=-1,f[i+104>>2]=0,f[i+108>>2]=0,f[i+112>>2]=0,f[i+116>>2]=0,f[i+120>>2]=0,f[i+124>>2]=0,f[i+128>>2]=0,f[i+132>>2]=0,f[i+136>>2]=0,f[i+140>>2]=0,f[i+144>>2]=0,f[i+148>>2]=0,f[i+156>>2]=0,f[i+160>>2]=0,f[i+152>>2]=1065353216,f[i+164>>2]=0,f[i+168>>2]=0,f[i+172>>2]=0,f[i+176>>2]=0,f[i+180>>2]=0,f[i+184>>2]=0,f[i+188>>2]=0,f[i+192>>2]=0,f[i+196>>2]=0,f[i+200>>2]=0,f[i+204>>2]=0,f[i+208>>2]=0,f[i+212>>2]=-1,f[i+216>>2]=0,f[i+220>>2]=0,f[i+224>>2]=0,a[38+(r=i+232|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,a[38+(r=i+272|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,f[(r=i+312|0)>>2]=0,f[r+4>>2]=0,o[r+5|0]=0,o[r+6|0]=0,o[r+7|0]=0,o[r+8|0]=0,o[r+9|0]=0,o[r+10|0]=0,o[r+11|0]=0,o[r+12|0]=0,a[38+(r=i+328|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,f[i+392>>2]=0,f[i+396>>2]=0,f[i+384>>2]=0,f[i+388>>2]=0,f[i+376>>2]=0,f[i+380>>2]=0,f[i+368>>2]=0,f[i+372>>2]=0,f[i+416>>2]=0,f[i+420>>2]=0,f[i+408>>2]=2,f[i+412>>2]=7,f[i+400>>2]=-1,f[i+404>>2]=-1,f[i+424>>2]=0,f[i+428>>2]=0,f[i+432>>2]=0,f[i+436>>2]=0}if(r=f[e+48>>2],f[e+48>>2]=i,!r)break e;_i[f[f[r>>2]+4>>2]](r)}if(!(i=f[e+48>>2]))return 0}e=0|_i[f[f[i>>2]+8>>2]](i,e)}else e=0;return 0|e},function(e,t){return t|=0,e=f[48+(e|=0)>>2],0|_i[f[f[e>>2]+20>>2]](e,t)},function(e){return e=f[48+(e|=0)>>2],0|_i[f[f[e>>2]+28>>2]](e)},function(e){return e=f[48+(e|=0)>>2],0|_i[f[f[e>>2]+36>>2]](e)},function(e,t){return t|=0,e=f[48+(e|=0)>>2],0|_i[f[f[e>>2]+12>>2]](e,t)},function(e,t){return t|=0,e=f[48+(e|=0)>>2],0|_i[f[f[e>>2]+16>>2]](e,t)},function(e){return e=f[48+(e|=0)>>2],0|_i[f[f[e>>2]+24>>2]](e)},we,function(e){ee(we(e|=0))},Ur,it,ot,F,function(e){var t,r=0,i=0,n=0,s=0,c=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,R=0,x=0,N=0,C=0,D=0,M=0,G=0,U=0,V=0,F=0,S=0,W=0;if(I=t=I+-64|0,f[132+(e|=0)>>2]=0,f[e+148>>2]){if(r=f[e+144>>2])for(;s=f[r>>2],ee(r),r=s,s;);if(r=0,f[e+144>>2]=0,s=f[e+140>>2]){if(s-1>>>0>=3)for(p=-4&s;f[(i=r<<2)+f[e+136>>2]>>2]=0,f[f[e+136>>2]+(4|i)>>2]=0,f[f[e+136>>2]+(8|i)>>2]=0,f[f[e+136>>2]+(12|i)>>2]=0,r=r+4|0,(0|p)!=(0|(n=n+4|0)););if(s&=3)for(;f[f[e+136>>2]+(r<<2)>>2]=0,r=r+1|0,(0|s)!=(0|(v=v+1|0)););}f[e+148>>2]=0}if(Tt(1,t+60|0,f[f[e+4>>2]+32>>2])&&(f[e+156>>2]=f[t+60>>2],Tt(1,t+56|0,f[f[e+4>>2]+32>>2])&&!((n=f[t+56>>2])>>>0>1431655765|b[e+156>>2]>d(n,3)>>>0)&&(s=f[f[e+4>>2]+32>>2],i=f[s+8>>2],!((0|(v=f[s+12>>2]))<=(0|(r=f[s+20>>2]))&(c=i)>>>0<=(i=f[s+16>>2])>>>0|(0|r)>(0|v))&&(v=u[i+f[s>>2]|0],r=(i=i+1|0)?r:r+1|0,f[s+16>>2]=i,f[s+20>>2]=r,Tt(1,t+52|0,s)&&!((y=f[t+52>>2])>>>0>n>>>0|n>>>0>y+((y>>>0)/3|0)>>>0)&&Tt(1,t+48|0,f[f[e+4>>2]+32>>2])&&!((s=f[t+48>>2])>>>0>y>>>0)&&(f[e+28>>2]=f[e+24>>2],yt(i=br(88)),r=f[e+8>>2],f[e+8>>2]=i,(!r||(Mt(r),f[e+8>>2]))&&(f[e+164>>2]=f[e+160>>2],Dt(e+160|0,n),f[e+176>>2]=f[e+172>>2],Dt(e+172|0,n),f[e- -64>>2]=0,f[e+92>>2]=-1,f[e+84>>2]=-1,f[e+88>>2]=-1,f[e+40>>2]=f[e+36>>2],f[e+52>>2]=f[e+48>>2],f[e+76>>2]=f[e+72>>2],Ut(V=e+216|0),q(V,v),et(f[e+8>>2],n,s+f[e+156>>2]|0)&&(r=f[e+156>>2],o[t+8|0]=1,Je(e+120|0,r+s|0,t+8|0),-1!=(0|be(e,f[f[e+4>>2]+32>>2]))))))))){mt(s=e+232|0,e),f[e+372>>2]=v,a[38+(g=t+8|0)>>1]=0,f[g>>2]=0,f[g+8>>2]=0,f[g+12>>2]=0,f[g+16>>2]=0,f[g+20>>2]=0,f[g+24>>2]=0,f[g+28>>2]=0,o[g+29|0]=0,o[g+30|0]=0,o[g+31|0]=0,o[g+32|0]=0,o[g+33|0]=0,o[g+34|0]=0,o[g+35|0]=0,o[g+36|0]=0,r=0,I=v=I-16|0,n=f[s+4>>2],f[s+40>>2]=f[s>>2],f[s+44>>2]=n,n=f[s+36>>2],f[s+72>>2]=f[s+32>>2],f[s+76>>2]=n,i=f[s+28>>2],f[(n=s- -64|0)>>2]=f[s+24>>2],f[n+4>>2]=i,n=f[s+20>>2],f[s+56>>2]=f[s+16>>2],f[s+60>>2]=n,n=f[s+12>>2],f[s+48>>2]=f[s+8>>2],f[s+52>>2]=n,Kt(s+40|0,1,v+8|0)&&(n=f[s+44>>2],f[s>>2]=f[s+40>>2],f[s+4>>2]=n,n=f[s+76>>2],f[s+32>>2]=f[s+72>>2],f[s+36>>2]=n,n=f[s+68>>2],f[s+24>>2]=f[s+64>>2],f[s+28>>2]=n,p=i=f[s+60>>2],n=f[s+56>>2],f[s+16>>2]=n,f[s+20>>2]=i,c=f[s+52>>2],i=f[s+48>>2],f[s+8>>2]=i,f[s+12>>2]=c,A=i-n|0,(0|(k=f[v+12>>2]))==(0|(c=c-((i>>>0<n>>>0)+p|0)|0))&A>>>0>=(i=f[v+8>>2])>>>0|c>>>0>k>>>0)&&(c=i+n|0,n=p+k|0,f[s+16>>2]=c,f[s+20>>2]=i>>>0>c>>>0?n+1|0:n,Ie(s+80|0,s)&&Xe(s)&&(r=f[s+4>>2],f[g>>2]=f[s>>2],f[g+4>>2]=r,r=f[s+36>>2],f[g+32>>2]=f[s+32>>2],f[g+36>>2]=r,r=f[s+28>>2],f[g+24>>2]=f[s+24>>2],f[g+28>>2]=r,r=f[s+20>>2],f[g+16>>2]=f[s+16>>2],f[g+20>>2]=r,r=f[s+12>>2],f[g+8>>2]=f[s+8>>2],f[g+12>>2]=r,r=1)),I=v+16|0;e:if(r){n=0,s=0,r=0,v=0,I=k=I-96|0,f[k+72>>2]=0,f[k+64>>2]=0,f[k+68>>2]=0,f[k+48>>2]=0,f[k+52>>2]=0,f[k+40>>2]=0,f[k+44>>2]=0,f[k+56>>2]=1065353216,f[k+32>>2]=0,f[k+24>>2]=0,f[k+28>>2]=0,_=1,p=e,x=f[e+124>>2];t:{r:{i:{n:{o:{a:{f:{s:if(!((0|y)<=0)){for(F=f[p+216>>2]!=f[p+220>>2];;){B=(c=B)+1|0;c:{u:{l:{b:{A:{p:{d:{_:{h:{k:{m:if(u[p+308|0]){y:{if(!((e=(A=f[p+296>>2])+((i=f[p+304>>2])>>>3|0)|0)>>>0>=(m=f[p+300>>2])>>>0)&&(h=u[0|e],e=i+1|0,f[p+304>>2]=e,h>>>(7&i)&1))switch((w=A+(h=e>>>3|0)|0)>>>0>=m>>>0?(i=e,e=0):(w=u[0|w],i=i+2|0,f[p+304>>2]=i,h=i>>>3|0,e=w>>>(7&e)&1),(A=A+h|0)>>>0<m>>>0?(A=u[0|A],f[p+304>>2]=i+1,i=A>>>(7&i)<<1&2):i=0,(e=(e|i)<<1)-1|0){case 0:case 2:case 4:break i;case 5:break k;case 1:case 3:break y;default:break m}if((0|r)==(0|s)){i=-1;break f}h=-1,A=f[p+8>>2],w=f[A+24>>2],e=-1,-1!=(0|(i=f[(R=s-4|0)>>2]))&&(e=-1,-1!=(0|(_=((_=i+1|0)>>>0)%3|0?_:i-2|0))&&(e=f[f[A>>2]+(_<<2)>>2])),-1!=(0|(n=f[w+(e<<2)>>2]))&&(h=((_=n+1|0)>>>0)%3|0?_:n-2|0),n=f[A+12>>2],_=(c=d(c,3))+1|0,f[n+(i<<2)>>2]=_,f[(C=_<<2)+n>>2]=i,m=c+2|0,f[n+(h<<2)>>2]=m,f[(D=m<<2)+n>>2]=h,_=-1,n=-1;v:if(-1!=(0|i)){if((i>>>0)%3|0)i=i-1|0;else if(n=-1,-1==(0|(i=i+2|0)))break v;n=f[f[A>>2]+(i<<2)>>2]}if(-1!=(0|h)&&-1!=(0|(i=((i=h+1|0)>>>0)%3|0?i:h-2|0))&&(_=f[f[A>>2]+(i<<2)>>2]),i=-1,(0|e)==(0|n)|(0|e)==(0|_))break f;i=f[A>>2],f[i+(c<<2)>>2]=e,f[i+C>>2]=_,f[i+D>>2]=n,-1!=(0|n)&&(f[w+(n<<2)>>2]=m),n=f[p+120>>2]+(e>>>3&536870908)|0,i=f[n>>2],S=n,W=Rr(e)&i,f[S>>2]=W,f[R>>2]=c,n=r;break c}if((0|r)==(0|s)){i=-1;break f}if(n=f[p+8>>2],i=f[n+12>>2],C=(h=(A=d(c,3))+((w=5==(1|e))?2:1)|0)<<2,e=f[(D=s-4|0)>>2],f[i+C>>2]=e,f[i+(e<<2)>>2]=h,At(n+24|0),i=-1,R=f[p+8>>2],m=f[R+24>>2],(0|x)<f[R+28>>2]-m>>2)break f;if(i=f[R>>2],R=((n=f[n+28>>2]-f[n+24>>2]|0)>>2)-1|0,f[i+C>>2]=R,n&&(f[m+(R<<2)>>2]=h),h=w?A:A+2|0,w=i+(A+w<<2)|0,-1!=(0|e)){y:{v:{if((e>>>0)%3|0)n=e-1|0;else if(-1==(0|(n=e+2|0)))break v;if(n=f[i+(n<<2)>>2],f[i+(h<<2)>>2]=n,-1==(0|n))break y;f[m+(n<<2)>>2]=h;break y}f[i+(h<<2)>>2]=-1}n=-1,-1!=(0|(e=((h=e+1|0)>>>0)%3|0?h:e-2|0))&&(n=f[i+(e<<2)>>2])}else f[i+(h<<2)>>2]=-1,n=-1;f[w>>2]=n,f[D>>2]=A,n=r;break h}if((0|r)==(0|s)){i=-1;break f}m=f[(e=s-4|0)>>2],f[k+68>>2]=e;m:if(h=f[k+44>>2])if((A=Er(h)>>>0>1)?h>>>0>(n=c)>>>0||(n=(c>>>0)%(h>>>0)|0):n=c&h+2147483647,i=f[f[k+40>>2]+(n<<2)>>2])if(i=f[i>>2]){y:{if(!A){for(A=h-1|0;;){v:{if((0|(h=f[i+4>>2]))!=(0|c)){if((A&h)==(0|n))break v;s=e;break m}if((0|c)==f[i+8>>2])break y}if(!(i=f[i>>2]))break}s=e;break m}for(;;){v:{if((0|(A=f[i+4>>2]))!=(0|c)){if(A>>>0>=h>>>0&&(A=(A>>>0)%(h>>>0)|0),(0|n)==(0|A))break v;s=e;break m}if((0|c)==f[i+8>>2])break y}if(!(i=f[i>>2]))break}s=e;break m}if((0|e)==(0|N)){if((s=1+(n=(e=N-r|0)>>2)|0)>>>0>=1073741824)break d;if(T=e>>1,s=n>>>0<536870911?s>>>0>T>>>0?s:T:1073741823){if(s>>>0>=1073741824)break r;T=br(s<<2)}else T=0;f[(n=T+(n<<2)|0)>>2]=f[i+12>>2],N=(s<<2)+T|0,s=n+4|0,(0|e)>0&&ge(T,r,e),f[k+72>>2]=N,f[k+68>>2]=s,f[k+64>>2]=T,r&&ee(r)}else f[e>>2]=f[i+12>>2],f[k+68>>2]=s}else s=e;else s=e;else s=e;if((0|s)==(0|T))break _;if(n=-1==(0|(e=f[(C=s-4|0)>>2])),r=f[p+8>>2],!n&-1!=f[f[r+12>>2]+(e<<2)>>2])break _;if(A=f[r+12>>2],-1!=(0|m)&-1!=f[A+(m<<2)>>2])break _;if(R=(c=d(c,3))+2|0,f[A+(e<<2)>>2]=R,f[(w=R<<2)+A>>2]=e,i=c+1|0,f[A+(m<<2)>>2]=i,f[(D=i<<2)+A>>2]=m,n)break p;if((e>>>0)%3|0){_=e-1|0;break b}if(-1!=(0|(_=e+2|0)))break b;h=f[r>>2],n=-1;break l}if(At((h=f[p+8>>2])+24|0),i=-1,A=f[p+8>>2],e=d(c,3),R=(h=(m=f[h+28>>2]-f[h+24>>2]|0)>>2)-1|0,f[f[A>>2]+(e<<2)>>2]=R,At(A+24|0),w=e+1|0,f[f[A>>2]+(w<<2)>>2]=(f[A+28>>2]-f[A+24>>2]>>2)-1,At((A=f[p+8>>2])+24|0),C=e+2|0,f[f[A>>2]+(C<<2)>>2]=(f[A+28>>2]-f[A+24>>2]>>2)-1,D=f[p+8>>2],A=f[D+24>>2],(0|x)<f[D+28>>2]-A>>2)break f;k:{if(m){if(f[A+(R<<2)>>2]=e,i=0,-4!=(0|m)&&(f[A+(h<<2)>>2]=w,-1==(0|(i=h+1|0))))break k}else f[A+(h<<2)>>2]=w,i=1;f[A+(i<<2)>>2]=C}if((0|s)==(0|N)){if((s=1+(i=(r=s-n|0)>>2)|0)>>>0>=1073741824)break A;if(T=r>>1,s=i>>>0<536870911?s>>>0>T>>>0?s:T:1073741823){if(s>>>0>=1073741824)break r;T=br(s<<2)}else T=0;f[(i=T+(i<<2)|0)>>2]=e,N=(s<<2)+T|0,s=i+4|0,(0|r)>0&&ge(T,n,r),f[k+72>>2]=N,f[k+68>>2]=s,f[k+64>>2]=T,n&&ee(n),n=r=T}else f[s>>2]=e,s=s+4|0,f[k+68>>2]=s}if((0|(i=f[p+40>>2]))==f[p+36>>2])break c;for(c=y+(-1^c)|0,A=s-4|0;;){if((e=f[i-8>>2])>>>0>c>>>0)break _;if((0|e)!=(0|c))break c;if(h=u[i-4|0],i=f[(e=i-12|0)>>2],f[p+40>>2]=e,(0|i)<0)break _;e=f[A>>2],f[k+20>>2]=y+(-1^i),i=k+20|0,f[k+88>>2]=i,te(k,k+40|0,i,k+88|0),w=f[k>>2];h:if(1&h){if(i=-1,-1==(0|e))break h;i=((i=e+1|0)>>>0)%3|0?i:e-2|0}else i=-1,-1!=(0|e)&&(i=e-1|0,(e>>>0)%3|0||(i=e+2|0));if(f[w+12>>2]=i,(0|(i=f[p+40>>2]))==f[p+36>>2])break}break c}if(i=-1,1&_)break f;break s}ii(),E()}n=-1,h=f[r>>2],f[h+(c<<2)>>2]=-1,i=-1;break u}ii(),E()}h=f[r>>2],n=f[h+(_<<2)>>2]}f[(c<<2)+h>>2]=n,i=-1,-1!=(0|(e=((_=e+1|0)>>>0)%3|0?_:e-2|0))&&(i=f[(e<<2)+h>>2])}if(f[h+D>>2]=i,-1!=(0|m)){u:{l:{if((m>>>0)%3|0)i=m-1|0;else if(-1==(0|(i=m+2|0)))break l;if(e=f[(i<<2)+h>>2],f[h+w>>2]=e,-1==(0|e))break u;f[f[r+24>>2]+(e<<2)>>2]=R;break u}f[h+w>>2]=-1}_=-1,i=-1,-1!=(0|(e=((e=m+1|0)>>>0)%3|0?e:m-2|0))&&(_=f[(e<<2)+h>>2],i=e)}else f[h+w>>2]=-1,_=-1,i=-1;e=(r=f[r+24>>2])+(_<<2)|0,-1!=(0|n)&&(f[r+(n<<2)>>2]=f[e>>2]);u:if(-1!=(0|i))for(;;){if(f[(i<<2)+h>>2]=n,-1==(0|(r=((r=i+1|0)>>>0)%3|0?r:i-2|0)))break u;if(-1==(0|(r=f[A+(r<<2)>>2])))break u;if(-1==(0|(i=((i=r+1|0)>>>0)%3|0?i:r-2|0)))break}f[e>>2]=-1;u:if(!F){if((0|M)==(0|G)){l:{if((e=1+(i=(r=G-v|0)>>2)|0)>>>0<1073741824){if(n=r>>1,n=i>>>0<536870911?e>>>0>n>>>0?e:n:1073741823){if(n>>>0>=1073741824)break l;e=br(n<<2)}else e=0;f[(i=e+(i<<2)|0)>>2]=_,G=e+(n<<2)|0,M=i+4|0,(0|r)>0&&ge(e,v,r),f[k+32>>2]=G,f[k+28>>2]=M,f[k+24>>2]=e,v&&ee(v),v=e;break u}ii(),E()}break r}f[M>>2]=_,M=M+4|0,f[k+28>>2]=M}f[C>>2]=c,n=r=T}if(_=(0|y)>(0|B),(0|y)==(0|B))break}B=y}if(i=-1,_=f[p+8>>2],!((0|x)<f[_+28>>2]-f[_+24>>2]>>2)){if((0|s)!=(0|T)){for(e=p+60|0,w=p+312|0;;){m=f[(s=s-4|0)>>2],f[k+68>>2]=s;s:if(Wt(w)){if(x=f[p+8>>2],N=f[x>>2],((f[x+4>>2]-N>>2>>>0)/3|0)<=(0|B))break f;if(r=-1,n=-1,y=f[x+24>>2],c=-1,-1!=(0|m)&&(c=-1,-1!=(0|(A=((A=m+1|0)>>>0)%3|0?A:m-2|0))&&(c=f[N+(A<<2)>>2])),-1!=(0|(c=f[y+((A=c)<<2)>>2]))&&-1!=(0|(c=((_=c+1|0)>>>0)%3|0?_:c-2|0))&&(-1!=(0|(r=((r=c+1|0)>>>0)%3|0?r:c-2|0))&&(n=f[N+(r<<2)>>2]),r=c),_=-1,h=-1,c=-1,-1!=(0|(y=f[y+(n<<2)>>2]))&&(c=-1,-1!=(0|(y=((G=y+1|0)>>>0)%3|0?G:y-2|0))&&(-1!=(0|(c=((c=y+1|0)>>>0)%3|0?c:y-2|0))&&(h=f[N+(c<<2)>>2]),c=y)),x=f[x+12>>2],y=d(B,3),f[x+(G=y<<2)>>2]=m,f[x+(m<<2)>>2]=y,f[(R=(m=y+1|0)<<2)+x>>2]=r,f[x+(r<<2)>>2]=m,f[(F=(r=y+2|0)<<2)+x>>2]=c,f[x+(c<<2)>>2]=r,f[N+G>>2]=n,f[(c=N+R|0)>>2]=h,f[(h=N+F|0)>>2]=A,A=m>>>0<y>>>0?-1:n,n=f[p+120>>2],x=f[(N=(A>>>3&536870908)+n|0)>>2],S=N,W=Rr(A)&x,f[S>>2]=W,_=-1!=(0|m)?f[c>>2]:_,A=f[(c=n+(_>>>3&536870908)|0)>>2],S=c,W=Rr(_)&A,f[S>>2]=W,_=-1,_=-1!=(0|r)?f[h>>2]:_,n=f[(r=n+(_>>>3&536870908)|0)>>2],S=r,W=Rr(_)&n,f[S>>2]=W,(0|(_=f[p+64>>2]))==(r=f[p+68>>2])<<5){if((_+1|0)<0)break a;at(e,r=_>>>0<=1073741822?(r<<=6)>>>0<(n=_+32&-32)>>>0?n:r:2147483647),_=f[p+64>>2]}if(B=B+1|0,f[p+64>>2]=_+1,r=f[p+60>>2]+(_>>>3&536870908)|0,f[r>>2]=f[r>>2]|1<<_,(0|(r=f[p+76>>2]))!=f[p+80>>2]){f[r>>2]=y,f[p+76>>2]=r+4;break s}if((r=1+(_=(c=r-(n=f[p+72>>2])|0)>>2)|0)>>>0>=1073741824)break o;if(A=c>>1,A=_>>>0<536870911?r>>>0>A>>>0?r:A:1073741823){if(A>>>0>=1073741824)break r;r=br(A<<2)}else r=0;if(f[(_=r+(_<<2)|0)>>2]=y,(0|c)>0&&ge(r,n,c),f[p+80>>2]=r+(A<<2),f[p+76>>2]=_+4,f[p+72>>2]=r,!n)break s;ee(n)}else{if((0|(r=f[p+64>>2]))==(n=f[p+68>>2])<<5){if((r+1|0)<0)break a;at(e,r=r>>>0<=1073741822?(r=r+32&-32)>>>0>(n<<=6)>>>0?r:n:2147483647),r=f[p+64>>2]}if(f[p+64>>2]=r+1,n=f[p+60>>2]+(r>>>3&536870908)|0,c=f[n>>2],S=n,W=Rr(r)&c,f[S>>2]=W,(0|(r=f[p+76>>2]))==f[p+80>>2]){if((r=1+(A=(c=r-(n=f[p+72>>2])|0)>>2)|0)>>>0>=1073741824)break o;if(y=c>>1,y=A>>>0<536870911?r>>>0>y>>>0?r:y:1073741823){if(y>>>0>=1073741824)break n;r=br(y<<2)}else r=0;f[(A=r+(A<<2)|0)>>2]=m,(0|c)>0&&ge(r,n,c),f[p+80>>2]=r+(y<<2),f[p+76>>2]=A+4,f[p+72>>2]=r,n&&ee(n)}else f[r>>2]=m,f[p+76>>2]=r+4}if((0|s)==(0|T))break}_=f[p+8>>2]}if(((f[_+4>>2]-f[_>>2]>>2>>>0)/3|0)==(0|B))if(B=f[_+24>>2],i=f[_+28>>2]-B>>2,(0|v)!=(0|M))for(n=v;;){if(e=f[n>>2],-1==f[(h=((s=i-1|0)<<2)+B|0)>>2])for(;s=i-2|0,i=i-1|0,-1==f[(h=(s<<2)+B|0)>>2];);if(e>>>0<=s>>>0){if(f[k>>2]=_,B=f[h>>2],o[k+12|0]=1,f[k+8>>2]=B,f[k+4>>2]=B,-1!=(0|B))for(;f[f[_>>2]+(B<<2)>>2]=e,Se(k),_=f[p+8>>2],-1!=(0|(B=f[k+8>>2])););r=(B=f[_+24>>2])+(s<<2)|0,-1!=(0|e)&&(f[(e<<2)+B>>2]=f[r>>2]),f[r>>2]=-1,r=1<<e,e=(c=f[p+120>>2])+(e>>>3&536870908)|0,c=c+(s>>>3&536870908)|0,s=1<<s,f[c>>2]&s?r|=f[e>>2]:r=f[e>>2]&(-1^r),f[e>>2]=r,f[c>>2]=f[c>>2]&(-1^s),i=i-1|0}if((0|M)==(0|(n=n+4|0)))break}else v=M}}if(v&&ee(v),s=f[k+48>>2])for(;e=f[s>>2],ee(s),s=e,e;);e=f[k+40>>2],f[k+40>>2]=0,e&&ee(e),T&&(f[k+68>>2]=T,ee(T)),I=k+96|0;break t}ii(),E()}ii(),E()}Lt(1326)}E()}Lt(1326),E()}if(-1!=(0|i)){s=(e=f[g+16>>2])+f[g>>2]|0,r=(r=f[g+8>>2])-e|0,e=f[f[p+4>>2]+32>>2],a[e+38>>1]=l[e+38>>1],f[e>>2]=s,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=r,f[e+12>>2]=0;t:if(f[p+216>>2]!=f[p+220>>2]&&(e=f[p+8>>2],f[e+4>>2]!=f[e>>2])){for(r=0;;){if(le(p,r)){if(r=r+3|0,e=f[p+8>>2],r>>>0<f[e+4>>2]-f[e>>2]>>2>>>0)continue;break t}break}break e}if(u[p+308|0]&&(o[p+308|0]=0,s=f[p+292>>2],e=0,n=(e=(r=f[p+304>>2]+7|0)>>>0<7?1:e)>>>3|0,e=(r=e<<29|r>>>3)+f[p+288>>2]|0,n=s+n|0,f[p+288>>2]=e,f[p+292>>2]=e>>>0<r>>>0?n+1|0:n),(0|(r=f[p+216>>2]))!=f[p+220>>2])for(;;){if(De(4+((e=d(U,144))+r|0)|0,f[p+8>>2]),v=f[V>>2],(0|(r=f[132+(s=e+v|0)>>2]))!=(0|(s=f[s+136>>2])))for(;Ue(4+(e+v|0)|0,f[r>>2]),v=f[V>>2],(0|s)!=(0|(r=r+4|0)););if(re(4+(e+v|0)|0),U=U+1|0,r=f[p+216>>2],!(U>>>0<(f[p+220>>2]-r|0)/144>>>0))break}if(e=f[p+8>>2],pt(p+184|0,f[e+28>>2]-f[e+24>>2]>>2),(0|(v=f[p+216>>2]))!=f[p+220>>2])for(r=0;e=d(r,144)+v|0,s=f[e+60>>2]-f[e+56>>2]>>2,n=e+104|0,e=f[p+8>>2],pt(n,(0|(e=f[e+28>>2]-f[e+24>>2]>>2))>(0|s)?e:s),r=r+1|0,v=f[p+216>>2],r>>>0<(f[p+220>>2]-v|0)/144>>>0;);U=j(p,i)}}}return I=t- -64|0,0|U},qr,Yr,Pr,he,function(e){ee(he(e|=0))},Ur,it,ot,F,function(e){var t,r=0,i=0,n=0,s=0,c=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,R=0,x=0,N=0,C=0,M=0,G=0,U=0,V=0,F=0,S=0,W=0,Z=0,O=0,P=0;if(I=t=I+-64|0,f[132+(e|=0)>>2]=0,f[e+148>>2]){if(r=f[e+144>>2])for(;p=f[r>>2],ee(r),r=p;);if(r=0,f[e+144>>2]=0,p=f[e+140>>2]){if(p-1>>>0>=3)for(g=-4&p;f[(A=r<<2)+f[e+136>>2]>>2]=0,f[f[e+136>>2]+(4|A)>>2]=0,f[f[e+136>>2]+(8|A)>>2]=0,f[f[e+136>>2]+(12|A)>>2]=0,r=r+4|0,(0|g)!=(0|(k=k+4|0)););if(p&=3)for(;f[f[e+136>>2]+(r<<2)>>2]=0,r=r+1|0,(0|p)!=(0|(i=i+1|0)););}f[e+148>>2]=0}e:{if(Tt(1,t+60|0,f[f[e+4>>2]+32>>2])&&(f[e+156>>2]=f[t+60>>2],Tt(1,t+56|0,f[f[e+4>>2]+32>>2])&&!((i=f[t+56>>2])>>>0>1431655765|b[e+156>>2]>d(i,3)>>>0)&&(p=f[f[e+4>>2]+32>>2],A=f[p+8>>2],!((0|(g=f[p+12>>2]))<=(0|(r=f[p+20>>2]))&(n=A)>>>0<=(A=f[p+16>>2])>>>0|(0|r)>(0|g))&&(g=u[A+f[p>>2]|0],r=(A=A+1|0)?r:r+1|0,f[p+16>>2]=A,f[p+20>>2]=r,Tt(1,t+52|0,p)&&!((R=f[t+52>>2])>>>0>i>>>0|i>>>0>R+((R>>>0)/3|0)>>>0)&&Tt(1,t+48|0,f[f[e+4>>2]+32>>2])&&!((r=f[t+48>>2])>>>0>R>>>0)&&(f[e+28>>2]=f[e+24>>2],yt(A=br(88)),p=f[e+8>>2],f[e+8>>2]=A,(!p||(Mt(p),f[e+8>>2]))&&(f[e+164>>2]=f[e+160>>2],Dt(e+160|0,i),f[e+176>>2]=f[e+172>>2],Dt(e+172|0,i),f[e- -64>>2]=0,f[e+92>>2]=-1,f[e+84>>2]=-1,f[e+88>>2]=-1,f[e+40>>2]=f[e+36>>2],f[e+52>>2]=f[e+48>>2],f[e+76>>2]=f[e+72>>2],Ut(S=e+216|0),q(S,g),et(f[e+8>>2],i,r+f[e+156>>2]|0)&&(p=f[e+156>>2],o[t+8|0]=1,Je(e+120|0,r+p|0,t+8|0),-1!=(0|be(e,f[f[e+4>>2]+32>>2]))))))))){mt(c=e+232|0,e),O=e,P=0|_i[f[f[e>>2]+36>>2]](e),f[O+380>>2]=P,f[e+372>>2]=g,f[e+384>>2]=r+f[e+156>>2],a[38+(r=t+8|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,W=r,g=r,A=0,I=s=I-16|0;t:if(Ie(c+80|0,c)&&Xe(c)&&(r=f[c+4>>2],f[g>>2]=f[c>>2],f[g+4>>2]=r,r=f[c+36>>2],f[g+32>>2]=f[c+32>>2],f[g+36>>2]=r,r=f[c+28>>2],f[g+24>>2]=f[c+24>>2],f[g+28>>2]=r,r=f[c+20>>2],f[g+16>>2]=f[c+16>>2],f[g+20>>2]=r,r=f[c+12>>2],f[g+8>>2]=f[c+8>>2],f[g+12>>2]=r,f[c+176>>2]=2,f[c+180>>2]=7,!((0|(r=f[c+152>>2]))<0))){if(f[s+12>>2]=0,A=2,k=f[c+156>>2],(p=f[c+160>>2]-k>>2)>>>0<r>>>0?(ve(c+156|0,r-p|0,s+12|0),A=f[c+176>>2],i=f[c+180>>2]):(i=7,r>>>0>=p>>>0||(f[c+160>>2]=k+(r<<2))),p=c+184|0,(i=1+(i-A|0)|0)>>>0>(k=((r=f[c+188>>2])-(A=f[c+184>>2])|0)/12|0)>>>0){if((r=i-k|0)>>>0<=((n=f[p+8>>2])-(A=f[p+4>>2])|0)/12>>>0)r&&(A=Ye(A,0,r=d((d(r,12)-12>>>0)/12|0,12)+12|0)+r|0),f[p+4>>2]=A;else{r:{i:{n:{if((i=(w=(A-(k=f[p>>2])|0)/12|0)+r|0)>>>0<357913942){if(T=(n=(n-k|0)/12|0)<<1,n=n>>>0<178956970?i>>>0>T>>>0?i:T:357913941){if(n>>>0>=357913942)break n;_=br(d(n,12))}if(w=(r=Ye(i=d(w,12)+_|0,0,w=d((d(r,12)-12>>>0)/12|0,12)+12|0))+w|0,_=d(n,12)+_|0,(0|A)==(0|k))break i;for(;A=A-12|0,f[(i=i-12|0)>>2]=f[A>>2],f[i+4>>2]=f[A+4>>2],f[i+8>>2]=f[A+8>>2],f[A+8>>2]=0,f[A>>2]=0,f[A+4>>2]=0,(0|A)!=(0|k););if(f[p+8>>2]=_,r=f[p+4>>2],f[p+4>>2]=w,A=f[p>>2],f[p>>2]=i,(0|r)==(0|A))break r;for(;(k=f[(i=r-12|0)>>2])&&(f[r-8>>2]=k,ee(k)),(0|(r=i))!=(0|A););break r}break e}Lt(1326),E()}f[p+8>>2]=_,f[p+4>>2]=w,f[p>>2]=r}A&&ee(A)}i=f[c+188>>2]}else if(i>>>0>=k>>>0)i=r;else{if((0|r)!=(0|(i=A+d(i,12)|0)))for(;(k=f[(A=r-12|0)>>2])&&(f[r-8>>2]=k,ee(k)),(0|(r=A))!=(0|i););f[c+188>>2]=i}if(_=c+196|0,r=(i-(A=f[c+184>>2])|0)/12|0,n=f[c+196>>2],r>>>0>(k=f[c+200>>2]-n>>2)>>>0?(st(_,r-k|0),A=f[c+184>>2],i=f[c+188>>2]):r>>>0>=k>>>0||(f[c+200>>2]=n+(r<<2)),(0|i)!=(0|A)){for(r=0;;){if(Tt(1,s+8|0,g)&&(A=f[s+8>>2],i=f[c+148>>2],!(A>>>0>(f[i+4>>2]-f[i>>2]>>2>>>0)/3>>>0))){if(A&&(i=f[p>>2],T=d(r,12),n=f[(k=i+T|0)>>2],(w=f[k+4>>2]-n>>2)>>>0<A>>>0?(st(k,A-w|0),i=f[p>>2]):A>>>0>=w>>>0||(f[k+4>>2]=n+(A<<2)),D(A,1,g,f[i+T>>2]),f[f[_>>2]+(r<<2)>>2]=A),A=1,(r=r+1|0)>>>0<(f[c+188>>2]-f[c+184>>2]|0)/12>>>0)continue;break t}break}A=0}else A=1}I=s+16|0;t:if(A){i=0,r=0,A=0,T=0,p=0,g=0,k=0,w=0,I=y=I-96|0,f[y+72>>2]=0,f[y+64>>2]=0,f[y+68>>2]=0,f[y+48>>2]=0,f[y+52>>2]=0,f[y+40>>2]=0,f[y+44>>2]=0,f[y+56>>2]=1065353216,f[y+32>>2]=0,f[y+24>>2]=0,f[y+28>>2]=0,_=1,c=e,M=f[e+124>>2];r:{i:{n:{o:if(!((0|R)<=0)){U=c+232|0,Z=f[c+216>>2]!=f[c+220>>2];a:{for(;;){k=(e=k)+1|0;f:{s:{c:{if(-1!=(0|(n=f[c+404>>2]))){if(s=-1,h=f[c+428>>2]+(n<<2)|0,n=(m=f[h>>2])-1|0,f[h>>2]=n,(0|m)<=0)break n;if(h=f[f[f[c+416>>2]+d(f[c+404>>2],12)>>2]+(n<<2)>>2],n=f[8928+(h<<2)>>2],f[c+400>>2]=n,!h){if((0|i)==(0|p))break n;n=-1,_=f[c+8>>2],B=f[_+24>>2],r=-1,-1!=(0|(s=f[(x=i-4|0)>>2]))&&(r=-1,-1!=(0|(m=((m=s+1|0)>>>0)%3|0?m:s-2|0))&&(r=f[f[_>>2]+(m<<2)>>2])),-1!=(0|(h=f[B+(r<<2)>>2]))&&(n=((n=h+1|0)>>>0)%3|0?n:h-2|0),m=f[_+12>>2],e=(h=d(e,3))+1|0,f[m+(s<<2)>>2]=e,f[(C=e<<2)+m>>2]=s,v=h+2|0,f[m+(n<<2)>>2]=v,f[(G=v<<2)+m>>2]=n,m=-1,e=-1;u:if(-1!=(0|s)){if((s>>>0)%3|0)s=s-1|0;else if(e=-1,-1==(0|(s=s+2|0)))break u;e=f[f[_>>2]+(s<<2)>>2]}if(-1!=(0|n)&&-1!=(0|(s=((s=n+1|0)>>>0)%3|0?s:n-2|0))&&(m=f[f[_>>2]+(s<<2)>>2]),s=-1,(0|e)==(0|r)|(0|r)==(0|m))break n;s=f[_>>2],f[s+(h<<2)>>2]=r,f[s+C>>2]=m,f[s+G>>2]=e,-1!=(0|e)&&(f[B+(e<<2)>>2]=v),e=f[c+120>>2]+(r>>>3&536870908)|0,s=f[e>>2],O=e,P=Rr(r)&s,f[O>>2]=P,f[x>>2]=h,r=p,me(U,h);break f}u:switch(n-1|0){case 2:case 4:if((0|i)==(0|p))break n;if(n=f[c+8>>2],s=f[n+12>>2],x=(B=((v=3==(0|h))?2:1)+(h=d(e,3))|0)<<2,r=f[(C=i-4|0)>>2],f[s+x>>2]=r,f[s+(r<<2)>>2]=B,At(n+24|0),s=-1,i=f[c+8>>2],m=f[i+24>>2],(0|M)<f[i+28>>2]-m>>2)break n;if(i=f[i>>2],n=((s=f[n+28>>2]-f[n+24>>2]|0)>>2)-1|0,f[i+x>>2]=n,s&&(f[m+(n<<2)>>2]=B),s=v?h:h+2|0,B=i+(h+v<<2)|0,-1!=(0|r)){l:{b:{if((r>>>0)%3|0)n=r-1|0;else if(-1==(0|(n=r+2|0)))break b;if(n=f[i+(n<<2)>>2],f[i+(s<<2)>>2]=n,-1==(0|n))break l;f[m+(n<<2)>>2]=s;break l}f[i+(s<<2)>>2]=-1}r=((n=r+1|0)>>>0)%3|0?n:r-2|0,n=-1,-1!=(0|r)&&(n=f[i+(r<<2)>>2])}else f[i+(s<<2)>>2]=-1,n=-1;f[B>>2]=n,f[C>>2]=h,r=p;break s;case 6:break c;case 0:break u;default:break n}if((0|r)==(0|i))break n;m=f[(A=i-4|0)>>2],f[y+68>>2]=A;u:if((v=f[y+44>>2])&&(s=f[y+40>>2],n=e&v+2147483647,(B=Er(v)>>>0>1)&&(n=e,e>>>0<v>>>0||(n=(e>>>0)%(v>>>0)|0)),(s=f[s+((h=n)<<2)>>2])&&(s=f[s>>2]))){l:{if(!B){for(n=v-1|0;;){b:{if((0|(v=f[s+4>>2]))!=(0|e)){if((0|h)==(n&v))break b;break u}if((0|e)==f[s+8>>2])break l}if(!(s=f[s>>2]))break}break u}for(;;){b:{if((0|(n=f[s+4>>2]))!=(0|e)){if(n>>>0>=v>>>0&&(n=(n>>>0)%(v>>>0)|0),(0|n)==(0|h))break b;break u}if((0|e)==f[s+8>>2])break l}if(!(s=f[s>>2]))break}break u}if((0|A)==(0|N)){if((p=1+(n=(i=N-r|0)>>2)|0)>>>0>=1073741824)break e;if(A=i>>1,A=n>>>0<536870911?A>>>0<p>>>0?p:A:1073741823){if(A>>>0>=1073741824)break i;p=br(A<<2)}else p=0;f[(n=p+(n<<2)|0)>>2]=f[s+12>>2],N=(A<<2)+p|0,A=n+4|0,(0|i)>0&&ge(p,r,i),f[y+72>>2]=N,f[y+68>>2]=A,f[y+64>>2]=p,r&&ee(r),r=p}else f[A>>2]=f[s+12>>2],f[y+68>>2]=i,A=i}if((0|r)==(0|A))break a;if(s=-1==(0|(i=f[(C=A-4|0)>>2])),h=f[c+8>>2],!s&-1!=f[f[h+12>>2]+(i<<2)>>2])break a;if(v=f[h+12>>2],-1!=(0|m)&-1!=f[v+(m<<2)>>2])break a;x=(B=d(e,3))+2|0,f[v+(i<<2)>>2]=x,f[(e=x<<2)+v>>2]=i,_=B+1|0,f[v+(m<<2)>>2]=_,f[v+(G=_<<2)>>2]=m;u:{l:{b:{if(!s){if((i>>>0)%3|0){n=i-1|0;break b}if(-1!=(0|(n=i+2|0)))break b;_=f[h>>2],n=-1;break l}n=-1,_=f[h>>2],f[_+(B<<2)>>2]=-1,s=-1;break u}_=f[h>>2],n=f[_+(n<<2)>>2]}f[(B<<2)+_>>2]=n,i=((s=i+1|0)>>>0)%3|0?s:i-2|0,s=-1,-1!=(0|i)&&(s=f[(i<<2)+_>>2])}if(f[_+G>>2]=s,-1!=(0|m)){u:{l:{if((m>>>0)%3|0)s=m-1|0;else if(-1==(0|(s=m+2|0)))break l;if(i=e+_|0,e=f[(s<<2)+_>>2],f[i>>2]=e,-1==(0|e))break u;f[f[h+24>>2]+(e<<2)>>2]=x;break u}f[e+_>>2]=-1}s=-1,i=-1,-1!=(0|(e=((e=m+1|0)>>>0)%3|0?e:m-2|0))&&(s=e,i=f[(e<<2)+_>>2])}else f[e+_>>2]=-1,s=-1,i=-1;x=(e=f[c+388>>2])+(m=n<<2)|0,G=e,e=i<<2,f[x>>2]=f[x>>2]+f[G+e>>2],e=(h=f[h+24>>2])+e|0,-1!=(0|n)&&(f[h+m>>2]=f[e>>2]);u:if(-1!=(0|s))for(;;){if(f[(s<<2)+_>>2]=n,-1==(0|(s=((h=s+1|0)>>>0)%3|0?h:s-2|0)))break u;if(-1==(0|(s=f[v+(s<<2)>>2])))break u;if(-1==(0|(s=((h=s+1|0)>>>0)%3|0?h:s-2|0)))break}f[e>>2]=-1;u:if(!Z){if((0|w)==(0|V)){l:{if((g=1+(_=(e=V-T|0)>>2)|0)>>>0<1073741824){if(s=e>>1,s=_>>>0<536870911?s>>>0<g>>>0?g:s:1073741823){if(s>>>0>=1073741824)break l;g=br(s<<2)}else g=0;f[(_=g+(_<<2)|0)>>2]=i,V=(s<<2)+g|0,w=_+4|0,(0|e)>0&&ge(g,T,e),f[y+32>>2]=V,f[y+28>>2]=w,f[y+24>>2]=g,T&&ee(T),T=g;break u}break e}break i}f[w>>2]=i,w=w+4|0,f[y+28>>2]=w}f[C>>2]=B,i=A,me(U,B);break f}f[c+400>>2]=7}if(At((h=f[c+8>>2])+24|0),s=-1,n=f[c+8>>2],A=d(e,3),B=(h=(m=f[h+28>>2]-f[h+24>>2]|0)>>2)-1|0,f[f[n>>2]+(A<<2)>>2]=B,At(n+24|0),v=A+1|0,f[f[n>>2]+(v<<2)>>2]=(f[n+28>>2]-f[n+24>>2]>>2)-1,At((n=f[c+8>>2])+24|0),x=A+2|0,f[f[n>>2]+(x<<2)>>2]=(f[n+28>>2]-f[n+24>>2]>>2)-1,C=f[c+8>>2],n=f[C+24>>2],(0|M)<f[C+28>>2]-n>>2)break n;c:{if(m){if(f[n+(B<<2)>>2]=A,s=0,-4!=(0|m)&&(f[n+(h<<2)>>2]=v,-1==(0|(s=h+1|0))))break c}else f[n+(h<<2)>>2]=v,s=1;f[n+(s<<2)>>2]=x}if((0|i)==(0|N)){if((r=1+(n=(i=N-p|0)>>2)|0)>>>0>=1073741824)break e;if(s=i>>1,s=n>>>0<536870911?r>>>0>s>>>0?r:s:1073741823){if(s>>>0>=1073741824)break i;r=br(s<<2)}else r=0;f[(n=r+(n<<2)|0)>>2]=A,N=(s<<2)+r|0,A=n+4|0,(0|i)>0&&ge(r,p,i),f[y+72>>2]=N,f[y+68>>2]=A,f[y+64>>2]=r,p&&ee(p),p=r}else f[i>>2]=A,A=i+4|0,f[y+68>>2]=A}me(U,f[A-4>>2]);s:if((0|(s=f[c+40>>2]))!=f[c+36>>2])for(n=R+(-1^e)|0,h=A-4|0;;){if((e=f[s-8>>2])>>>0>n>>>0)break a;if((0|e)!=(0|n))break s;if(m=u[s-4|0],i=f[(e=s-12|0)>>2],f[c+40>>2]=e,(0|i)<0)break a;e=f[h>>2],f[y+20>>2]=R+(-1^i),i=y+20|0,f[y+88>>2]=i,te(y,y+40|0,i,y+88|0),s=f[y>>2];c:if(1&m){if(i=-1,-1==(0|e))break c;i=((i=e+1|0)>>>0)%3|0?i:e-2|0}else i=-1,-1!=(0|e)&&(i=e-1|0,(e>>>0)%3|0||(i=e+2|0));if(f[s+12>>2]=i,(0|(s=f[c+40>>2]))==f[c+36>>2])break}i=A}if(_=(0|k)<(0|R),(0|k)==(0|R))break}k=R;break o}if(s=-1,1&_)break n}if(s=-1,i=f[c+8>>2],!((0|M)<f[i+28>>2]-f[i+24>>2]>>2)){if((0|A)!=(0|p)){for(R=c+60|0,B=c+312|0;;){h=f[(A=A-4|0)>>2],f[y+68>>2]=A;o:if(Wt(B)){if(v=f[c+8>>2],m=f[v>>2],((f[v+4>>2]-m>>2>>>0)/3|0)<=(0|k))break n;if(r=-1,e=-1,n=f[v+24>>2],i=-1,-1!=(0|h)&&(i=-1,-1!=(0|(T=((T=h+1|0)>>>0)%3|0?T:h-2|0))&&(i=f[m+(T<<2)>>2])),-1!=(0|(i=f[n+((T=i)<<2)>>2]))&&-1!=(0|(i=((_=i+1|0)>>>0)%3|0?_:i-2|0))&&(-1!=(0|(r=((r=i+1|0)>>>0)%3|0?r:i-2|0))&&(e=f[m+(r<<2)>>2]),r=i),N=-1,_=-1,i=-1,-1!=(0|(n=f[n+(e<<2)>>2]))&&(i=-1,-1!=(0|(n=((M=n+1|0)>>>0)%3|0?M:n-2|0))&&(_=n,i=-1!=(0|(i=((i=n+1|0)>>>0)%3|0?i:n-2|0))?f[m+(i<<2)>>2]:-1)),n=f[v+12>>2],v=d(k,3),f[n+(M=v<<2)>>2]=h,f[n+(h<<2)>>2]=v,f[(U=(h=v+1|0)<<2)+n>>2]=r,f[n+(r<<2)>>2]=h,f[(V=(r=v+2|0)<<2)+n>>2]=_,f[n+(_<<2)>>2]=r,f[m+M>>2]=e,f[(_=m+U|0)>>2]=i,f[(i=m+V|0)>>2]=T,n=h>>>0<v>>>0?-1:e,e=f[c+120>>2],m=f[(T=(n>>>3&536870908)+e|0)>>2],O=T,P=Rr(n)&m,f[O>>2]=P,N=-1!=(0|h)?f[_>>2]:N,n=f[(_=e+(N>>>3&536870908)|0)>>2],O=_,P=Rr(N)&n,f[O>>2]=P,n=-1,n=-1!=(0|r)?f[i>>2]:n,r=f[(e=e+(n>>>3&536870908)|0)>>2],O=e,P=Rr(n)&r,f[O>>2]=P,(0|(n=f[c+64>>2]))==(e=f[c+68>>2])<<5){if((n+1|0)<0)break e;at(R,e=n>>>0<=1073741822?(e<<=6)>>>0<(r=n+32&-32)>>>0?r:e:2147483647),n=f[c+64>>2]}if(k=k+1|0,f[c+64>>2]=n+1,e=f[c+60>>2]+(n>>>3&536870908)|0,f[e>>2]=f[e>>2]|1<<n,(0|(e=f[c+76>>2]))!=f[c+80>>2]){f[e>>2]=v,f[c+76>>2]=e+4;break o}if((e=1+(n=(i=e-(r=f[c+72>>2])|0)>>2)|0)>>>0>=1073741824)break e;if(_=i>>1,_=n>>>0<536870911?e>>>0>_>>>0?e:_:1073741823){if(_>>>0>=1073741824)break i;e=br(_<<2)}else e=0;if(f[(n=e+(n<<2)|0)>>2]=v,(0|i)>0&&ge(e,r,i),f[c+80>>2]=e+(_<<2),f[c+76>>2]=n+4,f[c+72>>2]=e,!r)break o;ee(r)}else{if((0|(i=f[c+64>>2]))==(e=f[c+68>>2])<<5){if((i+1|0)<0)break e;at(R,e=i>>>0<=1073741822?(e<<=6)>>>0<(r=i+32&-32)>>>0?r:e:2147483647),i=f[c+64>>2]}if(f[c+64>>2]=i+1,e=f[c+60>>2]+(i>>>3&536870908)|0,r=f[e>>2],O=e,P=Rr(i)&r,f[O>>2]=P,(0|(e=f[c+76>>2]))==f[c+80>>2]){if((e=1+(n=(i=e-(r=f[c+72>>2])|0)>>2)|0)>>>0>=1073741824)break e;if(_=i>>1,_=n>>>0<536870911?e>>>0>_>>>0?e:_:1073741823){if(_>>>0>=1073741824)break i;e=br(_<<2)}else e=0;f[(n=e+(n<<2)|0)>>2]=h,(0|i)>0&&ge(e,r,i),f[c+80>>2]=e+(_<<2),f[c+76>>2]=n+4,f[c+72>>2]=e,r&&ee(r)}else f[e>>2]=h,f[c+76>>2]=e+4}if((0|A)==(0|p))break}i=f[c+8>>2]}if(((f[i+4>>2]-f[i>>2]>>2>>>0)/3|0)==(0|k))if(n=f[i+24>>2],s=f[i+28>>2]-n>>2,(0|g)!=(0|w))for(e=g;;){if(r=f[e>>2],-1==f[(_=((A=s-1|0)<<2)+n|0)>>2])for(;A=s-2|0,s=s-1|0,-1==f[(_=(A<<2)+n|0)>>2];);if(r>>>0<=A>>>0){if(f[y>>2]=i,n=f[_>>2],o[y+12|0]=1,f[y+8>>2]=n,f[y+4>>2]=n,-1!=(0|n))for(;f[f[i>>2]+(n<<2)>>2]=r,Se(y),i=f[c+8>>2],-1!=(0|(n=f[y+8>>2])););k=(n=f[i+24>>2])+(A<<2)|0,-1!=(0|r)&&(f[(r<<2)+n>>2]=f[k>>2]),f[k>>2]=-1,k=1<<r,r=(R=f[c+120>>2])+(r>>>3&536870908)|0,R=R+(A>>>3&536870908)|0,A=1<<A,f[R>>2]&A?k|=f[r>>2]:k=f[r>>2]&(-1^k),f[r>>2]=k,f[R>>2]=f[R>>2]&(-1^A),s=s-1|0}if((0|w)==(0|(e=e+4|0)))break}else g=w}}if(g&&ee(g),e=f[y+48>>2])for(;r=f[e>>2],ee(e),e=r;);e=f[y+40>>2],f[y+40>>2]=0,e&&ee(e),p&&(f[y+68>>2]=p,ee(p)),I=y+96|0;break r}Lt(1326),E()}if(-1!=(0|s)){r=(e=f[W+16>>2])+f[W>>2]|0,p=(p=f[W+8>>2])-e|0,e=f[f[c+4>>2]+32>>2],a[e+38>>1]=l[e+38>>1],f[e>>2]=r,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=p,f[e+12>>2]=0;r:if(f[c+216>>2]!=f[c+220>>2]&&(e=f[c+8>>2],f[e+4>>2]!=f[e>>2])){for(r=0;;){if(le(c,r)){if(r=r+3|0,e=f[c+8>>2],r>>>0<f[e+4>>2]-f[e>>2]>>2>>>0)continue;break r}break}break t}if(u[c+308|0]&&(o[c+308|0]=0,r=f[c+292>>2],e=0,i=(e=(p=f[c+304>>2]+7|0)>>>0<7?1:e)>>>3|0,e=(p=e<<29|p>>>3)+f[c+288>>2]|0,r=r+i|0,f[c+288>>2]=e,f[c+292>>2]=e>>>0<p>>>0?r+1|0:r),(0|(r=f[c+216>>2]))!=f[c+220>>2])for(;;){if(De(4+((e=d(F,144))+r|0)|0,f[c+8>>2]),i=f[S>>2],(0|(r=f[132+(p=e+i|0)>>2]))!=(0|(p=f[p+136>>2])))for(;Ue(4+(e+i|0)|0,f[r>>2]),i=f[S>>2],(0|p)!=(0|(r=r+4|0)););if(re(4+(e+i|0)|0),F=F+1|0,r=f[c+216>>2],!(F>>>0<(f[c+220>>2]-r|0)/144>>>0))break}if(e=f[c+8>>2],pt(c+184|0,f[e+28>>2]-f[e+24>>2]>>2),(0|(i=f[c+216>>2]))!=f[c+220>>2])for(r=0;e=d(r,144)+i|0,p=f[e+60>>2]-f[e+56>>2]>>2,i=e+104|0,e=f[c+8>>2],pt(i,(0|(e=f[e+28>>2]-f[e+24>>2]>>2))>(0|p)?e:p),r=r+1|0,i=f[c+216>>2],r>>>0<(f[c+220>>2]-i|0)/144>>>0;);F=j(c,s)}}}return I=t- -64|0,0|F}ii(),E()},qr,Yr,Pr,ar,function(e){var t=0;f[(e|=0)>>2]=8652,(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),f[e>>2]=8904,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),ee(e)},ht,function(e){var t=0;return f[(e|=0)>>2]=8904,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),0|e},function(e){var t=0;f[(e|=0)>>2]=8904,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),ee(e)},function(e){var t=0;return f[8+(e|=0)>>2]=9168,f[e>>2]=8956,(t=f[e+96>>2])&&(f[e+100>>2]=t,ee(t)),(t=f[e+80>>2])&&(f[e+84>>2]=t,ee(t)),(t=f[e+68>>2])&&(f[e+72>>2]=t,ee(t)),(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),f[e+8>>2]=9404,(t=f[e+44>>2])&&ee(t),(t=f[e+32>>2])&&ee(t),0|e},function(e){var t=0;f[8+(e|=0)>>2]=9168,f[e>>2]=8956,(t=f[e+96>>2])&&(f[e+100>>2]=t,ee(t)),(t=f[e+80>>2])&&(f[e+84>>2]=t,ee(t)),(t=f[e+68>>2])&&(f[e+72>>2]=t,ee(t)),(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),f[e+8>>2]=9404,(t=f[e+44>>2])&&ee(t),(t=f[e+32>>2])&&ee(t),ee(e)},function(e,t){t|=0;var r,i,n,a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0;if(i=f[12+(e|=0)>>2],a=f[e+108>>2],c=f[a+80>>2],o[t+84|0]=0,u=f[t+68>>2],(s=f[t+72>>2]-u>>2)>>>0<c>>>0?(ve(t+68|0,c-s|0,9156),a=f[e+108>>2],c=f[a+80>>2]):c>>>0>=s>>>0||(f[t+72>>2]=u+(c<<2)),r=f[a+96>>2],!(a=f[a+100>>2]-r|0))return 1;n=(a=(0|a)/12|0)>>>0>1?a:1,a=0;e:{for(;;){if(1431655765==(0|a))break e;if(s=f[i>>2]+(d(a,3)<<2)|0,-1==(0|(b=f[s>>2])))break e;if(u=d(a,12)+r|0,(l=f[u>>2])>>>0>=c>>>0)break e;if(p=f[f[e+112>>2]+12>>2],(A=f[p+(b<<2)>>2])>>>0>=c>>>0)break e;if(b=f[t+68>>2],f[b+(l<<2)>>2]=A,-1==(0|(l=f[s+4>>2])))break e;if((A=f[u+4>>2])>>>0>=c>>>0)break e;if((l=f[(l<<2)+p>>2])>>>0>=c>>>0)break e;if(f[b+(A<<2)>>2]=l,-1==(0|(s=f[s+8>>2])))break e;if((u=f[u+8>>2])>>>0>=c>>>0)break e;if((s=f[(s<<2)+p>>2])>>>0>=c>>>0)break e;if(f[b+(u<<2)>>2]=s,(0|n)==(0|(a=a+1|0)))break}return 1}return 0},function(e){var t,r=0,i=0,n=0,o=0,a=0,s=0;I=t=I-16|0,r=f[4+(e|=0)>>2],n=f[r>>2];e:{if(i=f[e+12>>2],!((o=(i=f[i+28>>2]-f[i+24>>2]|0)>>2)>>>0<=f[r+8>>2]-n>>2>>>0)){if((0|i)<0)break e;a=f[r+4>>2],s=(i=br(i))+(o<<2)|0,a=(o=a-n|0)+i|0,(0|o)>0&&ge(i,n,o),f[r+8>>2]=s,f[r+4>>2]=a,f[r>>2]=i,n&&ee(n)}r=f[e+12>>2],n=f[r+28>>2],r=f[r+24>>2],f[t+12>>2]=0,r=n-r>>2,o=f[(i=e+96|0)>>2],r>>>0>(n=f[e+100>>2]-o>>2)>>>0?ve(i,r-n|0,t+12|0):r>>>0>=n>>>0||(f[e+100>>2]=o+(r<<2)),o=e+8|0;t:if(r=f[e+116>>2]){if((0|(i=f[r>>2]))==f[r+4>>2]){n=1;break t}for(r=0;;){if(!(n=O(o,f[(r<<2)+i>>2])))break t;if(a=f[e+116>>2],i=f[a>>2],!((r=r+1|0)>>>0<f[a+4>>2]-i>>2>>>0))break}}else if(n=1,e=f[e+12>>2],!((e=f[e+4>>2]-f[e>>2]>>2)>>>0<3))for(e=(e>>>0)/3|0,r=0;;){if(!(n=O(o,d(r,3))))break t;if((0|e)==(0|(r=r+1|0)))break}return I=t+16|0,0|n}Lt(1326),E()},function(e){var t=0;return f[(e|=0)>>2]=9168,(t=f[e+88>>2])&&(f[e+92>>2]=t,ee(t)),(t=f[e+72>>2])&&(f[e+76>>2]=t,ee(t)),(t=f[e+60>>2])&&(f[e- -64>>2]=t,ee(t)),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),f[e>>2]=9404,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),0|e},function(e){var t=0;f[(e|=0)>>2]=9168,(t=f[e+88>>2])&&(f[e+92>>2]=t,ee(t)),(t=f[e+72>>2])&&(f[e+76>>2]=t,ee(t)),(t=f[e+60>>2])&&(f[e- -64>>2]=t,ee(t)),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),f[e>>2]=9404,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),ee(e)},function(e,t,r){t|=0,r|=0;var i,n=0;I=i=I-16|0,f[4+(e|=0)>>2]=t,n=f[t>>2],t=f[t+4>>2],o[i+15|0]=0,Je(e+24|0,(t-n>>2>>>0)/3|0,i+15|0),t=f[e+4>>2],n=f[t+28>>2],t=f[t+24>>2],o[i+14|0]=0,Je(e+36|0,n-t>>2,i+14|0),t=f[r+12>>2],f[e+16>>2]=f[r+8>>2],f[e+20>>2]=t,t=f[r+4>>2],f[e+8>>2]=f[r>>2],f[e+12>>2]=t,I=i+16|0},function(e){var t=0;return f[(e|=0)>>2]=9404,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),0|e},function(e){var t=0;f[(e|=0)>>2]=9404,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),ee(e)},function(e){var t=0;return f[8+(e|=0)>>2]=9588,f[e>>2]=9424,(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),f[e+8>>2]=9404,(t=f[e+44>>2])&&ee(t),(t=f[e+32>>2])&&ee(t),0|e},function(e){var t=0;f[8+(e|=0)>>2]=9588,f[e>>2]=9424,(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),f[e+8>>2]=9404,(t=f[e+44>>2])&&ee(t),(t=f[e+32>>2])&&ee(t),ee(e)},function(e,t){t|=0;var r,i,n,a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0;if(i=f[12+(e|=0)>>2],a=f[e+68>>2],c=f[a+80>>2],o[t+84|0]=0,u=f[t+68>>2],(s=f[t+72>>2]-u>>2)>>>0<c>>>0?(ve(t+68|0,c-s|0,9156),a=f[e+68>>2],c=f[a+80>>2]):c>>>0>=s>>>0||(f[t+72>>2]=u+(c<<2)),r=f[a+96>>2],!(a=f[a+100>>2]-r|0))return 1;n=(a=(0|a)/12|0)>>>0>1?a:1,a=0;e:{for(;;){if(1431655765==(0|a))break e;if(s=f[i>>2]+(d(a,3)<<2)|0,-1==(0|(b=f[s>>2])))break e;if(u=d(a,12)+r|0,(l=f[u>>2])>>>0>=c>>>0)break e;if(p=f[f[e+72>>2]+12>>2],(A=f[p+(b<<2)>>2])>>>0>=c>>>0)break e;if(b=f[t+68>>2],f[b+(l<<2)>>2]=A,-1==(0|(l=f[s+4>>2])))break e;if((A=f[u+4>>2])>>>0>=c>>>0)break e;if((l=f[(l<<2)+p>>2])>>>0>=c>>>0)break e;if(f[b+(A<<2)>>2]=l,-1==(0|(s=f[s+8>>2])))break e;if((u=f[u+8>>2])>>>0>=c>>>0)break e;if((s=f[(s<<2)+p>>2])>>>0>=c>>>0)break e;if(f[b+(u<<2)>>2]=s,(0|n)==(0|(a=a+1|0)))break}return 1}return 0},function(e){var t=0,r=0,i=0,n=0,o=0,a=0;t=f[4+(e|=0)>>2],i=f[t>>2];e:{if(r=f[e+12>>2],!((n=(r=f[r+28>>2]-f[r+24>>2]|0)>>2)>>>0<=f[t+8>>2]-i>>2>>>0)){if((0|r)<0)break e;o=f[t+4>>2],a=(r=br(r))+(n<<2)|0,o=(n=o-i|0)+r|0,(0|n)>0&&ge(r,i,n),f[t+8>>2]=a,f[t+4>>2]=o,f[t>>2]=r,i&&ee(i)}n=e+8|0;t:if(t=f[e+76>>2]){if((0|(i=f[t>>2]))==f[t+4>>2])return 1;for(t=0;;){if(!(r=oe(n,f[(t<<2)+i>>2])))break t;if(o=f[e+76>>2],i=f[o>>2],!((t=t+1|0)>>>0<f[o+4>>2]-i>>2>>>0))break}}else if(r=1,e=f[e+12>>2],!((e=f[e+4>>2]-f[e>>2]>>2)>>>0<3))for(e=(e>>>0)/3|0,t=0;;){if(!(r=oe(n,d(t,3))))break t;if((0|e)==(0|(t=t+1|0)))break}return 0|r}Lt(1326),E()},function(e){var t=0;return f[(e|=0)>>2]=9588,(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),f[e>>2]=9404,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),0|e},function(e){var t=0;f[(e|=0)>>2]=9588,(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),f[e>>2]=9404,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),ee(e)},function(e){var t=0;return f[8+(e|=0)>>2]=8652,f[e>>2]=9716,(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),f[e+8>>2]=8904,(t=f[e+44>>2])&&ee(t),(t=f[e+32>>2])&&ee(t),0|e},function(e){var t=0;f[8+(e|=0)>>2]=8652,f[e>>2]=9716,(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),f[e+8>>2]=8904,(t=f[e+44>>2])&&ee(t),(t=f[e+32>>2])&&ee(t),ee(e)},function(e,t){t|=0;var r,i,n,a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0;if(b=f[12+(e|=0)>>2],a=f[e+68>>2],c=f[a+80>>2],o[t+84|0]=0,l=f[t+68>>2],(s=f[t+72>>2]-l>>2)>>>0<c>>>0?(ve(t+68|0,c-s|0,9156),a=f[e+68>>2],c=f[a+80>>2]):c>>>0>=s>>>0||(f[t+72>>2]=l+(c<<2)),r=f[a+96>>2],!(a=f[a+100>>2]-r|0))return 1;i=(a=(0|a)/12|0)>>>0>1?a:1,n=f[b+28>>2],a=0;e:{for(;;){if(s=(d(a,3)<<2)+n|0,-1==(0|(l=f[s>>2])))break e;if(b=d(a,12)+r|0,(A=f[b>>2])>>>0>=c>>>0)break e;if(u=l<<2,l=f[f[e+72>>2]+12>>2],(u=f[u+l>>2])>>>0>=c>>>0)break e;if(p=A<<2,A=f[t+68>>2],f[p+A>>2]=u,-1==(0|(u=f[s+4>>2])))break e;if((p=f[b+4>>2])>>>0>=c>>>0)break e;if((u=f[l+(u<<2)>>2])>>>0>=c>>>0)break e;if(f[A+(p<<2)>>2]=u,-1==(0|(s=f[s+8>>2])))break e;if((b=f[b+8>>2])>>>0>=c>>>0)break e;if((s=f[l+(s<<2)>>2])>>>0>=c>>>0)break e;if(f[A+(b<<2)>>2]=s,(0|i)==(0|(a=a+1|0)))break}return 1}return 0},function(e){var t=0,r=0,i=0,n=0,o=0,a=0;t=f[4+(e|=0)>>2],i=f[t>>2];e:{if(r=f[e+12>>2],!((n=(r=f[r+56>>2]-f[r+52>>2]|0)>>2)>>>0<=f[t+8>>2]-i>>2>>>0)){if((0|r)<0)break e;o=f[t+4>>2],a=(r=br(r))+(n<<2)|0,o=(n=o-i|0)+r|0,(0|n)>0&&ge(r,i,n),f[t+8>>2]=a,f[t+4>>2]=o,f[t>>2]=r,i&&ee(i)}n=e+8|0;t:if(t=f[e+76>>2]){if((0|(i=f[t>>2]))==f[t+4>>2])return 1;for(t=0;;){if(!(r=ie(n,f[(t<<2)+i>>2])))break t;if(o=f[e+76>>2],i=f[o>>2],!((t=t+1|0)>>>0<f[o+4>>2]-i>>2>>>0))break}}else if(r=1,e=f[f[e+12>>2]+64>>2],!((e=f[e+4>>2]-f[e>>2]>>2)>>>0<3))for(e=(e>>>0)/3|0,t=0;;){if(!(r=ie(n,d(t,3))))break t;if((0|e)==(0|(t=t+1|0)))break}return 0|r}Lt(1326),E()},function(e){var t,r=0,i=0;if(f[(e|=0)>>2]=10064,(r=f[e+20>>2])&&(f[e+24>>2]=r,ee(r)),t=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|t)!=(0|i););r=f[e+8>>2]}f[e+12>>2]=t,ee(r)}ee(e)},function(e,t){e|=0,t|=0;var r=0,i=0,n=0,o=0,a=0,s=0;o=br(64),r=br(12),f[r+8>>2]=f[f[e+4>>2]+80>>2],f[r>>2]=1e4,f[r+4>>2]=0,o=Zt(o,r);e:{if((0|t)<0)r=o;else{if(s=e+8|0,!((0|(a=(r=f[e+12>>2])-(n=f[e+8>>2])>>2))>(0|t)))if(i=t+1|0,t>>>0>=a>>>0)je(s,i-a|0);else if(!(i>>>0>=a>>>0)){if((0|(n=n+(i<<2)|0))!=(0|r))for(;i=f[(r=r-4|0)>>2],f[r>>2]=0,i&&_i[f[f[i>>2]+4>>2]](i),(0|r)!=(0|n););f[e+12>>2]=n}if(e=f[s>>2]+(t<<2)|0,r=f[e>>2],f[e>>2]=o,!r)break e}_i[f[f[r>>2]+4>>2]](r)}return(-1^t)>>>31|0},function(e){var t,r=0,i=0,n=0,o=0,a=0,s=0,c=0,A=0,p=0,_=0,h=0,k=0,m=0;I=t=I-32|0;e:if(Bt(1,t+28|0,f[32+(e|=0)>>2])&&Bt(1,t+24|0,f[e+32>>2])&&!((p=f[t+28>>2])>>>0>1431655765||(n=f[e+32>>2],o=Yt(o=(r=A=f[n+8>>2])-(i=f[n+16>>2])|0,(a=f[n+12>>2])-((k=r>>>0<i>>>0)+(r=f[n+20>>2])|0)|0,3,0),!C&o>>>0<p>>>0||(m=f[t+24>>2],o=Jt(p,0,3,0),!C&o>>>0<m>>>0|(0|r)>=(0|a)&i>>>0>=A>>>0|(0|r)>(0|a))))){a=u[i+f[n>>2]|0],o=(A=i+1|0)?r:r+1|0,f[n+16>>2]=A,f[n+20>>2]=o;t:{if(a){r:if(m>>>0<=255){if(!p)break t;if(f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,(0|o)>=(0|(r=i=f[n+12>>2]))&A>>>0>=(s=f[n+8>>2])>>>0|(0|r)<(0|o))break r;for(;;){if(a=f[n>>2],_=u[a+A|0],r=o,r=(c=A+1|0)?r:r+1|0,f[n+16>>2]=c,f[n+20>>2]=r,f[t+8>>2]=_,s>>>0<=c>>>0&(0|r)>=(0|i)|(0|r)>(0|i))break r;if(_=u[a+c|0],r=o,r=(c=A+2|0)>>>0<2?r+1|0:r,f[n+16>>2]=c,f[n+20>>2]=r,f[t+12>>2]=_,s>>>0<=c>>>0&(0|r)>=(0|i)|(0|r)>(0|i))break r;if(r=u[a+c|0],o=(i=A+3|0)>>>0<3?o+1|0:o,f[n+16>>2]=i,f[n+20>>2]=o,f[t+16>>2]=r,rt(f[e+44>>2]+96|0,t+8|0),(0|p)==(0|(h=h+1|0)))break t;if(n=f[e+32>>2],A=f[(r=n)+16>>2],o=f[r+20>>2],f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,!(A>>>0<(s=f[r+8>>2])>>>0&(0|o)<=(0|(r=i=f[r+12>>2]))|(0|r)>(0|o)))break}}else if(m>>>0<=65535){if(!p)break t;if(f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,a=f[n+12>>2],s=i=i+3|0,i=r=i>>>0<3?r+1|0:r,(c=f[n+8>>2])>>>0<s>>>0&(0|r)>=(0|a)|(0|r)>(0|a))break r;for(;;){if(_=f[n>>2],r=u[0|(r=_+A|0)]|u[r+1|0]<<8,f[n+16>>2]=s,f[n+20>>2]=i,f[t+8>>2]=r,r=o,(i=A+4|0)>>>0>c>>>0&(0|(r=i>>>0<4?r+1|0:r))>=(0|a)|(0|r)>(0|a))break r;if(s=u[0|(s=s+_|0)]|u[s+1|0]<<8,f[n+16>>2]=i,f[n+20>>2]=r,f[t+12>>2]=s,r=o,(o=A+6|0)>>>0>c>>>0&(0|(r=o>>>0<6?r+1|0:r))>=(0|a)|(0|r)>(0|a))break r;if(i=u[0|(i=i+_|0)]|u[i+1|0]<<8,f[n+16>>2]=o,f[n+20>>2]=r,f[t+16>>2]=i,rt(f[e+44>>2]+96|0,t+8|0),(0|p)==(0|(h=h+1|0)))break t;if(n=f[e+32>>2],A=f[(r=n)+16>>2],o=f[r+20>>2],f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,a=f[r+12>>2],c=f[r+8>>2],r=o,s=i=A+2|0,i=r=i>>>0<2?r+1|0:r,!((0|r)<=(0|a)&s>>>0<=c>>>0|(0|r)<(0|a)))break}}else if(b[f[e+44>>2]+80>>2]>2097151||(65535&((a=l[e+36>>1])<<8|a>>>8))>>>0<514){if(!p)break t;if(f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,a=f[n+12>>2],s=i=i+5|0,i=r=i>>>0<5?r+1|0:r,!((c=f[n+8>>2])>>>0<s>>>0&(0|r)>=(0|a)|(0|r)>(0|a)))for(;;){if(_=f[n>>2],r=u[0|(r=_+A|0)]|u[r+1|0]<<8|u[r+2|0]<<16|u[r+3|0]<<24,f[n+16>>2]=s,f[n+20>>2]=i,f[t+8>>2]=r,r=o,k=i=A+8|0,i>>>0>c>>>0&(0|(r=i>>>0<8?r+1|0:r))>=(0|a)|(0|r)>(0|a))break r;if(i=u[0|(i=s+_|0)]|u[i+1|0]<<8|u[i+2|0]<<16|u[i+3|0]<<24,f[n+16>>2]=k,f[n+20>>2]=r,f[t+12>>2]=i,i=r=A+12|0,r>>>0>c>>>0&(0|(o=r>>>0<12?o+1|0:o))>=(0|a)|(0|o)>(0|a))break r;if(r=u[0|(r=_+k|0)]|u[r+1|0]<<8|u[r+2|0]<<16|u[r+3|0]<<24,f[n+16>>2]=i,f[n+20>>2]=o,f[t+16>>2]=r,rt(f[e+44>>2]+96|0,t+8|0),(0|p)==(0|(h=h+1|0)))break t;if(n=f[e+32>>2],A=f[(r=n)+16>>2],o=f[r+20>>2],f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,a=f[r+12>>2],c=f[r+8>>2],r=o,s=i=A+4|0,i=r=i>>>0<4?r+1|0:r,!((0|r)<=(0|a)&s>>>0<=c>>>0|(0|r)<(0|a)))break}}else{if(!p)break t;if(f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,!Bt(1,t+4|0,n))break r;for(;;){if(f[t+8>>2]=f[t+4>>2],!Bt(1,t+4|0,f[e+32>>2]))break r;if(f[t+12>>2]=f[t+4>>2],!Bt(1,t+4|0,f[e+32>>2]))break r;if(f[t+16>>2]=f[t+4>>2],rt(f[e+44>>2]+96|0,t+8|0),(0|p)==(0|(h=h+1|0)))break t;if(o=f[e+32>>2],f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,!Bt(1,t+4|0,o))break}}h=0;break e}n=0,I=r=I-32|0,f[r+24>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0;r:{i:{if(o=d(p,3)){if(o>>>0>=1073741824)break i;n=br(i=d(p,12)),f[r+16>>2]=n,Ye(n,0,i)}n:{if(!(o=D(o,1,f[e+32>>2],n))|!p){if(!n)break n}else for(a=0,i=0;k=s,c=(s=f[(A=(i<<2)+n|0)>>2])>>>1|0,s=k+(1&s?0-c|0:c)|0,f[r>>2]=s,_=(c=f[A+4>>2])>>>1|0,s=s+(1&c?0-_|0:_)|0,f[r+4>>2]=s,c=(A=f[A+8>>2])>>>1|0,s=s+(1&A?0-c|0:c)|0,f[r+8>>2]=s,rt(f[e+44>>2]+96|0,r),i=i+3|0,(0|(a=a+1|0))!=(0|p););ee(n)}I=r+32|0;break r}ii(),E()}if(!o)break e}f[f[e+4>>2]+80>>2]=m,h=1}return I=t+32|0,0|h},Hr,ni,function(e,t){return o[84+(t|=0)|0]=1,f[t+72>>2]=f[t+68>>2],1},function(e){var t=0,r=0,i=0,n=0,o=0;e:{if(!((0|(t=f[8+(e|=0)>>2]))<0||(r=f[e+4>>2],n=f[r>>2],(i=f[r+4>>2]-n>>2)>>>0<t>>>0?(st(r,t-i|0),o=f[e+8>>2]):(o=t,t>>>0>=i>>>0||(f[r+4>>2]=n+(t<<2),o=t)),(0|(i=o))<=0)))for(e=f[e+4>>2],r=f[e>>2],n=f[e+4>>2]-r>>2,e=0;;){if((0|e)==(0|n))break e;if(f[r+(e<<2)>>2]=e,(0|i)==(0|(e=e+1|0)))break}return(-1^t)>>>31|0}ci(),E()},ai,ei,qr,function(e){var t=0;return f[(e|=0)>>2]=10272,(t=f[e+96>>2])&&(f[e+100>>2]=t,ee(t)),(t=f[e+84>>2])&&(f[e+88>>2]=t,ee(t)),ft(e),0|e},function(e){var t=0;f[(e|=0)>>2]=10272,(t=f[e+96>>2])&&(f[e+100>>2]=t,ee(t)),(t=f[e+84>>2])&&(f[e+88>>2]=t,ee(t)),ft(e),ee(e)},function(e,t,r){var i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0;if(ce(e|=0,t|=0,r|=0),r=f[e+84>>2],!((0|(i=f[e+88>>2]-r>>2))>(0|t))){if((t=t+1|0)>>>0>i>>>0){e:if((i=t-i|0)>>>0<=(n=f[e+92>>2])-(r=f[e+88>>2])>>2>>>0){if(i){if(t=r,a=1+((o=(i<<2)-4|0)>>>2|0)&7)for(;f[t>>2]=1,t=t+4|0,(0|a)!=(0|(s=s+1|0)););if(r=(i<<2)+r|0,!(o>>>0<28))for(;f[t+24>>2]=1,f[t+28>>2]=1,f[t+16>>2]=1,f[t+20>>2]=1,f[t+8>>2]=1,f[t+12>>2]=1,f[t>>2]=1,f[t+4>>2]=1,(0|r)!=(0|(t=t+32|0)););}f[e+88>>2]=r}else{t:{if((t=(r=(u=r-(o=f[e+84>>2])|0)>>2)+i|0)>>>0<1073741824){if(c=(n=n-o|0)>>1,n=n>>2>>>0<536870911?t>>>0>c>>>0?t:c:1073741823){if(n>>>0>=1073741824)break t;a=br(n<<2)}if(t=r=(r<<2)+a|0,l=1+((c=(i<<=2)-4|0)>>>2|0)&7)for(t=r;f[t>>2]=1,t=t+4|0,(0|l)!=(0|(s=s+1|0)););if(r=r+i|0,c>>>0>=28)for(;f[t+24>>2]=1,f[t+28>>2]=1,f[t+16>>2]=1,f[t+20>>2]=1,f[t+8>>2]=1,f[t+12>>2]=1,f[t>>2]=1,f[t+4>>2]=1,(0|r)!=(0|(t=t+32|0)););(0|u)>0&&ge(a,o,u),f[e+92>>2]=(n<<2)+a,f[e+88>>2]=r,f[e+84>>2]=a,o&&ee(o);break e}ii(),E()}Lt(1326),E()}return}t>>>0>=i>>>0||(f[e+88>>2]=r+(t<<2))}},function(e,t){var r=0,i=0;K(e|=0,t|=0),(0|t)<0||(r=f[e+88>>2])-(i=f[e+84>>2])>>2<=(0|t)||((r=r-(i=4+(t=i+(t<<2)|0)|0)|0)&&Ze(t,i,r),f[e+88>>2]=t+r)},ft,function(e){ee(ft(e|=0))},ce,K,Hr,ni,function(e){return 1273},function(e){ee(pr(e|=0))},Yr,function(e){pr(e|=0),ee(e)},Hr,ni,di,di,function(e,t,r){r|=0;var i,n=0,o=0,a=0,s=0;if(I=i=I+-64|0,n=1,!Ct(e|=0,t|=0,0)&&(n=0,t)){I=n=I+-64|0,o=f[t>>2],a=f[o-4>>2],s=f[o-8>>2],f[n+20>>2]=0,f[n+16>>2]=11220,f[n+12>>2]=t,f[n+8>>2]=11268,o=0,Ye(n+24|0,0,39),t=t+s|0;e:if(Ct(a,11268,0))f[n+56>>2]=1,_i[f[f[a>>2]+20>>2]](a,n+8|0,t,t,1,0),o=1==f[n+32>>2]?t:0;else{_i[f[f[a>>2]+24>>2]](a,n+8|0,t,1,0);t:switch(f[n+44>>2]){case 0:o=1==f[n+48>>2]&&1==f[n+36>>2]&&1==f[n+40>>2]?f[n+28>>2]:0;break e;case 1:break t;default:break e}1!=f[n+32>>2]&&f[n+48>>2]|1!=f[n+36>>2]|1!=f[n+40>>2]||(o=f[n+24>>2])}I=n- -64|0,n=0,o&&(Ye(4|(t=i+8|0),0,52),f[i+56>>2]=1,f[i+20>>2]=-1,f[i+16>>2]=e,f[i+8>>2]=o,_i[f[f[o>>2]+28>>2]](o,t,f[r>>2],1),1==(0|(e=f[i+32>>2]))&&(f[r>>2]=f[i+24>>2]),n=1==(0|e))}return I=i- -64|0,0|n},function(e,t,r,i,n,o){r|=0,i|=0,n|=0,o|=0,Ct(e|=0,f[8+(t|=0)>>2],o)&&_t(t,r,i,n)},function(e,t,r,i,n){if(r|=0,i|=0,n|=0,Ct(e|=0,f[8+(t|=0)>>2],n))1==f[t+28>>2]|f[t+4>>2]!=(0|r)||(f[t+28>>2]=i);else e:if(Ct(e,f[t>>2],n)){if(!(f[t+16>>2]!=(0|r)&f[t+20>>2]!=(0|r))){if(1!=(0|i))break e;return void(f[t+32>>2]=1)}f[t+20>>2]=r,f[t+32>>2]=i,f[t+40>>2]=f[t+40>>2]+1,1!=f[t+36>>2]|2!=f[t+24>>2]||(o[t+54|0]=1),f[t+44>>2]=4}},function(e,t,r,i){r|=0,i|=0,Ct(e|=0,f[8+(t|=0)>>2],0)&&Qt(t,r,i)},ni,function(e,t,r,i,n,o){r|=0,i|=0,n|=0,o|=0,Ct(e|=0,f[8+(t|=0)>>2],o)?_t(t,r,i,n):(e=f[e+8>>2],_i[f[f[e>>2]+20>>2]](e,t,r,i,n,o))},function(e,t,r,i,n){if(r|=0,i|=0,n|=0,Ct(e|=0,f[8+(t|=0)>>2],n))1==f[t+28>>2]|f[t+4>>2]!=(0|r)||(f[t+28>>2]=i);else e:{if(Ct(e,f[t>>2],n)){if(!(f[t+16>>2]!=(0|r)&f[t+20>>2]!=(0|r))){if(1!=(0|i))break e;return void(f[t+32>>2]=1)}f[t+32>>2]=i;t:if(4!=f[t+44>>2]){if(a[t+52>>1]=0,e=f[e+8>>2],_i[f[f[e>>2]+20>>2]](e,t,r,r,1,n),u[t+53|0]){if(f[t+44>>2]=3,!u[t+52|0])break t;break e}f[t+44>>2]=4}if(f[t+20>>2]=r,f[t+40>>2]=f[t+40>>2]+1,1!=f[t+36>>2]|2!=f[t+24>>2])break e;return void(o[t+54|0]=1)}e=f[e+8>>2],_i[f[f[e>>2]+24>>2]](e,t,r,i,n)}},function(e,t,r,i){r|=0,i|=0,Ct(e|=0,f[8+(t|=0)>>2],0)?Qt(t,r,i):(e=f[e+8>>2],_i[f[f[e>>2]+28>>2]](e,t,r,i))}]);function hi(){return i.byteLength/65536|0}return{g:function(){},h:_i,i:Xr,j:function(){var e;return e=br(40),a[e+38>>1]=0,f[e>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,o[e+29|0]=0,o[e+30|0]=0,o[e+31|0]=0,o[e+32|0]=0,o[e+33|0]=0,o[e+34|0]=0,o[e+35|0]=0,o[e+36|0]=0,0|e},k:function(e,t,r){t|=0,r|=0,f[16+(e|=0)>>2]=0,f[e+20>>2]=0,f[e>>2]=t,f[e+8>>2]=r,f[e+12>>2]=0},l:Xr,m:function(){var e,t;return t=br(40),f[t>>2]=-1,f[16+(e=t+8|0)>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,0|t},n:Qr,o:function(e){var t=0;(e|=0)&&((t=f[e+8>>2])&&(f[e+12>>2]=t,ee(t)),ee(e))},p:function(){return 0|qt(br(64))},q:Xr,r:function(){var e;return qt(e=br(96)),f[e+64>>2]=0,f[e+68>>2]=0,f[e+88>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,o[e+77|0]=0,o[e+78|0]=0,o[e+79|0]=0,o[e+80|0]=0,o[e+81|0]=0,o[e+82|0]=0,o[e+83|0]=0,o[e+84|0]=0,0|e},s:Zr,t:function(e){return f[88+(e|=0)>>2]},u:function(e){return f[56+(e|=0)>>2]},v:Wr,w:function(e){return o[24+(e|=0)|0]},x:function(e){return u[32+(e|=0)|0]},y:function(e){return f[40+(e|=0)>>2]},z:function(e){return f[48+(e|=0)>>2]},A:function(e){return f[60+(e|=0)>>2]},B:jt,C:function(){var e;return e=br(24),f[e+8>>2]=0,f[e+12>>2]=0,f[e+4>>2]=-1,f[e>>2]=1140,f[e+16>>2]=0,f[e+20>>2]=0,0|e},D:xr,E:Yr,F:function(e,t){return t|=0,_(A[f[8+(e|=0)>>2]+(t<<2)>>2])},G:function(e){return _(A[20+(e|=0)>>2])},H:Gr,I:function(){var e;return e=br(8),f[e+4>>2]=-1,f[e>>2]=1032,0|e},J:xr,K:Yr,L:Gr,M:function(){return 0|Dr(br(84))},N:Mr,O:Zr,P:Gr,Q:function(){var e;return Dr(e=br(108)),f[e+84>>2]=0,f[e+88>>2]=0,f[e>>2]=10272,f[e+92>>2]=0,f[e+96>>2]=0,f[e+100>>2]=0,f[e+104>>2]=0,0|e},R:function(e){return(f[100+(e|=0)>>2]-f[e+96>>2]|0)/12|0},S:Mr,T:Zr,U:Gr,V:function(){var e,t;return e=br(24),f[e+4>>2]=0,f[e+8>>2]=0,f[(t=e+16|0)>>2]=0,f[t+4>>2]=0,f[e>>2]=e+4,f[e+12>>2]=t,0|e},W:function(e){(e|=0)&&(rr(e+12|0,f[e+16>>2]),ur(e,f[e+4>>2]),ee(e))},X:Qr,Y:function(e){return 0|!f[(e|=0)>>2]},Z:function(e){return 0|(o[15+(e|=0)|0]<0?f[e+4>>2]:e+4|0)},_:function(e){(e|=0)&&(o[e+15|0]<0&&ee(f[e+4>>2]),ee(e))},$:Tr,aa:function(e,t){return t|=0,_(A[f[(e|=0)>>2]+(t<<2)>>2])},ba:Fr,ca:Br,da:Tr,ea:function(e,t){return t|=0,o[f[(e|=0)>>2]+t|0]},fa:Sr,ga:Br,ha:Tr,ia:function(e,t){return t|=0,u[f[(e|=0)>>2]+t|0]},ja:Sr,ka:Br,la:Tr,ma:function(e,t){return t|=0,a[f[(e|=0)>>2]+(t<<1)>>1]},na:Vr,oa:Br,pa:Tr,qa:function(e,t){return t|=0,l[f[(e|=0)>>2]+(t<<1)>>1]},ra:Vr,sa:Br,ta:Tr,ua:Nr,va:Fr,wa:Br,xa:Tr,ya:Nr,za:Fr,Aa:Br,Ba:function(){var e;return e=br(28),f[e>>2]=0,f[e+4>>2]=0,f[e+24>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,0|e},Ca:function(e,t,r){e|=0,t|=0;var i,n=0,a=0,s=0,c=0,l=0,b=0,A=0;if(I=i=I-16|0,(n=Nt(r|=0))>>>0<4294967280){e:{if(n>>>0>=11)e=br(a=n+16&-16),f[i+8>>2]=-2147483648|a,f[i>>2]=e,f[i+4>>2]=n;else if(o[i+11|0]=n,e=i,!n)break e;ge(e,r,n)}o[e+n|0]=0,n=(r=u[i+11|0])<<24>>24,a=f[i>>2],e=0;e:if(t=f[t+4>>2]){for(e=r,e=(r=(0|n)<0)?f[i+4>>2]:e,b=r?a:i;;){t:{r:{i:{if(l=(A=(r=(s=(r=u[t+27|0])<<24>>24<0)?f[t+20>>2]:r)>>>0<e>>>0)?r:e){c=t+16|0;n:{if(!(c=Rt(b,s=s?f[c>>2]:c,l))){if(e>>>0>=r>>>0)break n;break t}if((0|c)<0)break t}if(!(r=Rt(s,b,l)))break i;if((0|r)<0)break r;e=1;break e}if(e>>>0<r>>>0)break t}if(!A){e=1;break e}}t=t+4|0}if(!(t=f[t>>2]))break}e=0}(0|n)<0&&ee(a),I=i+16|0}else oi(),E();return 0|e},Da:function(e,t,r){e|=0,t|=0,r|=0;var i,n=0,a=0;if(I=i=I-16|0,f[i+12>>2]=0,(n=Nt(r))>>>0<4294967280){e:{if(n>>>0>=11)e=br(a=n+16&-16),f[i+8>>2]=-2147483648|a,f[i>>2]=e,f[i+4>>2]=n;else if(o[i+11|0]=n,e=i,!n)break e;ge(e,r,n)}o[e+n|0]=0,(0|(e=Ke(t,i)))!=(t+4|0)&&4==((t=f[e+32>>2])-(e=f[e+28>>2])|0)&&(f[i+12>>2]=u[0|e]|u[e+1|0]<<8|u[e+2|0]<<16|u[e+3|0]<<24),e=f[i+12>>2],o[i+11|0]<0&&ee(f[i>>2]),I=i+16|0}else oi(),E();return 0|e},Ea:function(e,t,r,i){e|=0,t|=0,i|=0;var n=0,a=0,s=0;if(I=e=I-32|0,(n=Nt(r|=0))>>>0<4294967280){e:{if(n>>>0>=11)a=br(s=n+16&-16),f[e+24>>2]=-2147483648|s,f[e+16>>2]=a,f[e+20>>2]=n;else if(o[e+27|0]=n,a=e+16|0,!n)break e;ge(a,r,n)}o[n+a|0]=0,f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,(0|(r=Ke(t,e+16|0)))!=(t+4|0)&&(0|(t=f[r+28>>2]))!=(0|(a=f[r+32>>2]))&&(3&(t=a-t|0)||((n=t>>>2|0)>>>0>(s=(a=f[e+4>>2])-(t=f[e>>2])>>2)>>>0?(st(e,n-s|0),t=f[e>>2],a=f[e+4>>2]):n>>>0>=s>>>0||(a=(n<<2)+t|0,f[e+4>>2]=a),(0|t)==(0|a)?(ci(),E()):ge(n=t,t=f[r+28>>2],f[r+32>>2]-t|0))),(t=f[i>>2])&&(f[i+4>>2]=t,ee(t)),f[i>>2]=f[e>>2],f[i+4>>2]=f[e+4>>2],f[i+8>>2]=f[e+8>>2],o[e+27|0]<0&&ee(f[e+16>>2]),I=e+32|0}else oi(),E()},Fa:function(e,t,r){e|=0,t|=0,r|=0;var i=0,n=0,a=0,s=0;if(I=e=I-32|0,f[e+24>>2]=0,f[e+28>>2]=0,(i=Nt(r))>>>0<4294967280){e:{if(i>>>0>=11)n=br(a=i+16&-16),f[e+16>>2]=-2147483648|a,f[e+8>>2]=n,f[e+12>>2]=i;else if(o[e+19|0]=i,n=e+8|0,!i)break e;ge(n,r,i)}o[i+n|0]=0,(0|(r=t+4|0))!=(0|(t=Ke(t,e+8|0)))&&8==((r=f[t+32>>2])-(t=f[t+28>>2])|0)&&(r=u[t+4|0]|u[t+5|0]<<8|u[t+6|0]<<16|u[t+7|0]<<24,f[e+24>>2]=u[0|t]|u[t+1|0]<<8|u[t+2|0]<<16|u[t+3|0]<<24,f[e+28>>2]=r),s=p[e+24>>3],o[e+19|0]<0&&ee(f[e+8>>2]),I=e+32|0}else oi(),E();return+s},Ga:function(e,t,r){e|=0,t|=0;var i,n=0,a=0,s=0;if(I=i=I-16|0,(n=Nt(r|=0))>>>0<4294967280){e:{if(n>>>0>=11)a=br(s=n+16&-16),f[i+8>>2]=-2147483648|s,f[i>>2]=a,f[i+4>>2]=n;else if(o[i+11|0]=n,a=i,!n)break e;ge(a,r,n)}o[n+a|0]=0,r=Xt(t,i,a=e+16|0),t=o[e+27|0],e=f[e+16>>2],o[i+11|0]<0&&ee(f[i>>2]),I=i+16|0,e=r?(0|t)<0?e:a:0}else oi(),E();return 0|e},Ha:function(e,t){return f[8+(t|=0)>>2]},Ia:function(e,t,r){t|=0;var i,n=0,a=0,s=0,c=0,u=0,l=0,b=0;i=r|=0;e:if(f[12+(n=e|=0)>>2]!=(0|t)){if(e=t,(0|(t=f[n+4>>2]))!=(0|(r=f[n>>2])))for(;a=t-12|0,o[t-1|0]<0&&ee(f[a>>2]),(0|r)!=(0|(t=a)););if(f[n+12>>2]=e,f[n+4>>2]=r,(0|(t=f[e>>2]))!=(0|(l=e+4|0)))for(;;){if(f[n+8>>2]==(0|r)){c=0;t:{r:{i:{if((r=1+(s=((a=f[n+4>>2])-(e=f[n>>2])|0)/12|0)|0)>>>0<357913942){if(b=(u=(f[n+8>>2]-e|0)/12|0)<<1,r=u>>>0<178956970?r>>>0>b>>>0?r:b:357913941){if(r>>>0>=357913942)break i;c=br(d(r,12))}if(u=d(r,12),r=d(s,12)+c|0,o[t+27|0]>=0?(s=f[t+20>>2],f[r>>2]=f[t+16>>2],f[r+4>>2]=s,f[r+8>>2]=f[t+24>>2]):(Vt(r,f[t+16>>2],f[t+20>>2]),a=f[n+4>>2],e=f[n>>2]),c=c+u|0,s=r+12|0,(0|e)==(0|a))break r;for(;u=f[4+(a=a-12|0)>>2],f[(r=r-12|0)>>2]=f[a>>2],f[r+4>>2]=u,f[r+8>>2]=f[a+8>>2],f[a>>2]=0,f[a+4>>2]=0,f[a+8>>2]=0,(0|e)!=(0|a););if(f[n+8>>2]=c,e=f[n+4>>2],f[n+4>>2]=s,a=f[n>>2],f[n>>2]=r,(0|e)==(0|a))break t;for(;r=e-12|0,o[e-1|0]<0&&ee(f[r>>2]),e=r,(0|r)!=(0|a););break t}ii(),E()}Lt(1326),E()}f[n+8>>2]=c,f[n+4>>2]=s,f[n>>2]=r}a&&ee(a)}else o[t+27|0]>=0?(e=f[t+20>>2],f[r>>2]=f[t+16>>2],f[r+4>>2]=e,f[r+8>>2]=f[t+24>>2]):Vt(r,f[t+16>>2],f[t+20>>2]),f[n+4>>2]=r+12;t:if(r=f[t+4>>2])for(;e=r,r=f[r>>2];);else{if(e=f[t+8>>2],f[e>>2]==(0|t))break t;for(t=t+8|0;t=(r=f[t>>2])+8|0,e=f[r+8>>2],(0|r)!=f[e>>2];);}if((0|e)==(0|l))break e;r=f[n+4>>2],t=e}}return r=0,(0|i)<0||(e=f[n>>2],(f[n+4>>2]-e|0)/12>>>0<=i>>>0||(e=e+d(i,12)|0,r=o[e+11|0]<0?f[e>>2]:e)),0|r},Ja:function(e){var t=0,r=0,i=0;if(e|=0){if(o[e+27|0]<0&&ee(f[e+16>>2]),t=f[e>>2]){if((0|(r=f[e+4>>2]))==(0|t))i=t;else{for(;i=r-12|0,o[r-1|0]<0&&ee(f[i>>2]),(0|(r=i))!=(0|t););i=f[e>>2]}f[e+4>>2]=t,ee(i)}ee(e)}},Ka:function(){var e,t;return e=br(40),f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=e+4,f[(t=e+16|0)>>2]=0,f[t+4>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+12>>2]=t,f[e+32>>2]=0,f[e+36>>2]=0,0|e},La:function(e,t,r,i){e|=0,t|=0,r|=0,i|=0;var n,s=0;I=i=I+-64|0,a[i+46>>1]=0,f[i+8>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,o[i+37|0]=0,o[i+38|0]=0,o[i+39|0]=0,o[i+40|0]=0,o[i+41|0]=0,o[i+42|0]=0,o[i+43|0]=0,o[i+44|0]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+8>>2]=t,f[i+16>>2]=r,f[i+20>>2]=0,We(t=i+48|0),f[e+24>>2]=f[i+48>>2];e:if((0|t)!=(0|(n=e+24|0)))if(t=i+48|4,r=(s=u[i+63|0])<<24>>24,o[11+(e=e+28|0)|0]>=0){if((0|r)>=0){r=f[t+4>>2],f[e>>2]=f[t>>2],f[e+4>>2]=r,f[e+8>>2]=f[t+8>>2];break e}tr(e,f[i+52>>2],f[i+56>>2])}else zt(e,(e=(0|r)<0)?f[i+52>>2]:t,e?f[i+56>>2]:s);return o[i+63|0]<0&&ee(f[i+52>>2]),I=i- -64|0,0|n},Ma:function(e,t,r,i){e|=0,t|=0,r|=0,i|=0;var n,s=0,c=0;I=n=I+-64|0,a[38+(s=n+8|0)>>1]=0,f[s>>2]=0,f[s+8>>2]=0,f[s+12>>2]=0,f[s+16>>2]=0,f[s+20>>2]=0,f[s+24>>2]=0,f[s+28>>2]=0,o[s+29|0]=0,o[s+30|0]=0,o[s+31|0]=0,o[s+32|0]=0,o[s+33|0]=0,o[s+34|0]=0,o[s+35|0]=0,o[s+36|0]=0,f[s+16>>2]=0,f[s+20>>2]=0,f[s>>2]=t,f[s+8>>2]=r,f[s+12>>2]=0,G(t=n+48|0,e,s,i),f[e+24>>2]=f[n+48>>2];e:if((0|(r=e+24|0))!=(0|t))if(s=n+48|4,i=(t=u[n+63|0])<<24>>24,o[11+(c=e+28|0)|0]>=0){if((0|i)>=0){e=f[s+4>>2],f[c>>2]=f[s>>2],f[c+4>>2]=e,f[c+8>>2]=f[s+8>>2];break e}tr(c,f[n+52>>2],f[n+56>>2])}else zt(c,(e=(0|i)<0)?f[n+52>>2]:s,e?f[n+56>>2]:t);return o[n+63|0]<0&&ee(f[n+52>>2]),I=n- -64|0,0|r},Na:function(e,t,r){return 0|sr(t|=0,r|=0)},Oa:function(e,t,r){e|=0,t|=0;var i=0,n=0,a=0;if(I=e=I-32|0,(i=Nt(r|=0))>>>0<4294967280){e:{if(i>>>0>=11)n=br(a=i+16&-16),f[e+24>>2]=-2147483648|a,f[e+16>>2]=n,f[e+20>>2]=i;else if(o[e+27|0]=i,n=e+16|0,!i)break e;ge(n,r,i)}o[i+n|0]=0,o[e+4|0]=0,f[e>>2]=1701667182,o[e+11|0]=4,r=-1,(i=f[t+4>>2])&&(r=-1,(i=Oe(i,e,e+16|0))&&(r=Ht(t,f[i+24>>2]))),t=r,o[e+11|0]<0&&ee(f[e>>2]),o[e+27|0]<0&&ee(f[e+16>>2]),I=e+32|0}else oi(),E();return 0|t},Pa:function(e,t,r,i){e|=0,t|=0,i|=0;var n,a=0,s=0;I=n=I-32|0;e:{t:{if((a=Nt(r|=0))>>>0<4294967280){r:{if(a>>>0>=11)e=br(s=a+16&-16),f[n+24>>2]=-2147483648|s,f[n+16>>2]=e,f[n+20>>2]=a;else if(o[n+27|0]=a,e=n+16|0,!a)break r;ge(e,r,a)}if(o[e+a|0]=0,(r=Nt(i))>>>0>=4294967280)break t;r:{if(r>>>0>=11)e=br(a=r+16&-16),f[n+8>>2]=-2147483648|a,f[n>>2]=e,f[n+4>>2]=r;else if(o[n+11|0]=r,e=n,!r)break r;ge(e,i,r)}o[e+r|0]=0,e=-1,(r=f[t+4>>2])&&(e=-1,(r=Oe(r,n+16|0,n))&&(e=Ht(t,f[r+24>>2]))),o[n+11|0]<0&&ee(f[n>>2]),o[n+27|0]<0&&ee(f[n+16>>2]),I=n+32|0;break e}oi(),E()}oi(),E()}return 0|e},Qa:function(e,t,r){return r|=0,f[f[8+(t|=0)>>2]+(r<<2)>>2]},Ra:function(e,t,r){e|=0,r|=0;var i=0,n=0;i=(e=f[12+(t|=0)>>2])-(t=f[t+8>>2])|0,e=0;e:if(i){i=(e=i>>2)>>>0>1?e:1,e=0;t:{for(;;){if(n=f[t+(e<<2)>>2],f[n+60>>2]==(0|r))break t;if((0|i)==(0|(e=e+1|0)))break}e=0;break e}e=-1==(0|e)?0:n}return 0|e},Sa:function(e,t){return f[4+(t|=0)>>2]},Ta:function(e,t,r){e|=0,r|=0;var i,n=0;if((i=f[4+(t|=0)>>2])&&!((0|(t=f[f[f[t+8>>2]+(r<<2)>>2]+60>>2]))<0)&&(0|(e=f[i+24>>2]))!=(0|(r=f[i+28>>2])))e:{for(;;){if(n=f[e>>2],(0|t)==f[n+24>>2])break e;if((0|r)==(0|(e=e+4|0)))break}n=0}return 0|n},Ua:function(e,t,r,i){var n,o;return e|=0,r|=0,i|=0,I=e=I-16|0,t=f[96+(t|=0)>>2],f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,o=(r=ge(n=br(12),t+d(r,12)|0,12))+12|0,(t=f[i>>2])&&(f[i+4>>2]=t,ee(t)),f[i+8>>2]=r+12,f[i+4>>2]=o,f[i>>2]=n,I=e+16|0,1},Va:function(e,t,r){e|=0,t|=0;var i,n,a,s,c,l,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,R=0,x=0,N=0,C=0,D=0,M=0,G=0,U=0,V=0,F=0,S=0,W=0,Z=0,O=0;l=r|=0,r=0,I=n=I-96|0,Ye(i=n+16|0,0,76),f[n+92>>2]=-1,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,I=a=I-16|0,f[i+68>>2]=0,f[i+72>>2]=0,f[i>>2]=t,I=s=I-16|0,c=t,e=f[t+20>>2],(f[t+24>>2]-e|0)<=0||-1!=(0|(e=f[e>>2]))&&(r=f[f[t+8>>2]+(e<<2)>>2]);e:{t:{if(r){e=f[c+100>>2],p=f[c+96>>2],f[s+8>>2]=0,f[s>>2]=0,f[s+4>>2]=0,t=(0|(h=e-p|0))/12|0;r:if(h){if(t>>>0>=357913942)break t;if(b=br(h),f[s>>2]=b,f[s+8>>2]=b+d(t,12),e=0,h=Ye(k=b,0,b=d((h-12>>>0)/12|0,12)+12|0),f[s+4>>2]=b+h,u[r+84|0]){if(b=1&(r=t>>>0>1?t:1),t>>>0>=2)for(k=-2&r;r=d(e,12),y=f[4+(t=r+p|0)>>2],v=f[t>>2],f[8+(r=r+h|0)>>2]=f[t+8>>2],f[r>>2]=v,f[r+4>>2]=y,r=d(1|e,12),y=f[8+(t=r+p|0)>>2],v=f[t+4>>2],f[(r=r+h|0)>>2]=f[t>>2],f[r+4>>2]=v,f[r+8>>2]=y,e=e+2|0,(0|k)!=(0|(A=A+2|0)););if(!b)break r;t=d(e,12),r=f[4+(e=t+p|0)>>2],A=f[e>>2],f[8+(t=t+h|0)>>2]=f[e+8>>2],f[t>>2]=A,f[t+4>>2]=r}else for(b=t>>>0>1?t:1,e=f[r+68>>2];r=d(A,12),k=f[e+(f[(t=r+p|0)>>2]<<2)>>2],y=f[e+(f[t+4>>2]<<2)>>2],f[8+(r=r+h|0)>>2]=f[e+(f[t+8>>2]<<2)>>2],f[r+4>>2]=y,f[r>>2]=k,(0|b)!=(0|(A=A+1|0)););}if(I=G=I-16|0,b=br(88),f[b>>2]=0,f[b+4>>2]=0,f[b+56>>2]=0,f[b+48>>2]=0,f[b+52>>2]=0,f[b+40>>2]=0,f[b+44>>2]=0,f[b+32>>2]=0,f[b+36>>2]=0,f[b+24>>2]=0,f[b+28>>2]=0,f[b+16>>2]=0,f[b+20>>2]=0,f[b+8>>2]=0,f[b+12>>2]=0,f[(e=b- -64|0)>>2]=0,f[e+4>>2]=0,f[b+72>>2]=0,f[b+76>>2]=0,f[b+80>>2]=0,f[b+84>>2]=0,f[b+60>>2]=b,I=D=I-16|0,f[b+80>>2]=0,f[b+84>>2]=0,e=f[b+76>>2],f[b+76>>2]=0,e&&ee(e),f[b+68>>2]=0,f[b+72>>2]=0,e=f[(t=b- -64|0)>>2],f[t>>2]=0,e&&ee(e),A=f[s>>2],t=f[s+4>>2]-A|0,e=d(y=(0|t)/12|0,3),r=f[b>>2],e>>>0>(p=f[b+4>>2]-r>>2)>>>0?(st(b,e-p|0),A=f[s>>2],y=(0|(t=f[s+4>>2]-A|0))/12|0,r=f[b>>2]):e>>>0>=p>>>0||(f[b+4>>2]=(e<<2)+r),t)for(h=y>>>0>1?y:1,e=0;t=(p=d(e,12))+r|0,p=p+A|0,f[t>>2]=f[p>>2],f[t+4>>2]=f[p+4>>2],f[t+8>>2]=f[p+8>>2],(0|h)!=(0|(e=e+1|0)););f[D+12>>2]=-1,I=p=I-48|0;r:{i:{n:{if(N=D+12|0){if(w=(t=(k=f[b+4>>2])-(v=f[b>>2])|0)>>2,r=f[b+12>>2],w>>>0>(e=f[b+16>>2]-r>>2)>>>0?(ve(b+12|0,w-e|0,10260),w=(t=(k=f[b+4>>2])-(v=f[b>>2])|0)>>2):e>>>0<=w>>>0||(f[b+16>>2]=r+(w<<2)),r=0,f[p+40>>2]=0,f[p+32>>2]=0,f[p+36>>2]=0,t){o:{if((0|t)>=0)for(r=br(t),f[p+36>>2]=r,f[p+32>>2]=r,f[p+40>>2]=(w<<2)+r,e=r,t=0;;){if((h=f[(t<<2)+v>>2])>>>0<(e=e-r>>2)>>>0||(f[p+16>>2]=0,(A=h+1|0)>>>0>e>>>0?(ve(p+32|0,A-e|0,p+16|0),v=f[b>>2],k=f[b+4>>2],r=f[p+32>>2]):e>>>0<=A>>>0||(f[p+36>>2]=(A<<2)+r)),f[(e=(h<<2)+r|0)>>2]=f[e>>2]+1,(t=t+1|0)>>>0>=(w=(e=k-v|0)>>2)>>>0)break o;e=f[p+36>>2]}break n}if(f[p+24>>2]=0,f[p+16>>2]=0,f[p+20>>2]=0,e){if(w>>>0>=536870912)break i;e=br(t=e<<1),f[p+16>>2]=e,A=e+(w<<3)|0,f[p+24>>2]=A,Ye(e,255,t),f[p+20>>2]=A}}else f[p+24>>2]=0,f[p+16>>2]=0,f[p+20>>2]=0;if(k=0,f[p+8>>2]=0,f[p>>2]=0,f[p+4>>2]=0,h=(e=f[p+36>>2]-r|0)>>2,e){if((0|e)<0)break i;if(B=br(e),f[p>>2]=B,f[p+8>>2]=(h<<2)+B,t=e,e=Ye(B,0,e),f[p+4>>2]=t+e,y=3&(A=h>>>0>1?h:1),t=0,A-1>>>0>=3)for(T=-4&A;f[(A=_<<2)+e>>2]=t,C=4|A,t=f[r+A>>2]+t|0,f[C+e>>2]=t,x=8|A,t=t+f[r+C>>2]|0,f[x+e>>2]=t,A|=12,t=t+f[r+x>>2]|0,f[A+e>>2]=t,t=t+f[r+A>>2]|0,_=_+4|0,(0|T)!=(0|(m=m+4|0)););if(y)for(;f[(A=_<<2)+e>>2]=t,_=_+1|0,t=f[r+A>>2]+t|0,(0|y)!=(0|(g=g+1|0)););}if(w)for(C=f[b+12>>2];;){t=(U=k<<2)+v|0,m=-1,-1!=(0|(e=((A=k+1|0)>>>0)%3|0?A:k-2|0))&&(m=f[(e<<2)+v>>2]),e=f[t>>2];o:{a:{if(!((k>>>0)%3|0)){if(g=-1,-1!=(0|(t=k+2|0))&&(g=f[(t<<2)+v>>2]),!((0|e)==(0|m)|(0|e)==(0|g))&(0|m)!=(0|g))break a;f[b+40>>2]=f[b+40>>2]+1,A=k+3|0;break o}g=f[t-4>>2]}a:{f:if(!((0|(x=f[(t=g<<2)+r>>2]))<=0))for(y=f[p+16>>2],t=f[t+B>>2],_=0;;){if(-1==(0|(R=f[(T=y+(t<<3)|0)>>2])))break f;if((0|m)==(0|R)&&(0|(R=-1!=(0|(T=f[T+4>>2]))?f[(T<<2)+v>>2]:-1))!=(0|e)){for(;e=t,!((0|x)<=(0|(_=_+1|0))||(R=y+(e<<3)|0,F=f[(V=y+((t=e+1|0)<<3)|0)>>2],f[R>>2]=F,f[R+4>>2]=f[V+4>>2],-1==(0|F))););if(f[y+(e<<3)>>2]=-1,-1==(0|T))break f;f[C+U>>2]=T,f[C+(T<<2)>>2]=k;break a}if(t=t+1|0,(0|x)==(0|(_=_+1|0)))break}if(!((0|(y=f[(e=m<<2)+r>>2]))<=0))for(m=f[p+16>>2],t=f[e+B>>2],_=0;;){if(-1==f[(e=m+(t<<3)|0)>>2]){f[e>>2]=g,f[e+4>>2]=k;break a}if(t=t+1|0,(0|y)==(0|(_=_+1|0)))break}}}if(!(w>>>0>(k=A)>>>0))break}f[N>>2]=h,B&&ee(B),(e=f[p+16>>2])&&(f[p+20>>2]=e,ee(e)),(e=f[p+32>>2])&&(f[p+36>>2]=e,ee(e))}if(I=p+48|0,C=0!=(0|N)){if(I=m=I-32|0,g=f[b>>2],e=f[b+4>>2],f[m+24>>2]=0,f[m+16>>2]=0,f[m+20>>2]=0,t=e-g|0){if((0|t)<0)break i;r=br((A=1+(_=(t>>=2)-1>>>5|0)|0)<<2),f[m+24>>2]=A,f[m+16>>2]=r,f[m+20>>2]=t,f[r+((t>>>0<33?0:_)<<2)>>2]=0,_=Ye(_=r,0,r=t>>>5<<2),(t&=31)&&(f[(r=r+_|0)>>2]=f[r>>2]&(-1>>>32-t^-1))}for(f[m+8>>2]=0,f[m>>2]=0;;){if(w=0,A=0,(0|e)!=(0|g)){for(;;){r=f[m+16>>2];o:if(!(f[r+(A>>>3&536870908)>>2]>>>A&1)){for(_=f[m>>2],f[m+4>>2]=_,t=f[b+12>>2],e=A;h=e,!(-1==(0|(e=((p=e+1|0)>>>0)%3|0?p:e-2|0))||-1==(0|(e=f[t+(e<<2)>>2]))||(0|A)==(0|(e=((p=e+1|0)>>>0)%3|0?p:e-2|0))|-1==(0|e)||f[(e>>>3&536870908)+r>>2]>>>e&1););t=_,y=h;a:{f:{for(;;){if(f[(e=(y>>>3&536870908)+r|0)>>2]=f[e>>2]|1<<y,p=((e=y+1|0)>>>0)%3|0?e:y-2|0,T=(v=((x=(y>>>0)%3|0)?-1:2)+y|0)<<2,(0|t)!=(0|_))if(N=f[(p<<2)+g>>2],B=f[b+12>>2],e=t,-1==(0|v))for(;;){if((0|N)==f[e>>2]&&(k=-1,v=-1,-1!=(0|(r=f[e+4>>2]))))break f;if((0|_)==(0|(e=e+8|0)))break}else for(R=B+T|0;;){if((0|N)==f[e>>2]&&(0|(r=f[e+4>>2]))!=(0|(k=f[R>>2]))){if(_=-1,e=-1,-1==(0|r))break a;break f}if((0|_)==(0|(e=e+8|0)))break}if(v=f[g+T>>2],f[m+8>>2]==(0|_)){if((e=1+(_=(r=_-t|0)>>3)|0)>>>0>=536870912)break i;if(k=r>>2,k=_>>>0<268435455?e>>>0>k>>>0?e:k:536870911){if(k>>>0>=536870912)break n;e=br(k<<3)}else e=0;f[(_=e+(_<<3)|0)>>2]=v,f[_+4>>2]=p,_=_+8|0,(0|r)>0&&ge(e,t,r),f[m+8>>2]=e+(k<<3),f[m+4>>2]=_,f[m>>2]=e,t&&ee(t)}else f[_>>2]=v,f[_+4>>2]=p,_=_+8|0,f[m+4>>2]=_;s:{if(x)e=y-1|0;else if(-1==(0|(e=y+2|0)))break s;if(-1!=(0|(e=f[f[b+12>>2]+(e<<2)>>2]))&&!((0|h)==(0|(y=e+((e>>>0)%3|0?-1:2)|0))|-1==(0|y))){g=f[b>>2],t=f[m>>2],r=f[m+16>>2];continue}}break}g=f[b>>2];break o}_=r,e=f[B+(r<<2)>>2]}-1!=(0|k)&&(f[B+(k<<2)>>2]=-1),-1!=(0|e)&&(f[f[b+12>>2]+(e<<2)>>2]=-1),e=f[b+12>>2],f[e+(v<<2)>>2]=-1,f[e+(_<<2)>>2]=-1,w=1}if(!((A=A+1|0)>>>0<(e=f[b+4>>2])-g>>2>>>0))break}if(w)continue}break}(e=f[m>>2])&&ee(e),(e=f[m+16>>2])&&ee(e),A=0,v=0,w=0,I=h=(I=m+32|0)-32|0,e=f[D+12>>2],f[b+36>>2]=e,g=b+24|0,r=f[b+24>>2];o:{if((t=f[b+28>>2]-r>>2)>>>0<e>>>0)ve(g,e-t|0,10260),f[h+24>>2]=0,f[h+16>>2]=0,f[h+20>>2]=0;else if(e>>>0<t>>>0&&(f[b+28>>2]=r+(e<<2)),f[h+24>>2]=0,f[h+16>>2]=0,f[h+20>>2]=0,!e)break o;if((0|e)<0)break i;A=br((r=1+(t=e-1>>>5|0)|0)<<2),f[h+24>>2]=r,f[h+16>>2]=A,f[h+20>>2]=e,f[((e>>>0<33?0:t)<<2)+A>>2]=0,r=Ye(A,0,t=e>>>5<<2),(_=31&e)&&(f[(t=t+r|0)>>2]=f[t>>2]&(-1>>>32-_^-1))}if(k=f[b>>2],y=f[b+4>>2],f[h+8>>2]=0,f[h>>2]=0,f[h+4>>2]=0,t=y-k|0){if((0|t)<0)break i;if(m=br((_=1+(r=(t>>=2)-1>>>5|0)|0)<<2),f[h+8>>2]=_,f[h>>2]=m,f[h+4>>2]=t,f[((t>>>0<33?0:r)<<2)+m>>2]=0,_=Ye(m,0,r=t>>>5<<2),(p=31&t)&&(f[(r=r+_|0)>>2]=f[r>>2]&(-1>>>32-p^-1)),!(t>>>0<3)){for(;;){if(T=d(v,3),t=f[(_=(T<<2)+k|0)>>2],r=-1,-1!=(0|(p=T+1|0))&&(r=f[(p<<2)+k>>2]),(0|t)!=(0|r)&&(0|(p=t))!=(0|(t=f[_+8>>2]))&&(B=0,(0|t)!=(0|r))){for(;;){if(!(f[((_=B+T|0)>>>3&536870908)+m>>2]>>>_&1)){if(y=(r=1<<(t=f[(_<<2)+k>>2]))&f[((m=t>>>5|0)<<2)+A>>2]){if((0|(r=f[b+28>>2]))==f[b+32>>2]){if((r=1+(m=(p=r-(A=f[g>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(k=p>>1,k=m>>>0<536870911?r>>>0>k>>>0?r:k:1073741823){if(k>>>0>=1073741824)break n;r=br(k<<2)}else r=0;f[(m=r+(m<<2)|0)>>2]=-1,(0|p)>0&&ge(r,A,p),f[b+32>>2]=r+(k<<2),f[b+28>>2]=m+4,f[b+24>>2]=r,A&&ee(A)}else f[r>>2]=-1,f[b+28>>2]=r+4;if((0|(r=f[b+52>>2]))==f[b+56>>2]){if((r=1+(m=(p=r-(A=f[b+48>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(k=p>>1,k=m>>>0<536870911?r>>>0>k>>>0?r:k:1073741823){if(k>>>0>=1073741824)break n;r=br(k<<2)}else r=0;f[(m=r+(m<<2)|0)>>2]=t,(0|p)>0&&ge(r,A,p),f[b+56>>2]=r+(k<<2),f[b+52>>2]=m+4,f[b+48>>2]=r,A&&ee(A)}else f[r>>2]=t,f[b+52>>2]=r+4;if((0|(r=f[h+20>>2]))==(t=f[h+24>>2])<<5){if((r+1|0)<0)break i;at(A=h+16|0,t=r>>>0<=1073741822?(t<<=6)>>>0<(r=r+32&-32)>>>0?r:t:2147483647),r=f[h+20>>2]}f[h+20>>2]=r+1,t=f[h+16>>2]+(r>>>3&536870908)|0,A=f[t>>2],Z=t,O=Rr(r)&A,f[Z>>2]=O,r=1<<e,m=e>>>5|0,t=e,e=e+1|0}p=e,A=f[h+16>>2],f[(e=A+(m<<2)|0)>>2]=f[e>>2]|r,x=f[b+24>>2]+(t<<2)|0,N=f[b+12>>2],k=f[b>>2],m=f[h>>2],e=_;o:{a:{f:{s:{c:{u:{for(;;){if(-1==(0|e))break u;if(f[(r=(e>>>3&536870908)+m|0)>>2]=f[r>>2]|1<<e,f[x>>2]=e,y&&(f[(e<<2)+k>>2]=t),r=-1,-1!=(0|(e=((R=e+1|0)>>>0)%3|0?R:e-2|0))&&(r=-1,-1!=(0|(e=f[N+(e<<2)>>2]))&&(r=((r=e+1|0)>>>0)%3|0?r:e-2|0)),(0|_)==(0|(e=r)))break}if(-1!=(0|_))break o;e=1;break c}if((_>>>0)%3|0)e=_-1|0;else if(-1==(0|(e=_+2|0)))break s}if(-1!=(0|(e=f[N+(e<<2)>>2]))){if(!((e>>>0)%3|0))break f;e=e-1|0,k=f[b>>2],m=f[h>>2];break a}}k=f[b>>2],m=f[h>>2];break o}if(k=f[b>>2],m=f[h>>2],-1==(0|(e=e+2|0)))break o}for(r=f[b+12>>2];;){if(f[(_=(e>>>3&536870908)+m|0)>>2]=f[_>>2]|1<<e,y&&(f[(e<<2)+k>>2]=t),(e>>>0)%3|0)e=e-1|0;else if(-1==(0|(e=e+2|0)))break o;if(-1==(0|(e=f[r+(e<<2)>>2])))break o;if(-1==(0|(e=e+((e>>>0)%3|0?-1:2)|0)))break}}e=p}if(3==(0|(B=B+1|0)))break}k=f[b>>2],y=f[b+4>>2]}if(!((v=v+1|0)>>>0<(y-k>>2>>>0)/3>>>0))break}A=f[h+16>>2]}}if(f[b+44>>2]=0,e=f[h+20>>2])for(t=31&e,_=(e>>>3&536870908)+A|0,e=0,r=A;f[r>>2]>>>e&1||(w=w+1|0,f[b+44>>2]=w),(0|_)!=(0|(r=((p=31==(0|e))<<2)+r|0))|(0|(e=p?0:e+1|0))!=(0|t););(e=f[h>>2])&&(ee(e),A=f[h+16>>2]),A&&ee(A),I=h+32|0}I=D+16|0,C||(f[G+8>>2]=0,Mt(b),b=0),I=G+16|0,e=b;break r}Lt(1326),E()}ii(),E()}(t=f[s>>2])&&(f[s+4>>2]=t,ee(t))}else e=0;I=s+16|0;break e}ii(),E()}if(t=f[i+4>>2],f[i+4>>2]=e,t&&(Mt(t),e=f[i+4>>2]),e)if(e=f[c+100>>2],t=f[c+96>>2],o[a+12|0]=0,Je(i+56|0,(e-t|0)/12|0,a+12|0),(0|(e=f[c+100>>2]))!=(0|(t=f[c+96>>2])))for(;;){if(!(f[f[i+56>>2]+(M>>>3&536870908)>>2]>>>M&1)){if(ne(i,0,e=d(M,3)),t=f[i+8>>2],r=f[i+12>>2],ne(i,1,e+1|0),_=f[i+20>>2],A=f[i+24>>2],ne(i,2,e+2|0),e=(_=A-_>>2)>>>0>(r=(t=r-t|0)>>2)>>>0,r=f[i+36>>2]-f[i+32>>2]>>2>>>0>(e?_:r)>>>0?2:e?1:t?0:-1,f[i+68>>2]<=0||(f[a+12>>2]=f[i+76>>2],f[a+8>>2]=n,ut(a+8|0,a+12|0),(0|(e=f[44+((r<<2)+i|0)>>2]))<0?e=-1:(t=(e>>>0)/3|0,e=f[(f[f[i>>2]+96>>2]+d(t,12)|0)+(e-d(t,3)<<2)>>2]),f[a+12>>2]=e,f[a+8>>2]=n,ut(a+8|0,a+12|0),t=f[i+72>>2],f[i+72>>2]=t+2,1&t&&(f[a+12>>2]=e,f[a+8>>2]=n,ut(a+8|0,a+12|0),f[i+72>>2]=f[i+72>>2]+1)),I=t=I-16|0,f[i+68>>2]=f[i+68>>2]+1,e=d(r,12)+i|0,!((0|(_=f[e+12>>2]-f[e+8>>2]|0))<=0)){e=-1,A=((r=f[44+((r<<2)+i|0)>>2])>>>0)/3|0,p=(h=-1==(0|r))?-1:A,b=f[i+56>>2]+(p>>>3&536870908)|0,f[b>>2]=f[b>>2]|1<<p,f[i+72>>2]=f[i+72>>2]+1,f[t+12>>2]=(0|r)>=0?f[(f[f[i>>2]+96>>2]+d(A,12)|0)+((r>>>0)%3<<2)>>2]:-1,f[t+8>>2]=n,ut(t+8|0,t+12|0);e:if(h)f[t+12>>2]=-1,f[t+8>>2]=n,ut(t+8|0,t+12|0);else{if((0|(p=((p=r+1|0)>>>0)%3|0?p:r-2|0))>=0?(h=(p>>>0)/3|0,b=f[(f[f[i>>2]+96>>2]+d(h,12)|0)+(p-d(h,3)<<2)>>2]):b=-1,f[t+12>>2]=b,f[t+8>>2]=n,ut(t+8|0,t+12|0),(0|(A=r+(r-d(A,3)|0?-1:2)|0))<0)break e;e=(A>>>0)/3|0,e=f[(f[f[i>>2]+96>>2]+d(e,12)|0)+(A-d(e,3)<<2)>>2]}if(f[i+76>>2]=e,f[t+12>>2]=e,f[t+8>>2]=n,e=-1,ut(t+8|0,t+12|0),e=-1!=(0|r)?f[f[f[i+4>>2]+12>>2]+(r<<2)>>2]:e,!(_>>>0<=7))for(h=(r=_>>>2|0)>>>0>1?r:1,r=1;;){_=e,p=(e>>>0)/3|0,e=-1==(0|e)?-1:p,A=f[i+56>>2]+(e>>>3&536870908)|0,f[A>>2]=f[A>>2]|1<<e,f[i+72>>2]=f[i+72>>2]+1,e=-1,e=(0|_)>=0?f[(f[f[i>>2]+96>>2]+d(p,12)|0)+((_>>>0)%3<<2)>>2]:e,f[i+76>>2]=e,f[t+12>>2]=e,f[t+8>>2]=n,ut(t+8|0,t+12|0);e:{t:{if(1&r){if(A=-1,-1==(0|_))break e;if((0|_)!=(0|d(p,3))){e=_-1|0;break t}e=_+2|0}else{if(A=-1,-1==(0|_))break e;e=((e=_+1|0)>>>0)%3|0?e:_-2|0}if(A=-1,-1==(0|e))break e}A=f[f[f[i+4>>2]+12>>2]+(e<<2)>>2]}if(e=A,(0|h)==(0|(r=r+1|0)))break}}I=t+16|0,t=f[c+96>>2],e=f[c+100>>2]}if(S=1,!((M=M+1|0)>>>0<(e-t|0)/12>>>0))break}else S=1;return I=a+16|0,S?((e=f[l>>2])&&(f[l+4>>2]=e,ee(e)),f[l>>2]=f[n>>2],f[l+4>>2]=f[n+4>>2],f[l+8>>2]=f[n+8>>2],W=f[n+84>>2]):(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),(e=f[n+72>>2])&&ee(e),(e=f[n+48>>2])&&(f[n+52>>2]=e,ee(e)),(e=f[n+36>>2])&&(f[n+40>>2]=e,ee(e)),(e=f[n+24>>2])&&(f[n+28>>2]=e,ee(e)),e=f[n+20>>2],f[n+20>>2]=0,e&&Mt(e),I=n+96|0,0|W},Wa:function(e,t,r,i){e|=0,r|=0,i|=0;var n=0,o=0,s=0;if(!(b[80+(t|=0)>>2]>65535||(o=f[t+96>>2],t=f[t+100>>2]-o|0,s=(0|(n=d(e=(0|t)/12|0,6)))==(0|r),!t|(0|r)!=(0|n))))for(s=1,n=e>>>0>1?e:1,e=0;t=d(e,6)+i|0,r=d(e,12)+o|0,a[t>>1]=f[r>>2],a[t+2>>1]=f[r+4>>2],a[t+4>>1]=f[r+8>>2],(0|n)!=(0|(e=e+1|0)););return 0|s},Xa:function(e,t,r,i){e|=0,r|=0,i|=0;var n,o=0,a=0,s=0;if(n=f[96+(t|=0)>>2],!((0|(t=f[t+100>>2]-n|0))!=(0|r)|!t))for(s=(e=(0|r)/12|0)>>>0>1?e:1,e=0;a=(o=d(e,12))+i|0,o=o+n|0,f[a>>2]=f[o>>2],f[a+4>>2]=f[o+4>>2],f[a+8>>2]=f[o+8>>2],(0|s)!=(0|(e=e+1|0)););return(0|t)==(0|r)|0},Ya:function(e,t,r,i){e|=0,r|=0,i|=0;var n=0,a=0,s=0;I=e=I-32|0,n=o[24+(t|=0)|0],a=f[2563],f[e+24>>2]=f[2562],f[e+28>>2]=a,a=f[2561],f[e+16>>2]=f[2560],f[e+20>>2]=a;e:{t:{if(r=V(t,r,n,e+16|0)){if(f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,t=0,n){if((0|n)<0)break t;s=ge(t=br(n<<=2),e+16|0,n)+n|0}(n=f[i>>2])&&(f[i+4>>2]=n,ee(n)),f[i+8>>2]=s,f[i+4>>2]=s,f[i>>2]=t}I=e+32|0;break e}ii(),E()}return 0|r},Za:function(e,t,r,i){e|=0,r|=0,i|=0;var n,a,s=0,c=0,l=0,b=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0;e=0,I=n=I-16|0,a=f[80+(t|=0)>>2],s=o[r+24|0],f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0;e:{t:{if(s){if((0|s)<0)break t;if(e=br(t=s<<2),f[n>>2]=e,l=e+t|0,f[n+8>>2]=l,_=1+((b=t-4|0)>>>2|0)&7)for(t=e;f[t>>2]=-1073741824,t=t+4|0,(0|_)!=(0|(c=c+1|0)););else t=e;if(b>>>0>=28)for(;f[t+24>>2]=-1073741824,f[t+28>>2]=-1073741824,f[t+16>>2]=-1073741824,f[t+20>>2]=-1073741824,f[t+8>>2]=-1073741824,f[t+12>>2]=-1073741824,f[t>>2]=-1073741824,f[t+4>>2]=-1073741824,(0|l)!=(0|(t=t+32|0)););f[n+4>>2]=l}t=d(s,a),l=f[i>>2],t>>>0>(c=f[i+4>>2]-l>>2)>>>0?st(i,t-c|0):t>>>0>=c>>>0||(f[i+4>>2]=l+(t<<2));r:if(a)if(p=1,(0|s)<=0)for(t=0;;){if(!V(r,u[r+84|0]?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],e))break r;if(p=a>>>0>(t=t+1|0)>>>0,(0|t)==(0|a))break}else{for(y=-4&s,_=3&s,c=0,v=s-1>>>0<3;;){if(V(r,u[r+84|0]?h:f[f[r+68>>2]+(h<<2)>>2],o[r+24|0],e)){if(m=f[i>>2],k=0,s=f[n>>2],t=0,p=0,!v)for(;b=t<<2,A[(l=m+(c<<2)|0)>>2]=A[b+s>>2],A[l+4>>2]=A[(4|b)+s>>2],A[l+8>>2]=A[(8|b)+s>>2],A[l+12>>2]=A[(12|b)+s>>2],t=t+4|0,c=c+4|0,(0|y)!=(0|(p=p+4|0)););if(_)for(;A[m+(c<<2)>>2]=A[(t<<2)+s>>2],t=t+1|0,c=c+1|0,(0|_)!=(0|(k=k+1|0)););if(p=(h=h+1|0)>>>0<a>>>0,(0|a)!=(0|h))continue}break}e=f[n>>2]}e&&ee(e),I=n+16|0,e=1&(-1^p);break e}ii(),E()}return 0|e},_a:_e,$a:function(e,t,r,i){e|=0,r|=0,i|=0;var n,a,s,c=0,l=0,b=0,A=0,p=0,_=0,h=0;I=n=I-16|0,a=f[80+(t|=0)>>2],s=u[r+24|0],c=d(a,t=s<<24>>24);e:{t:{r:{if(!(1==(0|(e=f[r+28>>2]))|2==(0|e))|!u[r+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,t){if((0|t)<0)break r;l=br(t),f[n>>2]=l,e=t+l|0,f[n+8>>2]=e,Ye(l,0,t),f[n+4>>2]=e}i:if((p=(e=f[i+4>>2])-(A=f[i>>2])|0)>>>0<c>>>0){if((_=c-p|0)>>>0<=(h=f[i+8>>2])-e>>>0){_&&(e=Ye(e,0,_)+_|0),f[i+4>>2]=e;break i}if((0|c)<0)break t;if(h=(e=h-A|0)<<1,(e=e>>>0<1073741823?c>>>0>h>>>0?c:h:2147483647)&&(b=br(e)),Ye(b+p|0,0,_),(0|p)>0&&ge(b,A,p),f[i+8>>2]=e+b,f[i+4>>2]=c+b,f[i>>2]=b,!A)break i;ee(A)}else c>>>0>=p>>>0||(f[i+4>>2]=c+A);i:if(a)if(t){for(A=-2&(e=t-1|0),p=1&e,e=0,t=1,b=0;;){if(c=f[n>>2],W(r,u[r+84|0]?b:f[f[r+68>>2]+(b<<2)>>2],o[r+24|0],c)){o[f[i>>2]+e|0]=u[0|c],t=1,e=e+1|0,l=0;n:{o:switch(s-1|0){default:for(;o[f[i>>2]+e|0]=u[f[n>>2]+t|0],o[1+(f[i>>2]+e|0)|0]=u[1+(f[n>>2]+t|0)|0],t=t+2|0,e=e+2|0,(0|A)!=(0|(l=l+2|0)););break;case 0:break n;case 1:}p&&(o[f[i>>2]+e|0]=u[f[n>>2]+t|0],e=e+1|0)}if(t=a>>>0>(b=b+1|0)>>>0,(0|b)!=(0|a))continue}break}l=f[n>>2]}else for(e=0,t=1;;){if(!W(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],l))break i;if(t=a>>>0>(e=e+1|0)>>>0,(0|e)==(0|a))break}else t=0;l&&ee(l),e=!t}else{if(e=f[r+48>>2],r=f[f[r>>2]>>2],t=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,c){if((0|c)<0)break r;t=ge(l=br(c),e+r|0,c)+c|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=t,f[i+4>>2]=t,f[i>>2]=l,e=1}I=n+16|0,e&=1;break e}ii(),E()}ii(),E()}return 0|e},ab:function(e,t,r,i){e|=0,r|=0,i|=0;var n,a,s,c=0,l=0,b=0,A=0,p=0,_=0,h=0;I=n=I-16|0,a=f[80+(t|=0)>>2],s=u[r+24|0],c=d(a,t=s<<24>>24);e:{t:{r:{if(!(1==(0|(e=f[r+28>>2]))|2==(0|e))|!u[r+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,t){if((0|t)<0)break r;l=br(t),f[n>>2]=l,e=t+l|0,f[n+8>>2]=e,Ye(l,0,t),f[n+4>>2]=e}i:if((p=(e=f[i+4>>2])-(A=f[i>>2])|0)>>>0<c>>>0){if((_=c-p|0)>>>0<=(h=f[i+8>>2])-e>>>0){_&&(e=Ye(e,0,_)+_|0),f[i+4>>2]=e;break i}if((0|c)<0)break t;if(h=(e=h-A|0)<<1,(e=e>>>0<1073741823?c>>>0>h>>>0?c:h:2147483647)&&(b=br(e)),Ye(b+p|0,0,_),(0|p)>0&&ge(b,A,p),f[i+8>>2]=e+b,f[i+4>>2]=c+b,f[i>>2]=b,!A)break i;ee(A)}else c>>>0>=p>>>0||(f[i+4>>2]=c+A);i:if(a)if(t){for(A=-2&(e=t-1|0),p=1&e,e=0,t=1,b=0;;){if(c=f[n>>2],Z(r,u[r+84|0]?b:f[f[r+68>>2]+(b<<2)>>2],o[r+24|0],c)){o[f[i>>2]+e|0]=u[0|c],t=1,e=e+1|0,l=0;n:{o:switch(s-1|0){default:for(;o[f[i>>2]+e|0]=u[f[n>>2]+t|0],o[1+(f[i>>2]+e|0)|0]=u[1+(f[n>>2]+t|0)|0],t=t+2|0,e=e+2|0,(0|A)!=(0|(l=l+2|0)););break;case 0:break n;case 1:}p&&(o[f[i>>2]+e|0]=u[f[n>>2]+t|0],e=e+1|0)}if(t=a>>>0>(b=b+1|0)>>>0,(0|b)!=(0|a))continue}break}l=f[n>>2]}else for(e=0,t=1;;){if(!Z(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],l))break i;if(t=a>>>0>(e=e+1|0)>>>0,(0|e)==(0|a))break}else t=0;l&&ee(l),e=!t}else{if(e=f[r+48>>2],r=f[f[r>>2]>>2],t=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,c){if((0|c)<0)break r;t=ge(l=br(c),e+r|0,c)+c|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=t,f[i+4>>2]=t,f[i>>2]=l,e=1}I=n+16|0,e&=1;break e}ii(),E()}ii(),E()}return 0|e},bb:function(e,t,r,i){e|=0,r|=0,i|=0;var n,s=0,c=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;I=n=I-16|0,A=f[80+(t|=0)>>2],e=o[r+24|0],s=d(A,e);e:{t:{if(!(3==(0|(t=f[r+28>>2]))|4==(0|t))|!u[r+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,e){if((0|e)<0)break t;b=br(t=e<<1),f[n>>2]=b,c=t+b|0,f[n+8>>2]=c,Ye(b,0,t),f[n+4>>2]=c}c=f[i>>2],(t=f[i+4>>2]-c>>1)>>>0<s>>>0?bt(i,s-t|0):t>>>0<=s>>>0||(f[i+4>>2]=c+(s<<1));r:if(A)if(e){for(v=-4&e,m=3&e,g=e-1>>>0<3,t=1,s=0;;){if(z(r,u[r+84|0]?s:f[f[r+68>>2]+(s<<2)>>2],o[r+24|0],b)){if(y=f[i>>2],k=0,c=f[n>>2],e=0,t=0,!g)for(;h=e<<1,a[(_=(p<<1)+y|0)>>1]=l[c+h>>1],a[_+2>>1]=l[c+(2|h)>>1],a[_+4>>1]=l[c+(4|h)>>1],a[_+6>>1]=l[c+(6|h)>>1],e=e+4|0,p=p+4|0,(0|v)!=(0|(t=t+4|0)););if(m)for(;a[(p<<1)+y>>1]=l[c+(e<<1)>>1],e=e+1|0,p=p+1|0,(0|(k=k+1|0))!=(0|m););if(t=A>>>0>(s=s+1|0)>>>0,(0|s)!=(0|A))continue}break}b=f[n>>2]}else for(e=0,t=1;;){if(!z(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],b))break r;if(t=A>>>0>(e=e+1|0)>>>0,(0|e)==(0|A))break}else t=0;b&&ee(b),e=1^t}else{if(b=f[r+48>>2],A=f[f[r>>2]>>2],t=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,r=0,e=s<<1){if((0|e)<0)break t;p=(t=ge(r=br(e),b+A|0,e))+e|0,t=t+(e>>1<<1)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=t,f[i+4>>2]=p,f[i>>2]=r,e=1}I=n+16|0,e&=1;break e}ii(),E()}return 0|e},cb:function(e,t,r,i){e|=0,r|=0,i|=0;var n,s=0,c=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;I=n=I-16|0,A=f[80+(t|=0)>>2],e=o[r+24|0],s=d(A,e);e:{t:{if(!(3==(0|(t=f[r+28>>2]))|4==(0|t))|!u[r+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,e){if((0|e)<0)break t;b=br(t=e<<1),f[n>>2]=b,c=t+b|0,f[n+8>>2]=c,Ye(b,0,t),f[n+4>>2]=c}c=f[i>>2],(t=f[i+4>>2]-c>>1)>>>0<s>>>0?bt(i,s-t|0):t>>>0<=s>>>0||(f[i+4>>2]=c+(s<<1));r:if(A)if(e){for(v=-4&e,m=3&e,g=e-1>>>0<3,t=1,s=0;;){if(J(r,u[r+84|0]?s:f[f[r+68>>2]+(s<<2)>>2],o[r+24|0],b)){if(y=f[i>>2],k=0,c=f[n>>2],e=0,t=0,!g)for(;h=e<<1,a[(_=(p<<1)+y|0)>>1]=l[c+h>>1],a[_+2>>1]=l[c+(2|h)>>1],a[_+4>>1]=l[c+(4|h)>>1],a[_+6>>1]=l[c+(6|h)>>1],e=e+4|0,p=p+4|0,(0|v)!=(0|(t=t+4|0)););if(m)for(;a[(p<<1)+y>>1]=l[c+(e<<1)>>1],e=e+1|0,p=p+1|0,(0|(k=k+1|0))!=(0|m););if(t=A>>>0>(s=s+1|0)>>>0,(0|s)!=(0|A))continue}break}b=f[n>>2]}else for(e=0,t=1;;){if(!J(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],b))break r;if(t=A>>>0>(e=e+1|0)>>>0,(0|e)==(0|A))break}else t=0;b&&ee(b),e=1^t}else{if(b=f[r+48>>2],A=f[f[r>>2]>>2],t=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,r=0,e=s<<1){if((0|e)<0)break t;p=(t=ge(r=br(e),b+A|0,e))+e|0,t=t+(e>>1<<1)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=t,f[i+4>>2]=p,f[i>>2]=r,e=1}I=n+16|0,e&=1;break e}ii(),E()}return 0|e},db:_e,eb:function(e,t,r,i){e|=0,r|=0,i|=0;var n,a=0,s=0,c=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0;I=n=I-16|0,l=f[80+(t|=0)>>2],e=o[r+24|0],a=d(l,e);e:{t:{if(!(5==(0|(t=f[r+28>>2]))|6==(0|t))|!u[r+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,e){if((0|e)<0)break t;c=br(t=e<<2),f[n>>2]=c,s=t+c|0,f[n+8>>2]=s,Ye(c,0,t),f[n+4>>2]=s}s=f[i>>2],(t=f[i+4>>2]-s>>2)>>>0<a>>>0?st(i,a-t|0):t>>>0<=a>>>0||(f[i+4>>2]=s+(a<<2));r:if(l)if(e){for(m=-4&e,h=3&e,y=e-1>>>0<3,t=1,a=0;;){if(X(r,u[r+84|0]?a:f[f[r+68>>2]+(a<<2)>>2],o[r+24|0],c)){if(k=f[i>>2],_=0,s=f[n>>2],e=0,t=0,!y)for(;p=e<<2,f[(A=(b<<2)+k|0)>>2]=f[s+p>>2],f[A+4>>2]=f[s+(4|p)>>2],f[A+8>>2]=f[s+(8|p)>>2],f[A+12>>2]=f[s+(12|p)>>2],e=e+4|0,b=b+4|0,(0|m)!=(0|(t=t+4|0)););if(h)for(;f[(b<<2)+k>>2]=f[s+(e<<2)>>2],e=e+1|0,b=b+1|0,(0|(_=_+1|0))!=(0|h););if(t=l>>>0>(a=a+1|0)>>>0,(0|a)!=(0|l))continue}break}c=f[n>>2]}else for(e=0,t=1;;){if(!X(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],c))break r;if(t=l>>>0>(e=e+1|0)>>>0,(0|e)==(0|l))break}else t=0;c&&ee(c),e=1^t}else{if(c=f[r+48>>2],l=f[f[r>>2]>>2],t=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,r=0,e=a<<2){if((0|e)<0)break t;b=(t=ge(r=br(e),c+l|0,e))+e|0,t=t+(e>>2<<2)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=t,f[i+4>>2]=b,f[i>>2]=r,e=1}I=n+16|0,e&=1;break e}ii(),E()}return 0|e},fb:function(e,t,r,i,n,s){e|=0,t|=0,r|=0,n|=0,s|=0;var c=0,b=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,R=0,x=0,N=0,C=0;e:{t:{r:{i:{n:switch((i|=0)-1|0){case 0:e=0,I=k=I-16|0,_=f[t+80>>2],c=o[r+24|0];o:if((0|d(_,c))==(0|n))if((t=1!=f[r+28>>2])|!(e=u[r+84|0])){if(i=0,f[k+8>>2]=0,f[k>>2]=0,f[k+4>>2]=0,c){if((0|c)<0)break i;b=br(c),f[k>>2]=b,Ye(b,0,c)}a:{f:if(_){if(t){if(!c)for(t=0,i=1;;){if(!W(r,255&e?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],b))break f;if(i=_>>>0>(t=t+1|0)>>>0,(0|t)==(0|_))break f;e=u[r+84|0]}for(p=-4&c,h=3&c,t=0,v=c-1>>>0<3,i=1,n=0;;){if(!W(r,255&e?n:f[f[r+68>>2]+(n<<2)>>2],o[r+24|0],b))break f;if(i=0,e=0,m=0,!v)for(;o[0|(c=t+s|0)]=u[e+b|0],o[c+1|0]=u[(1|e)+b|0],o[c+2|0]=u[(2|e)+b|0],o[c+3|0]=u[(3|e)+b|0],e=e+4|0,t=t+4|0,(0|p)!=(0|(m=m+4|0)););if(h)for(;o[t+s|0]=u[e+b|0],e=e+1|0,t=t+1|0,(0|h)!=(0|(i=i+1|0)););if((0|_)==(0|(n=n+1|0)))break;i=n>>>0<_>>>0,e=u[r+84|0]}e=n>>>0>=_>>>0;break a}if(c)for(v=-4&c,h=3&c,t=0,B=c-1>>>0<3;;){if(n=f[f[r>>2]>>2],w=f[r+40>>2],n=ge(b,n+(e=f[r+48>>2]+Jt(w,f[r+44>>2],255&e?i:f[f[r+68>>2]+(i<<2)>>2],0)|0)|0,w),m=0,e=0,p=0,!B)for(;o[0|(c=t+s|0)]=u[e+n|0],o[c+1|0]=u[n+(1|e)|0],o[c+2|0]=u[n+(2|e)|0],o[c+3|0]=u[n+(3|e)|0],e=e+4|0,t=t+4|0,(0|v)!=(0|(p=p+4|0)););if(h)for(;o[t+s|0]=u[e+n|0],e=e+1|0,t=t+1|0,(0|h)!=(0|(m=m+1|0)););if(e=1,(0|_)==(0|(i=i+1|0)))break a;e=u[r+84|0]}if(m=f[r>>2],n=f[r+48>>2],B=f[r+68>>2],s=f[r+44>>2],w=r=f[r+40>>2],t=0,1!=(0|_))for(g=-2&_,T=255&e;c=1|t,h=ge(b,(y=f[m>>2])+(h=Jt(r,s,T?t:f[B+(t<<2)>>2],0)+n|0)|0,w),y=f[m>>2],T||(c=f[B+(c<<2)>>2]),ge(h,(c=Jt(r,s,c,0)+n|0)+y|0,w),t=t+2|0,(0|g)!=(0|(p=p+2|0)););if(!(1&_))break f;c=f[m>>2],255&e||(t=f[B+(t<<2)>>2]),ge(b,(e=Jt(r,s,t,0)+n|0)+c|0,w)}if(e=1^i,!b)break o}ee(b)}else ge(s,f[f[r>>2]>>2]+f[r+48>>2]|0,n),e=1;break r;case 2:e=0,I=m=I-16|0,c=(i=o[r+24|0])<<1,_=f[t+80>>2];o:if((0|d(c,_))==(0|n))if((t=3!=f[r+28>>2])|!(e=u[r+84|0])){if(f[m+8>>2]=0,f[m>>2]=0,f[m+4>>2]=0,i){if((0|i)<0)break i;b=br(c),f[m>>2]=b,Ye(b,0,c)}a:{f:if(_){if(t){if(!i)for(t=0,p=1;;){if(!z(r,255&e?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],b))break f;if(p=_>>>0>(t=t+1|0)>>>0,(0|t)==(0|_))break f;e=u[r+84|0]}for(v=-4&i,k=3&i,t=0,B=i-1>>>0<3,p=1,i=0;;){if(!z(r,255&e?i:f[f[r+68>>2]+(i<<2)>>2],o[r+24|0],b))break f;if(p=0,e=0,n=0,!B)for(;h=e<<1,a[(c=(t<<1)+s|0)>>1]=l[h+b>>1],a[c+2>>1]=l[(2|h)+b>>1],a[c+4>>1]=l[(4|h)+b>>1],a[c+6>>1]=l[(6|h)+b>>1],e=e+4|0,t=t+4|0,(0|v)!=(0|(n=n+4|0)););if(k)for(;a[(t<<1)+s>>1]=l[(e<<1)+b>>1],e=e+1|0,t=t+1|0,(0|k)!=(0|(p=p+1|0)););if((0|_)==(0|(i=i+1|0)))break;p=i>>>0<_>>>0,e=u[r+84|0]}e=i>>>0>=_>>>0;break a}if(v=f[r>>2],c=f[r+48>>2],w=f[r+68>>2],h=f[r+44>>2],T=k=f[r+40>>2],i){for(x=-4&i,R=3&i,t=0,N=255&e,C=i-1>>>0<3,i=0;;){if(p=ge(b,(r=f[v>>2])+(e=Jt(k,h,N?i:f[w+(i<<2)>>2],0)+c|0)|0,T),n=0,e=0,r=0,!C)for(;y=e<<1,a[(g=(t<<1)+s|0)>>1]=l[y+p>>1],a[g+2>>1]=l[p+(2|y)>>1],a[g+4>>1]=l[p+(4|y)>>1],a[g+6>>1]=l[p+(6|y)>>1],e=e+4|0,t=t+4|0,(0|x)!=(0|(r=r+4|0)););if(R)for(;a[(t<<1)+s>>1]=l[p+(e<<1)>>1],e=e+1|0,t=t+1|0,(0|R)!=(0|(n=n+1|0)););if(e=1,(0|_)==(0|(i=i+1|0)))break}break a}if(t=0,1!=(0|_))for(g=-2&_,s=255&e,i=0;r=1|t,n=ge(b,(y=f[v>>2])+(n=Jt(k,h,s?t:f[w+(t<<2)>>2],0)+c|0)|0,T),y=f[v>>2],s||(r=f[w+(r<<2)>>2]),ge(n,(r=Jt(k,h,r,0)+c|0)+y|0,T),t=t+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&_))break f;r=f[v>>2],255&e||(t=f[w+(t<<2)>>2]),ge(b,(e=Jt(k,h,t,0)+c|0)+r|0,T)}if(e=1^p,!b)break o}ee(b)}else ge(s,f[f[r>>2]>>2]+f[r+48>>2]|0,n),e=1;break t;case 4:e=0,I=m=I-16|0,c=(i=o[r+24|0])<<2,_=f[t+80>>2];o:if((0|d(c,_))==(0|n))if((t=5!=f[r+28>>2])|!(e=u[r+84|0])){if(f[m+8>>2]=0,f[m>>2]=0,f[m+4>>2]=0,i){if((0|i)<0)break i;b=br(c),f[m>>2]=b,Ye(b,0,c)}a:{f:if(_){if(t){if(!i)for(t=0,p=1;;){if(!L(r,255&e?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],b))break f;if(p=_>>>0>(t=t+1|0)>>>0,(0|t)==(0|_))break f;e=u[r+84|0]}for(v=-4&i,k=3&i,t=0,B=i-1>>>0<3,p=1,i=0;;){if(!L(r,255&e?i:f[f[r+68>>2]+(i<<2)>>2],o[r+24|0],b))break f;if(p=0,e=0,n=0,!B)for(;h=e<<2,f[(c=(t<<2)+s|0)>>2]=f[h+b>>2],f[c+4>>2]=f[(4|h)+b>>2],f[c+8>>2]=f[(8|h)+b>>2],f[c+12>>2]=f[(12|h)+b>>2],e=e+4|0,t=t+4|0,(0|v)!=(0|(n=n+4|0)););if(k)for(;f[(t<<2)+s>>2]=f[(e<<2)+b>>2],e=e+1|0,t=t+1|0,(0|k)!=(0|(p=p+1|0)););if((0|_)==(0|(i=i+1|0)))break;p=i>>>0<_>>>0,e=u[r+84|0]}e=i>>>0>=_>>>0;break a}if(v=f[r>>2],c=f[r+48>>2],w=f[r+68>>2],h=f[r+44>>2],T=k=f[r+40>>2],i){for(x=-4&i,R=3&i,t=0,N=255&e,C=i-1>>>0<3,i=0;;){if(p=ge(b,(r=f[v>>2])+(e=Jt(k,h,N?i:f[w+(i<<2)>>2],0)+c|0)|0,T),n=0,e=0,r=0,!C)for(;y=e<<2,f[(g=(t<<2)+s|0)>>2]=f[y+p>>2],f[g+4>>2]=f[p+(4|y)>>2],f[g+8>>2]=f[p+(8|y)>>2],f[g+12>>2]=f[p+(12|y)>>2],e=e+4|0,t=t+4|0,(0|x)!=(0|(r=r+4|0)););if(R)for(;f[(t<<2)+s>>2]=f[p+(e<<2)>>2],e=e+1|0,t=t+1|0,(0|R)!=(0|(n=n+1|0)););if(e=1,(0|_)==(0|(i=i+1|0)))break}break a}if(t=0,1!=(0|_))for(g=-2&_,s=255&e,i=0;r=1|t,n=ge(b,(y=f[v>>2])+(n=Jt(k,h,s?t:f[w+(t<<2)>>2],0)+c|0)|0,T),y=f[v>>2],s||(r=f[w+(r<<2)>>2]),ge(n,(r=Jt(k,h,r,0)+c|0)+y|0,T),t=t+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&_))break f;r=f[v>>2],255&e||(t=f[w+(t<<2)>>2]),ge(b,(e=Jt(k,h,t,0)+c|0)+r|0,T)}if(e=1^p,!b)break o}ee(b)}else ge(s,f[f[r>>2]>>2]+f[r+48>>2]|0,n),e=1;break t;case 1:e=0,I=k=I-16|0,_=f[t+80>>2],c=o[r+24|0];o:if((0|d(_,c))==(0|n))if((t=2!=f[r+28>>2])|!(e=u[r+84|0])){if(i=0,f[k+8>>2]=0,f[k>>2]=0,f[k+4>>2]=0,c){if((0|c)<0)break i;b=br(c),f[k>>2]=b,Ye(b,0,c)}a:{f:if(_){if(t){if(!c)for(t=0,i=1;;){if(!Z(r,255&e?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],b))break f;if(i=_>>>0>(t=t+1|0)>>>0,(0|t)==(0|_))break f;e=u[r+84|0]}for(p=-4&c,h=3&c,t=0,v=c-1>>>0<3,i=1,n=0;;){if(!Z(r,255&e?n:f[f[r+68>>2]+(n<<2)>>2],o[r+24|0],b))break f;if(i=0,e=0,m=0,!v)for(;o[0|(c=t+s|0)]=u[e+b|0],o[c+1|0]=u[(1|e)+b|0],o[c+2|0]=u[(2|e)+b|0],o[c+3|0]=u[(3|e)+b|0],e=e+4|0,t=t+4|0,(0|p)!=(0|(m=m+4|0)););if(h)for(;o[t+s|0]=u[e+b|0],e=e+1|0,t=t+1|0,(0|h)!=(0|(i=i+1|0)););if((0|_)==(0|(n=n+1|0)))break;i=n>>>0<_>>>0,e=u[r+84|0]}e=n>>>0>=_>>>0;break a}if(c)for(v=-4&c,h=3&c,t=0,B=c-1>>>0<3;;){if(n=f[f[r>>2]>>2],w=f[r+40>>2],n=ge(b,n+(e=f[r+48>>2]+Jt(w,f[r+44>>2],255&e?i:f[f[r+68>>2]+(i<<2)>>2],0)|0)|0,w),m=0,e=0,p=0,!B)for(;o[0|(c=t+s|0)]=u[e+n|0],o[c+1|0]=u[n+(1|e)|0],o[c+2|0]=u[n+(2|e)|0],o[c+3|0]=u[n+(3|e)|0],e=e+4|0,t=t+4|0,(0|v)!=(0|(p=p+4|0)););if(h)for(;o[t+s|0]=u[e+n|0],e=e+1|0,t=t+1|0,(0|h)!=(0|(m=m+1|0)););if(e=1,(0|_)==(0|(i=i+1|0)))break a;e=u[r+84|0]}if(m=f[r>>2],n=f[r+48>>2],B=f[r+68>>2],s=f[r+44>>2],w=r=f[r+40>>2],t=0,1!=(0|_))for(g=-2&_,T=255&e;c=1|t,h=ge(b,(y=f[m>>2])+(h=Jt(r,s,T?t:f[B+(t<<2)>>2],0)+n|0)|0,w),y=f[m>>2],T||(c=f[B+(c<<2)>>2]),ge(h,(c=Jt(r,s,c,0)+n|0)+y|0,w),t=t+2|0,(0|g)!=(0|(p=p+2|0)););if(!(1&_))break f;c=f[m>>2],255&e||(t=f[B+(t<<2)>>2]),ge(b,(e=Jt(r,s,t,0)+n|0)+c|0,w)}if(e=1^i,!b)break o}ee(b)}else ge(s,f[f[r>>2]>>2]+f[r+48>>2]|0,n),e=1;break r;case 3:e=0,I=m=I-16|0,c=(i=o[r+24|0])<<1,_=f[t+80>>2];o:if((0|d(c,_))==(0|n))if((t=4!=f[r+28>>2])|!(e=u[r+84|0])){if(f[m+8>>2]=0,f[m>>2]=0,f[m+4>>2]=0,i){if((0|i)<0)break i;b=br(c),f[m>>2]=b,Ye(b,0,c)}a:{f:if(_){if(t){if(!i)for(t=0,p=1;;){if(!J(r,255&e?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],b))break f;if(p=_>>>0>(t=t+1|0)>>>0,(0|t)==(0|_))break f;e=u[r+84|0]}for(v=-4&i,k=3&i,t=0,B=i-1>>>0<3,p=1,i=0;;){if(!J(r,255&e?i:f[f[r+68>>2]+(i<<2)>>2],o[r+24|0],b))break f;if(p=0,e=0,n=0,!B)for(;h=e<<1,a[(c=(t<<1)+s|0)>>1]=l[h+b>>1],a[c+2>>1]=l[(2|h)+b>>1],a[c+4>>1]=l[(4|h)+b>>1],a[c+6>>1]=l[(6|h)+b>>1],e=e+4|0,t=t+4|0,(0|v)!=(0|(n=n+4|0)););if(k)for(;a[(t<<1)+s>>1]=l[(e<<1)+b>>1],e=e+1|0,t=t+1|0,(0|k)!=(0|(p=p+1|0)););if((0|_)==(0|(i=i+1|0)))break;p=i>>>0<_>>>0,e=u[r+84|0]}e=i>>>0>=_>>>0;break a}if(v=f[r>>2],c=f[r+48>>2],w=f[r+68>>2],h=f[r+44>>2],T=k=f[r+40>>2],i){for(x=-4&i,R=3&i,t=0,N=255&e,C=i-1>>>0<3,i=0;;){if(p=ge(b,(r=f[v>>2])+(e=Jt(k,h,N?i:f[w+(i<<2)>>2],0)+c|0)|0,T),n=0,e=0,r=0,!C)for(;y=e<<1,a[(g=(t<<1)+s|0)>>1]=l[y+p>>1],a[g+2>>1]=l[p+(2|y)>>1],a[g+4>>1]=l[p+(4|y)>>1],a[g+6>>1]=l[p+(6|y)>>1],e=e+4|0,t=t+4|0,(0|x)!=(0|(r=r+4|0)););if(R)for(;a[(t<<1)+s>>1]=l[p+(e<<1)>>1],e=e+1|0,t=t+1|0,(0|R)!=(0|(n=n+1|0)););if(e=1,(0|_)==(0|(i=i+1|0)))break}break a}if(t=0,1!=(0|_))for(g=-2&_,s=255&e,i=0;r=1|t,n=ge(b,(y=f[v>>2])+(n=Jt(k,h,s?t:f[w+(t<<2)>>2],0)+c|0)|0,T),y=f[v>>2],s||(r=f[w+(r<<2)>>2]),ge(n,(r=Jt(k,h,r,0)+c|0)+y|0,T),t=t+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&_))break f;r=f[v>>2],255&e||(t=f[w+(t<<2)>>2]),ge(b,(e=Jt(k,h,t,0)+c|0)+r|0,T)}if(e=1^p,!b)break o}ee(b)}else ge(s,f[f[r>>2]>>2]+f[r+48>>2]|0,n),e=1;break t;case 5:e=0,I=m=I-16|0,c=(i=o[r+24|0])<<2,_=f[t+80>>2];o:if((0|d(c,_))==(0|n))if((t=6!=f[r+28>>2])|!(e=u[r+84|0])){if(f[m+8>>2]=0,f[m>>2]=0,f[m+4>>2]=0,i){if((0|i)<0)break i;b=br(c),f[m>>2]=b,Ye(b,0,c)}a:{f:if(_){if(t){if(!i)for(t=0,p=1;;){if(!X(r,255&e?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],b))break f;if(p=_>>>0>(t=t+1|0)>>>0,(0|t)==(0|_))break f;e=u[r+84|0]}for(v=-4&i,k=3&i,t=0,B=i-1>>>0<3,p=1,i=0;;){if(!X(r,255&e?i:f[f[r+68>>2]+(i<<2)>>2],o[r+24|0],b))break f;if(p=0,e=0,n=0,!B)for(;h=e<<2,f[(c=(t<<2)+s|0)>>2]=f[h+b>>2],f[c+4>>2]=f[(4|h)+b>>2],f[c+8>>2]=f[(8|h)+b>>2],f[c+12>>2]=f[(12|h)+b>>2],e=e+4|0,t=t+4|0,(0|v)!=(0|(n=n+4|0)););if(k)for(;f[(t<<2)+s>>2]=f[(e<<2)+b>>2],e=e+1|0,t=t+1|0,(0|k)!=(0|(p=p+1|0)););if((0|_)==(0|(i=i+1|0)))break;p=i>>>0<_>>>0,e=u[r+84|0]}e=i>>>0>=_>>>0;break a}if(v=f[r>>2],c=f[r+48>>2],w=f[r+68>>2],h=f[r+44>>2],T=k=f[r+40>>2],i){for(x=-4&i,R=3&i,t=0,N=255&e,C=i-1>>>0<3,i=0;;){if(p=ge(b,(r=f[v>>2])+(e=Jt(k,h,N?i:f[w+(i<<2)>>2],0)+c|0)|0,T),n=0,e=0,r=0,!C)for(;y=e<<2,f[(g=(t<<2)+s|0)>>2]=f[y+p>>2],f[g+4>>2]=f[p+(4|y)>>2],f[g+8>>2]=f[p+(8|y)>>2],f[g+12>>2]=f[p+(12|y)>>2],e=e+4|0,t=t+4|0,(0|x)!=(0|(r=r+4|0)););if(R)for(;f[(t<<2)+s>>2]=f[p+(e<<2)>>2],e=e+1|0,t=t+1|0,(0|R)!=(0|(n=n+1|0)););if(e=1,(0|_)==(0|(i=i+1|0)))break}break a}if(t=0,1!=(0|_))for(g=-2&_,s=255&e,i=0;r=1|t,n=ge(b,(y=f[v>>2])+(n=Jt(k,h,s?t:f[w+(t<<2)>>2],0)+c|0)|0,T),y=f[v>>2],s||(r=f[w+(r<<2)>>2]),ge(n,(r=Jt(k,h,r,0)+c|0)+y|0,T),t=t+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&_))break f;r=f[v>>2],255&e||(t=f[w+(t<<2)>>2]),ge(b,(e=Jt(k,h,t,0)+c|0)+r|0,T)}if(e=1^p,!b)break o}ee(b)}else ge(s,f[f[r>>2]>>2]+f[r+48>>2]|0,n),e=1;break t;case 8:break n;default:break e}e=0,I=v=I-16|0,i=(h=o[r+24|0])<<2,_=f[t+80>>2];n:if((0|d(i,_))==(0|n)){n=f[r+28>>2],f[v+8>>2]=0,f[v>>2]=0,f[v+4>>2]=0,t=0;o:{a:{f:{if(h){if((0|h)<0)break f;if(t=br(i),f[v>>2]=t,c=(h<<2)+t|0,f[v+8>>2]=c,k=1+((i=i-4|0)>>>2|0)&7)for(e=t;f[e>>2]=-1073741824,e=e+4|0,(0|k)!=(0|(b=b+1|0)););else e=t;if(!(i>>>0<28))for(;f[e+24>>2]=-1073741824,f[e+28>>2]=-1073741824,f[e+16>>2]=-1073741824,f[e+20>>2]=-1073741824,f[e+8>>2]=-1073741824,f[e+12>>2]=-1073741824,f[e>>2]=-1073741824,f[e+4>>2]=-1073741824,(0|c)!=(0|(e=e+32|0)););}if(!_)break a;if(9==(0|n)){if(e=0,B=f[r>>2],i=f[r+48>>2],T=f[r+68>>2],g=u[r+84|0],n=f[r+44>>2],y=c=f[r+40>>2],(0|h)<=0){if(1!=(0|_))for(h=-2&_,r=0;s=1|e,b=ge(t,(k=f[B>>2])+(b=Jt(c,n,g?e:f[T+(e<<2)>>2],0)+i|0)|0,y),k=f[B>>2],g||(s=f[T+(s<<2)>>2]),ge(b,(s=Jt(c,n,s,0)+i|0)+k|0,y),e=e+2|0,(0|h)!=(0|(r=r+2|0)););if(!(1&_))break a;r=f[B>>2],g||(e=f[T+(e<<2)>>2]),ge(t,(e=Jt(c,n,e,0)+i|0)+r|0,y);break a}for(N=-4&h,R=3&h,b=0,C=h-1>>>0<3;;){if(r=ge(t,(r=f[B>>2])+(e=Jt(c,n,g?p:f[T+(p<<2)>>2],0)+i|0)|0,y),k=0,e=0,x=0,!C)for(;m=e<<2,A[(h=(b<<2)+s|0)>>2]=A[m+r>>2],A[h+4>>2]=A[r+(4|m)>>2],A[h+8>>2]=A[r+(8|m)>>2],A[h+12>>2]=A[r+(12|m)>>2],e=e+4|0,b=b+4|0,(0|N)!=(0|(x=x+4|0)););if(R)for(;A[(b<<2)+s>>2]=A[r+(e<<2)>>2],e=e+1|0,b=b+1|0,(0|R)!=(0|(k=k+1|0)););if(e=1,(0|_)==(0|(p=p+1|0)))break}break o}if(m=1,(0|h)<=0){for(e=0;;){if(!V(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],t))break a;if(m=_>>>0>(e=e+1|0)>>>0,(0|e)==(0|_))break}break a}for(B=-4&h,c=3&h,b=0,h=h-1>>>0<3;;){if(!V(r,u[r+84|0]?p:f[f[r+68>>2]+(p<<2)>>2],o[r+24|0],t))break a;if(m=0,e=0,k=0,!h)for(;n=e<<2,A[(i=(b<<2)+s|0)>>2]=A[n+t>>2],A[i+4>>2]=A[(4|n)+t>>2],A[i+8>>2]=A[(8|n)+t>>2],A[i+12>>2]=A[(12|n)+t>>2],e=e+4|0,b=b+4|0,(0|B)!=(0|(k=k+4|0)););if(c)for(;A[(b<<2)+s>>2]=A[(e<<2)+t>>2],e=e+1|0,b=b+1|0,(0|c)!=(0|(m=m+1|0)););if(m=_>>>0>(p=p+1|0)>>>0,(0|p)==(0|_))break}e=p>>>0>=_>>>0;break o}ii(),E()}if(e=1^m,!t)break n}ee(t)}I=v+16|0,b=1&e;break e}ii(),E()}I=k+16|0,b=1&e;break e}I=m+16|0,b=1&e}return 0|b},gb:function(e,t){e|=0,t|=0;var r,i=0,n=0,a=0,s=0,c=0,l=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0;I=r=I-16|0,f[r+12>>2]=t,t=br(32),f[r>>2]=t,f[r+4>>2]=24,f[r+8>>2]=-2147483616,o[t+24|0]=0,n=u[1308]|u[1309]<<8|u[1310]<<16|u[1311]<<24,i=u[1304]|u[1305]<<8|u[1306]<<16|u[1307]<<24,o[t+16|0]=i,o[t+17|0]=i>>>8,o[t+18|0]=i>>>16,o[t+19|0]=i>>>24,o[t+20|0]=n,o[t+21|0]=n>>>8,o[t+22|0]=n>>>16,o[t+23|0]=n>>>24,n=u[1300]|u[1301]<<8|u[1302]<<16|u[1303]<<24,i=u[1296]|u[1297]<<8|u[1298]<<16|u[1299]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=n,o[t+13|0]=n>>>8,o[t+14|0]=n>>>16,o[t+15|0]=n>>>24,n=u[1292]|u[1293]<<8|u[1294]<<16|u[1295]<<24,i=u[1288]|u[1289]<<8|u[1290]<<16|u[1291]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=n,o[t+5|0]=n>>>8,o[t+6|0]=n>>>16,o[t+7|0]=n>>>24,I=l=I-48|0,d=e;e:{if(e=f[(n=e+16|0)>>2]){for(i=f[r+12>>2],t=n;t=(s=(0|i)>f[e+16>>2])?t:e,e=f[(s<<2)+e>>2];);if((0|t)!=(0|n)&&(0|i)>=f[t+16>>2])break e}if(f[4+(e=w=l+24|0)>>2]=0,f[e+8>>2]=0,T=e+4|0,f[e>>2]=T,e=f[r+12>>2],f[(i=l+16|0)>>2]=0,f[i+4>>2]=0,f[l+8>>2]=e,f[l+12>>2]=i,(0|T)!=(0|(t=f[w>>2])))for(_=l+8|4;;){s=t,c=t+16|0,I=y=I-16|0,A=y+12|0,e=y+8|0;t:{r:{i:{n:{o:{a:{f:if((0|(v=_+4|0))!=(0|i))if(a=(t=u[i+27|0])<<24>>24<0,p=(0|(B=(h=u[c+11|0])<<24>>24))<0,m=(k=(t=a?f[i+20>>2]:t)>>>0<(h=p?f[c+4>>2]:h)>>>0)?t:h){if(g=i+16|0,!(g=Rt(p=p?f[c>>2]:c,a=a?f[g>>2]:g,m))){if(t>>>0>h>>>0)break f;break a}if((0|g)>=0)break a}else if(t>>>0<=h>>>0)break o;a=f[i>>2];f:{s:if((0|(e=i))!=f[_>>2]){if(a)for(t=a;e=t,t=f[t+4>>2];);else{if(e=i+8|0,(0|i)==f[f[i+8>>2]>>2])for(;e=(t=f[e>>2])+8|0,(0|t)==f[f[t+8>>2]>>2];);e=f[e>>2]}if(t=(p=u[c+11|0])<<24>>24<0,h=(k=u[e+27|0])<<24>>24<0,!((m=(p=t?f[c+4>>2]:p)>>>0<(k=h?f[e+20>>2]:k)>>>0?p:k)&&(v=e+16|0,t=Rt(h?f[v>>2]:v,t?f[c>>2]:c,m)))){if(p>>>0>k>>>0)break s;break f}if((0|t)>=0)break f}if(!a){f[A>>2]=i,e=i;break t}f[A>>2]=e,e=e+4|0;break t}e=qe(_,A,c);break t}if(t=Rt(a,p,m))break n}if(k)break i;break r}if((0|t)>=0)break r}if(a=f[i+4>>2])for(t=a;e=t,t=f[t>>2];);else if(e=f[i+8>>2],(0|i)!=f[e>>2])for(t=i+8|0;t=(p=f[t>>2])+8|0,e=f[p+8>>2],(0|p)!=f[e>>2];);i:{n:if((0|e)!=(0|v)){if(!((k=(p=(t=(p=u[e+27|0])<<24>>24<0)?f[e+20>>2]:p)>>>0<h>>>0?p:h)&&(m=e+16|0,t=Rt((0|B)<0?f[c>>2]:c,t?f[m>>2]:m,k)))){if(p>>>0>h>>>0)break n;break i}if((0|t)>=0)break i}if(!a){f[A>>2]=i,e=i+4|0;break t}f[A>>2]=e;break t}e=qe(_,A,c);break t}f[A>>2]=i,f[e>>2]=i}(e=f[(t=e)>>2])?t=0:(a=(e=br(40))+16|0,o[c+11|0]>=0?(A=f[c+4>>2],f[a>>2]=f[c>>2],f[a+4>>2]=A,f[a+8>>2]=f[c+8>>2]):Vt(a,f[c>>2],f[c+4>>2]),a=e+28|0,o[c+23|0]>=0?(A=f[c+16>>2],f[a>>2]=f[c+12>>2],f[a+4>>2]=A,f[a+8>>2]=f[c+20>>2]):Vt(a,f[c+12>>2],f[c+16>>2]),f[e+8>>2]=f[y+12>>2],f[e>>2]=0,f[e+4>>2]=0,f[t>>2]=e,(a=f[f[_>>2]>>2])?(f[_>>2]=a,t=f[t>>2]):t=e,Te(f[_+4>>2],t),f[_+8>>2]=f[_+8>>2]+1,t=1),o[l+44|0]=t,f[l+40>>2]=e,I=y+16|0;t:if(e=f[s+4>>2])for(;e=f[(t=e)>>2];);else{if(t=f[s+8>>2],(0|s)==f[t>>2])break t;for(e=s+8|0;e=(s=f[e>>2])+8|0,t=f[s+8>>2],(0|s)!=f[t>>2];);}if((0|t)==(0|T))break}t:{if(e=f[n>>2])for(n=d+16|0,s=f[l+8>>2];;){r:{if((0|(t=f[e+16>>2]))>(0|s)){if(t=f[e>>2])break r;n=e;break t}if((0|t)>=(0|s))break t;if(n=e+4|0,!(t=f[e+4>>2]))break t;e=n}n=e,e=t}e=n}(t=f[n>>2])||(t=br(32),f[t+16>>2]=f[l+8>>2],f[t+20>>2]=f[l+12>>2],s=t+24|0,a=f[l+16>>2],f[s>>2]=a,c=f[l+20>>2],f[t+28>>2]=c,c?(f[a+8>>2]=s,f[l+16>>2]=0,f[l+20>>2]=0,f[l+12>>2]=i):f[t+20>>2]=s,f[t+8>>2]=e,f[t>>2]=0,f[t+4>>2]=0,f[n>>2]=t,(e=f[f[d+12>>2]>>2])?(f[d+12>>2]=e,e=f[n>>2]):e=t,Te(f[d+16>>2],e),f[d+20>>2]=f[d+20>>2]+1),Ar(l+8|4,f[l+16>>2]),Ar(w,f[w+4>>2])}if(I=i=(I=d=(I=l+48|0)-48|0)-32|0,(0|(s=(c=i+32|0)-(e=n=i+21|0)|0))<=9&(0|s)<(1-(b[2744]>1)|0)?(f[i+8>>2]=c,e=61):(o[0|e]=49,f[i+8>>2]=e+1,e=0),f[i+12>>2]=e,e=d+8|0,I=a=(I=l=I-16|0)-16|0,(s=(_=f[i+8>>2])-n|0)>>>0<=4294967279){for(s>>>0<=10?(o[e+11|0]=s,i=e):(i=s>>>0>=11?11==(0|(i=(A=s+16&-16)-1|0))?A:i:10,i=br(A=i+1|0),f[e>>2]=i,f[e+8>>2]=-2147483648|A,f[e+4>>2]=s);(0|n)!=(0|_);)o[0|i]=u[0|n],i=i+1|0,n=n+1|0;o[a+15|0]=0,o[0|i]=u[a+15|0],I=a+16|0}else oi(),E();I=l+16|0,I=c,f[d+32>>2]=r;e:{t:{if(e=f[4+(i=t+20|0)>>2])for(a=(n=(t=u[r+11|0])<<24>>24<0)?f[r>>2]:r,s=n?f[r+4>>2]:t,t=i+4|0;;){r:{i:{n:{o:{a:{f:if(_=(l=(n=(c=(n=u[e+27|0])<<24>>24<0)?f[e+20>>2]:n)>>>0<s>>>0)?n:s){if(A=e+16|0,!(A=Rt(a,c=c?f[A>>2]:A,_))){if(n>>>0>s>>>0)break f;break a}if((0|A)>=0)break a}else if(n>>>0<=s>>>0)break o;if(n=f[e>>2])break r;break t}if(n=Rt(c,a,_))break n}if(l)break i;break e}if((0|n)>=0)break e}if(t=e+4|0,!(n=f[e+4>>2]))break e;e=t}t=e,e=n}e=i+4|0}t=e}(n=f[t>>2])?e=0:(a=(n=br(40))+16|0,s=f[d+32>>2],o[s+11|0]>=0?(c=f[s+4>>2],f[a>>2]=f[s>>2],f[a+4>>2]=c,f[a+8>>2]=f[s+8>>2]):Vt(a,f[s>>2],f[s+4>>2]),f[n+8>>2]=e,f[n>>2]=0,f[n+4>>2]=0,f[n+36>>2]=0,f[n+28>>2]=0,f[n+32>>2]=0,f[t>>2]=n,(e=f[f[i>>2]>>2])?(f[i>>2]=e,e=f[t>>2]):e=n,Te(f[i+4>>2],e),f[i+8>>2]=f[i+8>>2]+1,e=1),o[d+44|0]=e,f[d+40>>2]=n,e=f[d+40>>2],o[e+39|0]<0&&ee(f[e+28>>2]),t=f[d+12>>2],f[e+28>>2]=f[d+8>>2],f[e+32>>2]=t,f[e+36>>2]=f[d+16>>2],I=d+48|0,o[r+11|0]<0&&ee(f[r>>2]),I=r+16|0},hb:function(e,t){e|=0;var r,i,n=0,a=0;a=8+(i=I-32|0)|0,I=r=(I=i)-80|0,e=f[36+(t|=0)>>2],f[r+72>>2]=f[t+32>>2],f[r+76>>2]=e,n=f[t+28>>2],f[(e=r- -64|0)>>2]=f[t+24>>2],f[e+4>>2]=n,e=f[t+20>>2],f[r+56>>2]=f[t+16>>2],f[r+60>>2]=e,e=f[t+12>>2],f[r+48>>2]=f[t+8>>2],f[r+52>>2]=e,e=f[t+4>>2],f[r+40>>2]=f[t>>2],f[r+44>>2]=e,Q(r+8|0,r+40|0,r+24|0);e:if(e=f[r+8>>2]){if(f[a>>2]=e,e=a+4|0,o[r+23|0]>=0){a=f[4+(t=r+8|4)>>2],f[e>>2]=f[t>>2],f[e+4>>2]=a,f[e+8>>2]=f[t+8>>2];break e}if(Vt(e,f[r+12>>2],f[r+16>>2]),o[r+23|0]>=0)break e;ee(f[r+12>>2])}else o[r+23|0]<0&&ee(f[r+12>>2]),(e=u[r+31|0])>>>0>=2?(e=br(32),t=u[1619]|u[1620]<<8,o[e+24|0]=t,o[e+25|0]=t>>>8,t=u[1615]|u[1616]<<8|u[1617]<<16|u[1618]<<24,n=u[1611]|u[1612]<<8|u[1613]<<16|u[1614]<<24,o[e+16|0]=n,o[e+17|0]=n>>>8,o[e+18|0]=n>>>16,o[e+19|0]=n>>>24,o[e+20|0]=t,o[e+21|0]=t>>>8,o[e+22|0]=t>>>16,o[e+23|0]=t>>>24,t=u[1607]|u[1608]<<8|u[1609]<<16|u[1610]<<24,n=u[1603]|u[1604]<<8|u[1605]<<16|u[1606]<<24,o[e+8|0]=n,o[e+9|0]=n>>>8,o[e+10|0]=n>>>16,o[e+11|0]=n>>>24,o[e+12|0]=t,o[e+13|0]=t>>>8,o[e+14|0]=t>>>16,o[e+15|0]=t>>>24,t=u[1599]|u[1600]<<8|u[1601]<<16|u[1602]<<24,n=u[1595]|u[1596]<<8|u[1597]<<16|u[1598]<<24,o[0|e]=n,o[e+1|0]=n>>>8,o[e+2|0]=n>>>16,o[e+3|0]=n>>>24,o[e+4|0]=t,o[e+5|0]=t>>>8,o[e+6|0]=t>>>16,o[e+7|0]=t>>>24,o[e+26|0]=0,f[r+8>>2]=-1,Vt(t=r+8|4,e,26),n=o[r+23|0],f[a>>2]=f[r+8>>2],a=a+4|0,(0|n)>=0?(n=f[t+4>>2],f[a>>2]=f[t>>2],f[a+4>>2]=n,f[a+8>>2]=f[t+8>>2]):Vt(a,f[r+12>>2],f[r+16>>2]),o[r+23|0]<0&&ee(f[r+12>>2]),ee(e)):(f[a>>2]=0,f[a+4>>2]=0,f[a+16>>2]=e,f[a+8>>2]=0,f[a+12>>2]=0);return I=r+80|0,e=f[i+24>>2],o[i+23|0]<0&&ee(f[i+12>>2]),I=i+32|0,0|e},ib:function(e,t,r){e|=0,t|=0,r|=0;var i,n=0,a=0;I=t=I-16|0,We(t),f[e+24>>2]=f[t>>2];e:if((0|(i=e+24|0))!=(0|t))if(r=4|t,n=(a=u[t+15|0])<<24>>24,o[11+(e=e+28|0)|0]>=0){if((0|n)>=0){n=f[r+4>>2],f[e>>2]=f[r>>2],f[e+4>>2]=n,f[e+8>>2]=f[r+8>>2];break e}tr(e,f[t+4>>2],f[t+8>>2])}else zt(e,(e=(0|n)<0)?f[t+4>>2]:r,e?f[t+8>>2]:a);return o[t+15|0]<0&&ee(f[t+4>>2]),I=t+16|0,0|i},jb:function(e,t,r){var i,n,a=0;I=i=I-16|0,G(i,e|=0,t|=0,r|=0),f[e+24>>2]=f[i>>2];e:if((0|(n=e+24|0))!=(0|i))if(t=4|i,r=(a=u[i+15|0])<<24>>24,o[11+(e=e+28|0)|0]>=0){if((0|r)>=0){r=f[t+4>>2],f[e>>2]=f[t>>2],f[e+4>>2]=r,f[e+8>>2]=f[t+8>>2];break e}tr(e,f[i+4>>2],f[i+8>>2])}else zt(e,(e=(0|r)<0)?f[i+4>>2]:t,e?f[i+8>>2]:a);return o[i+15|0]<0&&ee(f[i+4>>2]),I=i+16|0,0|n},kb:function(e){(e|=0)&&(o[e+39|0]<0&&ee(f[e+28>>2]),function e(t,r){r&&(e(t,f[r>>2]),e(t,f[r+4>>2]),Ar(r+20|0,f[r+24>>2]),ee(r))}(e+12|0,f[e+16>>2]),Ar(e,f[e+4>>2]),ee(e))},lb:fi,mb:ui,nb:si,ob:Ai,pb:fi,qb:ui,rb:si,sb:Ai,tb:li,ub:bi,vb:fi,wb:ui,xb:si,yb:ui,zb:si,Ab:Ai,Bb:li,Cb:bi,Db:function(){return 5},Eb:function(){return 6},Fb:function(){return 7},Gb:function(){return 8},Hb:function(){return 9},Ib:function(){return 10},Jb:function(){return 11},Kb:function(){return 12},Lb:ui,Mb:fi,Nb:function(){return-2},Ob:function(){return-3},Pb:function(){return-4},Qb:function(){return-5},Rb:M,Sb:ee}}(e)}(ae)},instantiate:function(e,t){return{then:function(t){var r=new B.Module(e);t({instance:new B.Instance(r)})}}},RuntimeError:Error};w=[],"object"!=typeof B&&L("no native wasm support detected");var R=!1;function x(e,t){e||L("Assertion failed: "+t)}var N,I,C,D,M="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function G(e,t){return e?function(e,t,r){for(var i=t+r,n=t;e[n]&&!(n>=i);)++n;if(n-t>16&&e.subarray&&M)return M.decode(e.subarray(t,n));for(var o="";t<n;){var a=e[t++];if(128&a){var f=63&e[t++];if(192!=(224&a)){var s=63&e[t++];if((a=224==(240&a)?(15&a)<<12|f<<6|s:(7&a)<<18|f<<12|s<<6|63&e[t++])<65536)o+=String.fromCharCode(a);else{var c=a-65536;o+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else o+=String.fromCharCode((31&a)<<6|f)}else o+=String.fromCharCode(a)}return o}(C,e,t):""}function U(e){N=e,s.HEAP8=I=new Int8Array(e),s.HEAP16=new Int16Array(e),s.HEAP32=D=new Int32Array(e),s.HEAPU8=C=new Uint8Array(e),s.HEAPU16=new Uint16Array(e),s.HEAPU32=new Uint32Array(e),s.HEAPF32=new Float32Array(e),s.HEAPF64=new Float64Array(e)}var V,F=s.INITIAL_MEMORY||16777216;(T=s.wasmMemory?s.wasmMemory:new B.Memory({initial:F/65536,maximum:32768}))&&(N=T.buffer),F=N.byteLength,U(N);var S=[],W=[],Z=[],O=!1;function j(e){W.unshift(e)}var P,Y,z=0,J=null,Q=null;function L(e){s.onAbort&&s.onAbort(e),E(e="Aborted("+e+")"),R=!0,e+=". Build with -s ASSERTIONS=1 for more info.";var t=new B.RuntimeError(e);throw f(t),t}function X(e){return e.startsWith("data:application/octet-stream;base64,")}function H(e){return e.startsWith("file://")}function q(e){try{if(e==P&&w)return new Uint8Array(w);var t=ne(e);if(t)return t;if(d)return d(e);throw"both async and sync fetching of the wasm failed"}catch(e){L(e)}}function $(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var r=t.func;"number"==typeof r?void 0===t.arg?ee(r)():ee(r)(t.arg):r(void 0===t.arg?null:t.arg)}else t(s)}}s.preloadedImages={},s.preloadedAudios={},X(P="draco_decoder_gltf.wasm")||(Y=P,P=s.locateFile?s.locateFile(Y,g):g+Y);var K=[];function ee(e){var t=K[e];return t||(e>=K.length&&(K.length=e+1),K[e]=t=V.get(e)),t}function te(e){this.excPtr=e,this.ptr=e-16,this.set_type=function(e){D[this.ptr+4>>2]=e},this.get_type=function(){return D[this.ptr+4>>2]},this.set_destructor=function(e){D[this.ptr+8>>2]=e},this.get_destructor=function(){return D[this.ptr+8>>2]},this.set_refcount=function(e){D[this.ptr>>2]=e},this.set_caught=function(e){e=e?1:0,I[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=I[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,I[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=I[this.ptr+13>>0]},this.init=function(e,t){this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=D[this.ptr>>2];D[this.ptr>>2]=e+1},this.release_ref=function(){var e=D[this.ptr>>2];return D[this.ptr>>2]=e-1,1===e}}function re(e){try{return T.grow(e-N.byteLength+65535>>>16),U(T.buffer),1}catch(e){}}var ie="function"==typeof atob?atob:function(e){var t,r,i,n,o,a,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s="",c=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{t=f.indexOf(e.charAt(c++))<<2|(n=f.indexOf(e.charAt(c++)))>>4,r=(15&n)<<4|(o=f.indexOf(e.charAt(c++)))>>2,i=(3&o)<<6|(a=f.indexOf(e.charAt(c++))),s+=String.fromCharCode(t),64!==o&&(s+=String.fromCharCode(r)),64!==a&&(s+=String.fromCharCode(i))}while(c<e.length);return s};function ne(e){if(X(e))return function(e){if("boolean"==typeof v&&v){var t=o.from(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}try{for(var r=ie(e),i=new Uint8Array(r.length),n=0;n<r.length;++n)i[n]=r.charCodeAt(n);return i}catch(e){throw new Error("Converting base64 string to bytes failed.")}}(e.slice("data:application/octet-stream;base64,".length))}var oe,ae={f:function(e){return jr(e+16)+16},e:function(e,t,r){throw new te(e).init(t,r),e},b:function(){L("")},c:function(e,t,r){C.copyWithin(e,t,t+r)},d:function(e){var t,r,i=C.length;if((e>>>=0)>2147483648)return!1;for(var n=1;n<=4;n*=2){var o=i*(1+.2/n);if(o=Math.min(o,e+100663296),re(Math.min(2147483648,((t=Math.max(e,o))%(r=65536)>0&&(t+=r-t%r),t))))return!0}return!1},a:T},fe=(function(){var e={a:ae};function t(e,t){var r=e.exports;s.asm=r,V=s.asm.h,j(s.asm.g),function(e){if(z--,s.monitorRunDependencies&&s.monitorRunDependencies(z),0==z&&(null!==J&&(clearInterval(J),J=null),Q)){var t=Q;Q=null,t()}}()}function r(e){t(e.instance)}function i(t){return function(){if(!w&&(m||y)){if("function"==typeof fetch&&!H(P))return fetch(P,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+P+"'";return e.arrayBuffer()})).catch((function(){return q(P)}));if(p)return new Promise((function(e,t){p(P,(function(t){e(new Uint8Array(t))}),t)}))}return Promise.resolve().then((function(){return q(P)}))}().then((function(t){return B.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){E("failed to asynchronously prepare wasm: "+e),L(e)}))}if(z++,s.monitorRunDependencies&&s.monitorRunDependencies(z),s.instantiateWasm)try{return s.instantiateWasm(e,t)}catch(e){return E("Module.instantiateWasm callback failed with error: "+e),!1}(w||"function"!=typeof B.instantiateStreaming||X(P)||H(P)||"function"!=typeof fetch?i(r):fetch(P,{credentials:"same-origin"}).then((function(t){return B.instantiateStreaming(t,e).then(r,(function(e){return E("wasm streaming compile failed: "+e),E("falling back to ArrayBuffer instantiation"),i(r)}))}))).catch(f)}(),s.___wasm_call_ctors=function(){return(s.___wasm_call_ctors=s.asm.g).apply(null,arguments)},s._emscripten_bind_VoidPtr___destroy___0=function(){return(fe=s._emscripten_bind_VoidPtr___destroy___0=s.asm.i).apply(null,arguments)}),se=s._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return(se=s._emscripten_bind_DecoderBuffer_DecoderBuffer_0=s.asm.j).apply(null,arguments)},ce=s._emscripten_bind_DecoderBuffer_Init_2=function(){return(ce=s._emscripten_bind_DecoderBuffer_Init_2=s.asm.k).apply(null,arguments)},ue=s._emscripten_bind_DecoderBuffer___destroy___0=function(){return(ue=s._emscripten_bind_DecoderBuffer___destroy___0=s.asm.l).apply(null,arguments)},le=s._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return(le=s._emscripten_bind_AttributeTransformData_AttributeTransformData_0=s.asm.m).apply(null,arguments)},be=s._emscripten_bind_AttributeTransformData_transform_type_0=function(){return(be=s._emscripten_bind_AttributeTransformData_transform_type_0=s.asm.n).apply(null,arguments)},Ae=s._emscripten_bind_AttributeTransformData___destroy___0=function(){return(Ae=s._emscripten_bind_AttributeTransformData___destroy___0=s.asm.o).apply(null,arguments)},pe=s._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return(pe=s._emscripten_bind_GeometryAttribute_GeometryAttribute_0=s.asm.p).apply(null,arguments)},de=s._emscripten_bind_GeometryAttribute___destroy___0=function(){return(de=s._emscripten_bind_GeometryAttribute___destroy___0=s.asm.q).apply(null,arguments)},_e=s._emscripten_bind_PointAttribute_PointAttribute_0=function(){return(_e=s._emscripten_bind_PointAttribute_PointAttribute_0=s.asm.r).apply(null,arguments)},he=s._emscripten_bind_PointAttribute_size_0=function(){return(he=s._emscripten_bind_PointAttribute_size_0=s.asm.s).apply(null,arguments)},ke=s._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return(ke=s._emscripten_bind_PointAttribute_GetAttributeTransformData_0=s.asm.t).apply(null,arguments)},me=s._emscripten_bind_PointAttribute_attribute_type_0=function(){return(me=s._emscripten_bind_PointAttribute_attribute_type_0=s.asm.u).apply(null,arguments)},ye=s._emscripten_bind_PointAttribute_data_type_0=function(){return(ye=s._emscripten_bind_PointAttribute_data_type_0=s.asm.v).apply(null,arguments)},ve=s._emscripten_bind_PointAttribute_num_components_0=function(){return(ve=s._emscripten_bind_PointAttribute_num_components_0=s.asm.w).apply(null,arguments)},ge=s._emscripten_bind_PointAttribute_normalized_0=function(){return(ge=s._emscripten_bind_PointAttribute_normalized_0=s.asm.x).apply(null,arguments)},we=s._emscripten_bind_PointAttribute_byte_stride_0=function(){return(we=s._emscripten_bind_PointAttribute_byte_stride_0=s.asm.y).apply(null,arguments)},Ee=s._emscripten_bind_PointAttribute_byte_offset_0=function(){return(Ee=s._emscripten_bind_PointAttribute_byte_offset_0=s.asm.z).apply(null,arguments)},Te=s._emscripten_bind_PointAttribute_unique_id_0=function(){return(Te=s._emscripten_bind_PointAttribute_unique_id_0=s.asm.A).apply(null,arguments)},Be=s._emscripten_bind_PointAttribute___destroy___0=function(){return(Be=s._emscripten_bind_PointAttribute___destroy___0=s.asm.B).apply(null,arguments)},Re=s._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return(Re=s._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=s.asm.C).apply(null,arguments)},xe=s._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return(xe=s._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=s.asm.D).apply(null,arguments)},Ne=s._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return(Ne=s._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=s.asm.E).apply(null,arguments)},Ie=s._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return(Ie=s._emscripten_bind_AttributeQuantizationTransform_min_value_1=s.asm.F).apply(null,arguments)},Ce=s._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return(Ce=s._emscripten_bind_AttributeQuantizationTransform_range_0=s.asm.G).apply(null,arguments)},De=s._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return(De=s._emscripten_bind_AttributeQuantizationTransform___destroy___0=s.asm.H).apply(null,arguments)},Me=s._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return(Me=s._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=s.asm.I).apply(null,arguments)},Ge=s._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return(Ge=s._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=s.asm.J).apply(null,arguments)},Ue=s._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return(Ue=s._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=s.asm.K).apply(null,arguments)},Ve=s._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return(Ve=s._emscripten_bind_AttributeOctahedronTransform___destroy___0=s.asm.L).apply(null,arguments)},Fe=s._emscripten_bind_PointCloud_PointCloud_0=function(){return(Fe=s._emscripten_bind_PointCloud_PointCloud_0=s.asm.M).apply(null,arguments)},Se=s._emscripten_bind_PointCloud_num_attributes_0=function(){return(Se=s._emscripten_bind_PointCloud_num_attributes_0=s.asm.N).apply(null,arguments)},We=s._emscripten_bind_PointCloud_num_points_0=function(){return(We=s._emscripten_bind_PointCloud_num_points_0=s.asm.O).apply(null,arguments)},Ze=s._emscripten_bind_PointCloud___destroy___0=function(){return(Ze=s._emscripten_bind_PointCloud___destroy___0=s.asm.P).apply(null,arguments)},Oe=s._emscripten_bind_Mesh_Mesh_0=function(){return(Oe=s._emscripten_bind_Mesh_Mesh_0=s.asm.Q).apply(null,arguments)},je=s._emscripten_bind_Mesh_num_faces_0=function(){return(je=s._emscripten_bind_Mesh_num_faces_0=s.asm.R).apply(null,arguments)},Pe=s._emscripten_bind_Mesh_num_attributes_0=function(){return(Pe=s._emscripten_bind_Mesh_num_attributes_0=s.asm.S).apply(null,arguments)},Ye=s._emscripten_bind_Mesh_num_points_0=function(){return(Ye=s._emscripten_bind_Mesh_num_points_0=s.asm.T).apply(null,arguments)},ze=s._emscripten_bind_Mesh___destroy___0=function(){return(ze=s._emscripten_bind_Mesh___destroy___0=s.asm.U).apply(null,arguments)},Je=s._emscripten_bind_Metadata_Metadata_0=function(){return(Je=s._emscripten_bind_Metadata_Metadata_0=s.asm.V).apply(null,arguments)},Qe=s._emscripten_bind_Metadata___destroy___0=function(){return(Qe=s._emscripten_bind_Metadata___destroy___0=s.asm.W).apply(null,arguments)},Le=s._emscripten_bind_Status_code_0=function(){return(Le=s._emscripten_bind_Status_code_0=s.asm.X).apply(null,arguments)},Xe=s._emscripten_bind_Status_ok_0=function(){return(Xe=s._emscripten_bind_Status_ok_0=s.asm.Y).apply(null,arguments)},He=s._emscripten_bind_Status_error_msg_0=function(){return(He=s._emscripten_bind_Status_error_msg_0=s.asm.Z).apply(null,arguments)},qe=s._emscripten_bind_Status___destroy___0=function(){return(qe=s._emscripten_bind_Status___destroy___0=s.asm._).apply(null,arguments)},$e=s._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return($e=s._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=s.asm.$).apply(null,arguments)},Ke=s._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return(Ke=s._emscripten_bind_DracoFloat32Array_GetValue_1=s.asm.aa).apply(null,arguments)},et=s._emscripten_bind_DracoFloat32Array_size_0=function(){return(et=s._emscripten_bind_DracoFloat32Array_size_0=s.asm.ba).apply(null,arguments)},tt=s._emscripten_bind_DracoFloat32Array___destroy___0=function(){return(tt=s._emscripten_bind_DracoFloat32Array___destroy___0=s.asm.ca).apply(null,arguments)},rt=s._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return(rt=s._emscripten_bind_DracoInt8Array_DracoInt8Array_0=s.asm.da).apply(null,arguments)},it=s._emscripten_bind_DracoInt8Array_GetValue_1=function(){return(it=s._emscripten_bind_DracoInt8Array_GetValue_1=s.asm.ea).apply(null,arguments)},nt=s._emscripten_bind_DracoInt8Array_size_0=function(){return(nt=s._emscripten_bind_DracoInt8Array_size_0=s.asm.fa).apply(null,arguments)},ot=s._emscripten_bind_DracoInt8Array___destroy___0=function(){return(ot=s._emscripten_bind_DracoInt8Array___destroy___0=s.asm.ga).apply(null,arguments)},at=s._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return(at=s._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=s.asm.ha).apply(null,arguments)},ft=s._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return(ft=s._emscripten_bind_DracoUInt8Array_GetValue_1=s.asm.ia).apply(null,arguments)},st=s._emscripten_bind_DracoUInt8Array_size_0=function(){return(st=s._emscripten_bind_DracoUInt8Array_size_0=s.asm.ja).apply(null,arguments)},ct=s._emscripten_bind_DracoUInt8Array___destroy___0=function(){return(ct=s._emscripten_bind_DracoUInt8Array___destroy___0=s.asm.ka).apply(null,arguments)},ut=s._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return(ut=s._emscripten_bind_DracoInt16Array_DracoInt16Array_0=s.asm.la).apply(null,arguments)},lt=s._emscripten_bind_DracoInt16Array_GetValue_1=function(){return(lt=s._emscripten_bind_DracoInt16Array_GetValue_1=s.asm.ma).apply(null,arguments)},bt=s._emscripten_bind_DracoInt16Array_size_0=function(){return(bt=s._emscripten_bind_DracoInt16Array_size_0=s.asm.na).apply(null,arguments)},At=s._emscripten_bind_DracoInt16Array___destroy___0=function(){return(At=s._emscripten_bind_DracoInt16Array___destroy___0=s.asm.oa).apply(null,arguments)},pt=s._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return(pt=s._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=s.asm.pa).apply(null,arguments)},dt=s._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return(dt=s._emscripten_bind_DracoUInt16Array_GetValue_1=s.asm.qa).apply(null,arguments)},_t=s._emscripten_bind_DracoUInt16Array_size_0=function(){return(_t=s._emscripten_bind_DracoUInt16Array_size_0=s.asm.ra).apply(null,arguments)},ht=s._emscripten_bind_DracoUInt16Array___destroy___0=function(){return(ht=s._emscripten_bind_DracoUInt16Array___destroy___0=s.asm.sa).apply(null,arguments)},kt=s._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return(kt=s._emscripten_bind_DracoInt32Array_DracoInt32Array_0=s.asm.ta).apply(null,arguments)},mt=s._emscripten_bind_DracoInt32Array_GetValue_1=function(){return(mt=s._emscripten_bind_DracoInt32Array_GetValue_1=s.asm.ua).apply(null,arguments)},yt=s._emscripten_bind_DracoInt32Array_size_0=function(){return(yt=s._emscripten_bind_DracoInt32Array_size_0=s.asm.va).apply(null,arguments)},vt=s._emscripten_bind_DracoInt32Array___destroy___0=function(){return(vt=s._emscripten_bind_DracoInt32Array___destroy___0=s.asm.wa).apply(null,arguments)},gt=s._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return(gt=s._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=s.asm.xa).apply(null,arguments)},wt=s._emscripten_bind_DracoUInt32Array_GetValue_1=function(){return(wt=s._emscripten_bind_DracoUInt32Array_GetValue_1=s.asm.ya).apply(null,arguments)},Et=s._emscripten_bind_DracoUInt32Array_size_0=function(){return(Et=s._emscripten_bind_DracoUInt32Array_size_0=s.asm.za).apply(null,arguments)},Tt=s._emscripten_bind_DracoUInt32Array___destroy___0=function(){return(Tt=s._emscripten_bind_DracoUInt32Array___destroy___0=s.asm.Aa).apply(null,arguments)},Bt=s._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return(Bt=s._emscripten_bind_MetadataQuerier_MetadataQuerier_0=s.asm.Ba).apply(null,arguments)},Rt=s._emscripten_bind_MetadataQuerier_HasEntry_2=function(){return(Rt=s._emscripten_bind_MetadataQuerier_HasEntry_2=s.asm.Ca).apply(null,arguments)},xt=s._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return(xt=s._emscripten_bind_MetadataQuerier_GetIntEntry_2=s.asm.Da).apply(null,arguments)},Nt=s._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=function(){return(Nt=s._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=s.asm.Ea).apply(null,arguments)},It=s._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return(It=s._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=s.asm.Fa).apply(null,arguments)},Ct=s._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return(Ct=s._emscripten_bind_MetadataQuerier_GetStringEntry_2=s.asm.Ga).apply(null,arguments)},Dt=s._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return(Dt=s._emscripten_bind_MetadataQuerier_NumEntries_1=s.asm.Ha).apply(null,arguments)},Mt=s._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return(Mt=s._emscripten_bind_MetadataQuerier_GetEntryName_2=s.asm.Ia).apply(null,arguments)},Gt=s._emscripten_bind_MetadataQuerier___destroy___0=function(){return(Gt=s._emscripten_bind_MetadataQuerier___destroy___0=s.asm.Ja).apply(null,arguments)},Ut=s._emscripten_bind_Decoder_Decoder_0=function(){return(Ut=s._emscripten_bind_Decoder_Decoder_0=s.asm.Ka).apply(null,arguments)},Vt=s._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=function(){return(Vt=s._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=s.asm.La).apply(null,arguments)},Ft=s._emscripten_bind_Decoder_DecodeArrayToMesh_3=function(){return(Ft=s._emscripten_bind_Decoder_DecodeArrayToMesh_3=s.asm.Ma).apply(null,arguments)},St=s._emscripten_bind_Decoder_GetAttributeId_2=function(){return(St=s._emscripten_bind_Decoder_GetAttributeId_2=s.asm.Na).apply(null,arguments)},Wt=s._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return(Wt=s._emscripten_bind_Decoder_GetAttributeIdByName_2=s.asm.Oa).apply(null,arguments)},Zt=s._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return(Zt=s._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=s.asm.Pa).apply(null,arguments)},Ot=s._emscripten_bind_Decoder_GetAttribute_2=function(){return(Ot=s._emscripten_bind_Decoder_GetAttribute_2=s.asm.Qa).apply(null,arguments)},jt=s._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return(jt=s._emscripten_bind_Decoder_GetAttributeByUniqueId_2=s.asm.Ra).apply(null,arguments)},Pt=s._emscripten_bind_Decoder_GetMetadata_1=function(){return(Pt=s._emscripten_bind_Decoder_GetMetadata_1=s.asm.Sa).apply(null,arguments)},Yt=s._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return(Yt=s._emscripten_bind_Decoder_GetAttributeMetadata_2=s.asm.Ta).apply(null,arguments)},zt=s._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return(zt=s._emscripten_bind_Decoder_GetFaceFromMesh_3=s.asm.Ua).apply(null,arguments)},Jt=s._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return(Jt=s._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=s.asm.Va).apply(null,arguments)},Qt=s._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=function(){return(Qt=s._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=s.asm.Wa).apply(null,arguments)},Lt=s._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=function(){return(Lt=s._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=s.asm.Xa).apply(null,arguments)},Xt=s._emscripten_bind_Decoder_GetAttributeFloat_3=function(){return(Xt=s._emscripten_bind_Decoder_GetAttributeFloat_3=s.asm.Ya).apply(null,arguments)},Ht=s._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return(Ht=s._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=s.asm.Za).apply(null,arguments)},qt=s._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return(qt=s._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=s.asm._a).apply(null,arguments)},$t=s._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=function(){return($t=s._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=s.asm.$a).apply(null,arguments)},Kt=s._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return(Kt=s._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=s.asm.ab).apply(null,arguments)},er=s._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return(er=s._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=s.asm.bb).apply(null,arguments)},tr=s._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return(tr=s._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=s.asm.cb).apply(null,arguments)},rr=s._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return(rr=s._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=s.asm.db).apply(null,arguments)},ir=s._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=function(){return(ir=s._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=s.asm.eb).apply(null,arguments)},nr=s._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=function(){return(nr=s._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=s.asm.fb).apply(null,arguments)},or=s._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return(or=s._emscripten_bind_Decoder_SkipAttributeTransform_1=s.asm.gb).apply(null,arguments)},ar=s._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=function(){return(ar=s._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=s.asm.hb).apply(null,arguments)},fr=s._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return(fr=s._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=s.asm.ib).apply(null,arguments)},sr=s._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return(sr=s._emscripten_bind_Decoder_DecodeBufferToMesh_2=s.asm.jb).apply(null,arguments)},cr=s._emscripten_bind_Decoder___destroy___0=function(){return(cr=s._emscripten_bind_Decoder___destroy___0=s.asm.kb).apply(null,arguments)},ur=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return(ur=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=s.asm.lb).apply(null,arguments)},lr=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return(lr=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=s.asm.mb).apply(null,arguments)},br=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return(br=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=s.asm.nb).apply(null,arguments)},Ar=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=function(){return(Ar=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=s.asm.ob).apply(null,arguments)},pr=s._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return(pr=s._emscripten_enum_draco_GeometryAttribute_Type_INVALID=s.asm.pb).apply(null,arguments)},dr=s._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return(dr=s._emscripten_enum_draco_GeometryAttribute_Type_POSITION=s.asm.qb).apply(null,arguments)},_r=s._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return(_r=s._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=s.asm.rb).apply(null,arguments)},hr=s._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return(hr=s._emscripten_enum_draco_GeometryAttribute_Type_COLOR=s.asm.sb).apply(null,arguments)},kr=s._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return(kr=s._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=s.asm.tb).apply(null,arguments)},mr=s._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return(mr=s._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=s.asm.ub).apply(null,arguments)},yr=s._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return(yr=s._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=s.asm.vb).apply(null,arguments)},vr=s._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return(vr=s._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=s.asm.wb).apply(null,arguments)},gr=s._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return(gr=s._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=s.asm.xb).apply(null,arguments)},wr=s._emscripten_enum_draco_DataType_DT_INVALID=function(){return(wr=s._emscripten_enum_draco_DataType_DT_INVALID=s.asm.yb).apply(null,arguments)},Er=s._emscripten_enum_draco_DataType_DT_INT8=function(){return(Er=s._emscripten_enum_draco_DataType_DT_INT8=s.asm.zb).apply(null,arguments)},Tr=s._emscripten_enum_draco_DataType_DT_UINT8=function(){return(Tr=s._emscripten_enum_draco_DataType_DT_UINT8=s.asm.Ab).apply(null,arguments)},Br=s._emscripten_enum_draco_DataType_DT_INT16=function(){return(Br=s._emscripten_enum_draco_DataType_DT_INT16=s.asm.Bb).apply(null,arguments)},Rr=s._emscripten_enum_draco_DataType_DT_UINT16=function(){return(Rr=s._emscripten_enum_draco_DataType_DT_UINT16=s.asm.Cb).apply(null,arguments)},xr=s._emscripten_enum_draco_DataType_DT_INT32=function(){return(xr=s._emscripten_enum_draco_DataType_DT_INT32=s.asm.Db).apply(null,arguments)},Nr=s._emscripten_enum_draco_DataType_DT_UINT32=function(){return(Nr=s._emscripten_enum_draco_DataType_DT_UINT32=s.asm.Eb).apply(null,arguments)},Ir=s._emscripten_enum_draco_DataType_DT_INT64=function(){return(Ir=s._emscripten_enum_draco_DataType_DT_INT64=s.asm.Fb).apply(null,arguments)},Cr=s._emscripten_enum_draco_DataType_DT_UINT64=function(){return(Cr=s._emscripten_enum_draco_DataType_DT_UINT64=s.asm.Gb).apply(null,arguments)},Dr=s._emscripten_enum_draco_DataType_DT_FLOAT32=function(){return(Dr=s._emscripten_enum_draco_DataType_DT_FLOAT32=s.asm.Hb).apply(null,arguments)},Mr=s._emscripten_enum_draco_DataType_DT_FLOAT64=function(){return(Mr=s._emscripten_enum_draco_DataType_DT_FLOAT64=s.asm.Ib).apply(null,arguments)},Gr=s._emscripten_enum_draco_DataType_DT_BOOL=function(){return(Gr=s._emscripten_enum_draco_DataType_DT_BOOL=s.asm.Jb).apply(null,arguments)},Ur=s._emscripten_enum_draco_DataType_DT_TYPES_COUNT=function(){return(Ur=s._emscripten_enum_draco_DataType_DT_TYPES_COUNT=s.asm.Kb).apply(null,arguments)},Vr=s._emscripten_enum_draco_StatusCode_OK=function(){return(Vr=s._emscripten_enum_draco_StatusCode_OK=s.asm.Lb).apply(null,arguments)},Fr=s._emscripten_enum_draco_StatusCode_DRACO_ERROR=function(){return(Fr=s._emscripten_enum_draco_StatusCode_DRACO_ERROR=s.asm.Mb).apply(null,arguments)},Sr=s._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return(Sr=s._emscripten_enum_draco_StatusCode_IO_ERROR=s.asm.Nb).apply(null,arguments)},Wr=s._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return(Wr=s._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=s.asm.Ob).apply(null,arguments)},Zr=s._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return(Zr=s._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=s.asm.Pb).apply(null,arguments)},Or=s._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return(Or=s._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=s.asm.Qb).apply(null,arguments)},jr=s._malloc=function(){return(jr=s._malloc=s.asm.Rb).apply(null,arguments)};function Pr(e){function r(){oe||(oe=!0,s.calledRun=!0,R||(O=!0,$(W),t(s),s.onRuntimeInitialized&&s.onRuntimeInitialized(),function(){if(s.postRun)for("function"==typeof s.postRun&&(s.postRun=[s.postRun]);s.postRun.length;)e=s.postRun.shift(),Z.unshift(e);var e;$(Z)}()))}e=e||k,z>0||(function(){if(s.preRun)for("function"==typeof s.preRun&&(s.preRun=[s.preRun]);s.preRun.length;)e=s.preRun.shift(),S.unshift(e);var e;$(S)}(),z>0||(s.setStatus?(s.setStatus("Running..."),setTimeout((function(){setTimeout((function(){s.setStatus("")}),1),r()}),1)):r()))}if(s._free=function(){return(s._free=s.asm.Sb).apply(null,arguments)},Q=function e(){oe||Pr(),oe||(Q=e)},s.run=Pr,s.preInit)for("function"==typeof s.preInit&&(s.preInit=[s.preInit]);s.preInit.length>0;)s.preInit.pop()();function Yr(){}function zr(e){return(e||Yr).__cache__}function Jr(e,t){var r=zr(t),i=r[e];return i||((i=Object.create((t||Yr).prototype)).ptr=e,r[e]=i)}Pr(),Yr.prototype=Object.create(Yr.prototype),Yr.prototype.constructor=Yr,Yr.prototype.__class__=Yr,Yr.__cache__={},s.WrapperObject=Yr,s.getCache=zr,s.wrapPointer=Jr,s.castObject=function(e,t){return Jr(e.ptr,t)},s.NULL=Jr(0),s.destroy=function(e){if(!e.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";e.__destroy__(),delete zr(e.__class__)[e.ptr]},s.compare=function(e,t){return e.ptr===t.ptr},s.getPointer=function(e){return e.ptr},s.getClass=function(e){return e.__class__};var Qr={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(Qr.needed){for(var e=0;e<Qr.temps.length;e++)s._free(Qr.temps[e]);Qr.temps.length=0,s._free(Qr.buffer),Qr.buffer=0,Qr.size+=Qr.needed,Qr.needed=0}Qr.buffer||(Qr.size+=128,Qr.buffer=s._malloc(Qr.size),x(Qr.buffer)),Qr.pos=0},alloc:function(e,t){x(Qr.buffer);var r,i=t.BYTES_PER_ELEMENT,n=e.length*i;return n=n+7&-8,Qr.pos+n>=Qr.size?(x(n>0),Qr.needed+=n,r=s._malloc(n),Qr.temps.push(r)):(r=Qr.buffer+Qr.pos,Qr.pos+=n),r},copy:function(e,t,r){switch(r>>>=0,t.BYTES_PER_ELEMENT){case 2:r>>>=1;break;case 4:r>>>=2;break;case 8:r>>>=3}for(var i=0;i<e.length;i++)t[r+i]=e[i]}};function Lr(e){if("string"==typeof e){var t=(i=e,a=o>0?o:function(e){for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i>=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++r)),i<=127?++t:t+=i<=2047?2:i<=65535?3:4}return t}(i)+1,f=new Array(a),s=function(e,t,r,i){if(!(i>0))return 0;for(var n=r,o=r+i-1,a=0;a<e.length;++a){var f=e.charCodeAt(a);if(f>=55296&&f<=57343&&(f=65536+((1023&f)<<10)|1023&e.charCodeAt(++a)),f<=127){if(r>=o)break;t[r++]=f}else if(f<=2047){if(r+1>=o)break;t[r++]=192|f>>6,t[r++]=128|63&f}else if(f<=65535){if(r+2>=o)break;t[r++]=224|f>>12,t[r++]=128|f>>6&63,t[r++]=128|63&f}else{if(r+3>=o)break;t[r++]=240|f>>18,t[r++]=128|f>>12&63,t[r++]=128|f>>6&63,t[r++]=128|63&f}}return t[r]=0,r-n}(i,f,0,f.length),n&&(f.length=s),f),r=Qr.alloc(t,I);return Qr.copy(t,I,r),r}var i,n,o,a,f,s;return e}function Xr(e){if("object"==typeof e){var t=Qr.alloc(e,I);return Qr.copy(e,I,t),t}return e}function Hr(){throw"cannot construct a VoidPtr, no constructor in IDL"}function qr(){this.ptr=se(),zr(qr)[this.ptr]=this}function $r(){this.ptr=le(),zr($r)[this.ptr]=this}function Kr(){this.ptr=pe(),zr(Kr)[this.ptr]=this}function ei(){this.ptr=_e(),zr(ei)[this.ptr]=this}function ti(){this.ptr=Re(),zr(ti)[this.ptr]=this}function ri(){this.ptr=Me(),zr(ri)[this.ptr]=this}function ii(){this.ptr=Fe(),zr(ii)[this.ptr]=this}function ni(){this.ptr=Oe(),zr(ni)[this.ptr]=this}function oi(){this.ptr=Je(),zr(oi)[this.ptr]=this}function ai(){throw"cannot construct a Status, no constructor in IDL"}function fi(){this.ptr=$e(),zr(fi)[this.ptr]=this}function si(){this.ptr=rt(),zr(si)[this.ptr]=this}function ci(){this.ptr=at(),zr(ci)[this.ptr]=this}function ui(){this.ptr=ut(),zr(ui)[this.ptr]=this}function li(){this.ptr=pt(),zr(li)[this.ptr]=this}function bi(){this.ptr=kt(),zr(bi)[this.ptr]=this}function Ai(){this.ptr=gt(),zr(Ai)[this.ptr]=this}function pi(){this.ptr=Bt(),zr(pi)[this.ptr]=this}function di(){this.ptr=Ut(),zr(di)[this.ptr]=this}return Hr.prototype=Object.create(Yr.prototype),Hr.prototype.constructor=Hr,Hr.prototype.__class__=Hr,Hr.__cache__={},s.VoidPtr=Hr,Hr.prototype.__destroy__=Hr.prototype.__destroy__=function(){var e=this.ptr;fe(e)},qr.prototype=Object.create(Yr.prototype),qr.prototype.constructor=qr,qr.prototype.__class__=qr,qr.__cache__={},s.DecoderBuffer=qr,qr.prototype.Init=qr.prototype.Init=function(e,t){var r=this.ptr;Qr.prepare(),"object"==typeof e&&(e=Xr(e)),t&&"object"==typeof t&&(t=t.ptr),ce(r,e,t)},qr.prototype.__destroy__=qr.prototype.__destroy__=function(){var e=this.ptr;ue(e)},$r.prototype=Object.create(Yr.prototype),$r.prototype.constructor=$r,$r.prototype.__class__=$r,$r.__cache__={},s.AttributeTransformData=$r,$r.prototype.transform_type=$r.prototype.transform_type=function(){var e=this.ptr;return be(e)},$r.prototype.__destroy__=$r.prototype.__destroy__=function(){var e=this.ptr;Ae(e)},Kr.prototype=Object.create(Yr.prototype),Kr.prototype.constructor=Kr,Kr.prototype.__class__=Kr,Kr.__cache__={},s.GeometryAttribute=Kr,Kr.prototype.__destroy__=Kr.prototype.__destroy__=function(){var e=this.ptr;de(e)},ei.prototype=Object.create(Yr.prototype),ei.prototype.constructor=ei,ei.prototype.__class__=ei,ei.__cache__={},s.PointAttribute=ei,ei.prototype.size=ei.prototype.size=function(){var e=this.ptr;return he(e)},ei.prototype.GetAttributeTransformData=ei.prototype.GetAttributeTransformData=function(){var e=this.ptr;return Jr(ke(e),$r)},ei.prototype.attribute_type=ei.prototype.attribute_type=function(){var e=this.ptr;return me(e)},ei.prototype.data_type=ei.prototype.data_type=function(){var e=this.ptr;return ye(e)},ei.prototype.num_components=ei.prototype.num_components=function(){var e=this.ptr;return ve(e)},ei.prototype.normalized=ei.prototype.normalized=function(){var e=this.ptr;return!!ge(e)},ei.prototype.byte_stride=ei.prototype.byte_stride=function(){var e=this.ptr;return we(e)},ei.prototype.byte_offset=ei.prototype.byte_offset=function(){var e=this.ptr;return Ee(e)},ei.prototype.unique_id=ei.prototype.unique_id=function(){var e=this.ptr;return Te(e)},ei.prototype.__destroy__=ei.prototype.__destroy__=function(){var e=this.ptr;Be(e)},ti.prototype=Object.create(Yr.prototype),ti.prototype.constructor=ti,ti.prototype.__class__=ti,ti.__cache__={},s.AttributeQuantizationTransform=ti,ti.prototype.InitFromAttribute=ti.prototype.InitFromAttribute=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),!!xe(t,e)},ti.prototype.quantization_bits=ti.prototype.quantization_bits=function(){var e=this.ptr;return Ne(e)},ti.prototype.min_value=ti.prototype.min_value=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Ie(t,e)},ti.prototype.range=ti.prototype.range=function(){var e=this.ptr;return Ce(e)},ti.prototype.__destroy__=ti.prototype.__destroy__=function(){var e=this.ptr;De(e)},ri.prototype=Object.create(Yr.prototype),ri.prototype.constructor=ri,ri.prototype.__class__=ri,ri.__cache__={},s.AttributeOctahedronTransform=ri,ri.prototype.InitFromAttribute=ri.prototype.InitFromAttribute=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),!!Ge(t,e)},ri.prototype.quantization_bits=ri.prototype.quantization_bits=function(){var e=this.ptr;return Ue(e)},ri.prototype.__destroy__=ri.prototype.__destroy__=function(){var e=this.ptr;Ve(e)},ii.prototype=Object.create(Yr.prototype),ii.prototype.constructor=ii,ii.prototype.__class__=ii,ii.__cache__={},s.PointCloud=ii,ii.prototype.num_attributes=ii.prototype.num_attributes=function(){var e=this.ptr;return Se(e)},ii.prototype.num_points=ii.prototype.num_points=function(){var e=this.ptr;return We(e)},ii.prototype.__destroy__=ii.prototype.__destroy__=function(){var e=this.ptr;Ze(e)},ni.prototype=Object.create(Yr.prototype),ni.prototype.constructor=ni,ni.prototype.__class__=ni,ni.__cache__={},s.Mesh=ni,ni.prototype.num_faces=ni.prototype.num_faces=function(){var e=this.ptr;return je(e)},ni.prototype.num_attributes=ni.prototype.num_attributes=function(){var e=this.ptr;return Pe(e)},ni.prototype.num_points=ni.prototype.num_points=function(){var e=this.ptr;return Ye(e)},ni.prototype.__destroy__=ni.prototype.__destroy__=function(){var e=this.ptr;ze(e)},oi.prototype=Object.create(Yr.prototype),oi.prototype.constructor=oi,oi.prototype.__class__=oi,oi.__cache__={},s.Metadata=oi,oi.prototype.__destroy__=oi.prototype.__destroy__=function(){var e=this.ptr;Qe(e)},ai.prototype=Object.create(Yr.prototype),ai.prototype.constructor=ai,ai.prototype.__class__=ai,ai.__cache__={},s.Status=ai,ai.prototype.code=ai.prototype.code=function(){var e=this.ptr;return Le(e)},ai.prototype.ok=ai.prototype.ok=function(){var e=this.ptr;return!!Xe(e)},ai.prototype.error_msg=ai.prototype.error_msg=function(){var e=this.ptr;return G(He(e))},ai.prototype.__destroy__=ai.prototype.__destroy__=function(){var e=this.ptr;qe(e)},fi.prototype=Object.create(Yr.prototype),fi.prototype.constructor=fi,fi.prototype.__class__=fi,fi.__cache__={},s.DracoFloat32Array=fi,fi.prototype.GetValue=fi.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Ke(t,e)},fi.prototype.size=fi.prototype.size=function(){var e=this.ptr;return et(e)},fi.prototype.__destroy__=fi.prototype.__destroy__=function(){var e=this.ptr;tt(e)},si.prototype=Object.create(Yr.prototype),si.prototype.constructor=si,si.prototype.__class__=si,si.__cache__={},s.DracoInt8Array=si,si.prototype.GetValue=si.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),it(t,e)},si.prototype.size=si.prototype.size=function(){var e=this.ptr;return nt(e)},si.prototype.__destroy__=si.prototype.__destroy__=function(){var e=this.ptr;ot(e)},ci.prototype=Object.create(Yr.prototype),ci.prototype.constructor=ci,ci.prototype.__class__=ci,ci.__cache__={},s.DracoUInt8Array=ci,ci.prototype.GetValue=ci.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),ft(t,e)},ci.prototype.size=ci.prototype.size=function(){var e=this.ptr;return st(e)},ci.prototype.__destroy__=ci.prototype.__destroy__=function(){var e=this.ptr;ct(e)},ui.prototype=Object.create(Yr.prototype),ui.prototype.constructor=ui,ui.prototype.__class__=ui,ui.__cache__={},s.DracoInt16Array=ui,ui.prototype.GetValue=ui.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),lt(t,e)},ui.prototype.size=ui.prototype.size=function(){var e=this.ptr;return bt(e)},ui.prototype.__destroy__=ui.prototype.__destroy__=function(){var e=this.ptr;At(e)},li.prototype=Object.create(Yr.prototype),li.prototype.constructor=li,li.prototype.__class__=li,li.__cache__={},s.DracoUInt16Array=li,li.prototype.GetValue=li.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),dt(t,e)},li.prototype.size=li.prototype.size=function(){var e=this.ptr;return _t(e)},li.prototype.__destroy__=li.prototype.__destroy__=function(){var e=this.ptr;ht(e)},bi.prototype=Object.create(Yr.prototype),bi.prototype.constructor=bi,bi.prototype.__class__=bi,bi.__cache__={},s.DracoInt32Array=bi,bi.prototype.GetValue=bi.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),mt(t,e)},bi.prototype.size=bi.prototype.size=function(){var e=this.ptr;return yt(e)},bi.prototype.__destroy__=bi.prototype.__destroy__=function(){var e=this.ptr;vt(e)},Ai.prototype=Object.create(Yr.prototype),Ai.prototype.constructor=Ai,Ai.prototype.__class__=Ai,Ai.__cache__={},s.DracoUInt32Array=Ai,Ai.prototype.GetValue=Ai.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),wt(t,e)},Ai.prototype.size=Ai.prototype.size=function(){var e=this.ptr;return Et(e)},Ai.prototype.__destroy__=Ai.prototype.__destroy__=function(){var e=this.ptr;Tt(e)},pi.prototype=Object.create(Yr.prototype),pi.prototype.constructor=pi,pi.prototype.__class__=pi,pi.__cache__={},s.MetadataQuerier=pi,pi.prototype.HasEntry=pi.prototype.HasEntry=function(e,t){var r=this.ptr;return Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),!!Rt(r,e,t)},pi.prototype.GetIntEntry=pi.prototype.GetIntEntry=function(e,t){var r=this.ptr;return Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),xt(r,e,t)},pi.prototype.GetIntEntryArray=pi.prototype.GetIntEntryArray=function(e,t,r){var i=this.ptr;Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),r&&"object"==typeof r&&(r=r.ptr),Nt(i,e,t,r)},pi.prototype.GetDoubleEntry=pi.prototype.GetDoubleEntry=function(e,t){var r=this.ptr;return Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),It(r,e,t)},pi.prototype.GetStringEntry=pi.prototype.GetStringEntry=function(e,t){var r=this.ptr;return Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),G(Ct(r,e,t))},pi.prototype.NumEntries=pi.prototype.NumEntries=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Dt(t,e)},pi.prototype.GetEntryName=pi.prototype.GetEntryName=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),G(Mt(r,e,t))},pi.prototype.__destroy__=pi.prototype.__destroy__=function(){var e=this.ptr;Gt(e)},di.prototype=Object.create(Yr.prototype),di.prototype.constructor=di,di.prototype.__class__=di,di.__cache__={},s.Decoder=di,di.prototype.DecodeArrayToPointCloud=di.prototype.DecodeArrayToPointCloud=function(e,t,r){var i=this.ptr;return Qr.prepare(),"object"==typeof e&&(e=Xr(e)),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),Jr(Vt(i,e,t,r),ai)},di.prototype.DecodeArrayToMesh=di.prototype.DecodeArrayToMesh=function(e,t,r){var i=this.ptr;return Qr.prepare(),"object"==typeof e&&(e=Xr(e)),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),Jr(Ft(i,e,t,r),ai)},di.prototype.GetAttributeId=di.prototype.GetAttributeId=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),St(r,e,t)},di.prototype.GetAttributeIdByName=di.prototype.GetAttributeIdByName=function(e,t){var r=this.ptr;return Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),Wt(r,e,t)},di.prototype.GetAttributeIdByMetadataEntry=di.prototype.GetAttributeIdByMetadataEntry=function(e,t,r){var i=this.ptr;return Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),r=r&&"object"==typeof r?r.ptr:Lr(r),Zt(i,e,t,r)},di.prototype.GetAttribute=di.prototype.GetAttribute=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),Jr(Ot(r,e,t),ei)},di.prototype.GetAttributeByUniqueId=di.prototype.GetAttributeByUniqueId=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),Jr(jt(r,e,t),ei)},di.prototype.GetMetadata=di.prototype.GetMetadata=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Jr(Pt(t,e),oi)},di.prototype.GetAttributeMetadata=di.prototype.GetAttributeMetadata=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),Jr(Yt(r,e,t),oi)},di.prototype.GetFaceFromMesh=di.prototype.GetFaceFromMesh=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!zt(i,e,t,r)},di.prototype.GetTriangleStripsFromMesh=di.prototype.GetTriangleStripsFromMesh=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),Jt(r,e,t)},di.prototype.GetTrianglesUInt16Array=di.prototype.GetTrianglesUInt16Array=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!Qt(i,e,t,r)},di.prototype.GetTrianglesUInt32Array=di.prototype.GetTrianglesUInt32Array=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!Lt(i,e,t,r)},di.prototype.GetAttributeFloat=di.prototype.GetAttributeFloat=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!Xt(i,e,t,r)},di.prototype.GetAttributeFloatForAllPoints=di.prototype.GetAttributeFloatForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!Ht(i,e,t,r)},di.prototype.GetAttributeIntForAllPoints=di.prototype.GetAttributeIntForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!qt(i,e,t,r)},di.prototype.GetAttributeInt8ForAllPoints=di.prototype.GetAttributeInt8ForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!$t(i,e,t,r)},di.prototype.GetAttributeUInt8ForAllPoints=di.prototype.GetAttributeUInt8ForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!Kt(i,e,t,r)},di.prototype.GetAttributeInt16ForAllPoints=di.prototype.GetAttributeInt16ForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!er(i,e,t,r)},di.prototype.GetAttributeUInt16ForAllPoints=di.prototype.GetAttributeUInt16ForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!tr(i,e,t,r)},di.prototype.GetAttributeInt32ForAllPoints=di.prototype.GetAttributeInt32ForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!rr(i,e,t,r)},di.prototype.GetAttributeUInt32ForAllPoints=di.prototype.GetAttributeUInt32ForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!ir(i,e,t,r)},di.prototype.GetAttributeDataArrayForAllPoints=di.prototype.GetAttributeDataArrayForAllPoints=function(e,t,r,i,n){var o=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),!!nr(o,e,t,r,i,n)},di.prototype.SkipAttributeTransform=di.prototype.SkipAttributeTransform=function(e){var t=this.ptr;e&&"object"==typeof e&&(e=e.ptr),or(t,e)},di.prototype.GetEncodedGeometryType_Deprecated=di.prototype.GetEncodedGeometryType_Deprecated=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),ar(t,e)},di.prototype.DecodeBufferToPointCloud=di.prototype.DecodeBufferToPointCloud=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),Jr(fr(r,e,t),ai)},di.prototype.DecodeBufferToMesh=di.prototype.DecodeBufferToMesh=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),Jr(sr(r,e,t),ai)},di.prototype.__destroy__=di.prototype.__destroy__=function(){var e=this.ptr;cr(e)},function(){function e(){s.ATTRIBUTE_INVALID_TRANSFORM=ur(),s.ATTRIBUTE_NO_TRANSFORM=lr(),s.ATTRIBUTE_QUANTIZATION_TRANSFORM=br(),s.ATTRIBUTE_OCTAHEDRON_TRANSFORM=Ar(),s.INVALID=pr(),s.POSITION=dr(),s.NORMAL=_r(),s.COLOR=hr(),s.TEX_COORD=kr(),s.GENERIC=mr(),s.INVALID_GEOMETRY_TYPE=yr(),s.POINT_CLOUD=vr(),s.TRIANGULAR_MESH=gr(),s.DT_INVALID=wr(),s.DT_INT8=Er(),s.DT_UINT8=Tr(),s.DT_INT16=Br(),s.DT_UINT16=Rr(),s.DT_INT32=xr(),s.DT_UINT32=Nr(),s.DT_INT64=Ir(),s.DT_UINT64=Cr(),s.DT_FLOAT32=Dr(),s.DT_FLOAT64=Mr(),s.DT_BOOL=Gr(),s.DT_TYPES_COUNT=Ur(),s.OK=Vr(),s.DRACO_ERROR=Fr(),s.IO_ERROR=Sr(),s.INVALID_PARAMETER=Wr(),s.UNSUPPORTED_VERSION=Zr(),s.UNKNOWN_VERSION=Or()}O?e():j(e)}(),"function"==typeof s.onModuleParsed&&s.onModuleParsed(),s.Decoder.prototype.GetEncodedGeometryType=function(e){if(e.__class__&&e.__class__===s.DecoderBuffer)return s.Decoder.prototype.GetEncodedGeometryType_Deprecated(e);if(e.byteLength<8)return s.INVALID_GEOMETRY_TYPE;switch(e[7]){case 0:return s.POINT_CLOUD;case 1:return s.TRIANGULAR_MESH;default:return s.INVALID_GEOMETRY_TYPE}},e.ready});e.exports=f}).call(this,"/index.js",r(22),"/",r(32).Buffer)},,,function(e,t,r){"use strict";(function(e){
220
+ */},function(e,t){e.exports=require("comlink")},function(e,t){e.exports=require("loglevel")},function(e,t){e.exports=require("lodash/map")},function(e,t){e.exports=require("skmeans")},function(e,t,r){(function(t,i,n,o){var a,f=(a=(a="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||t,function(e){var t,f,s=void 0!==(e=e||{})?e:{};s.ready=new Promise((function(e,r){t=e,f=r}));var c=!1,u=!1;s.onRuntimeInitialized=function(){c=!0,u&&"function"==typeof s.onModuleLoaded&&s.onModuleLoaded(s)},s.onModuleParsed=function(){u=!0,c&&"function"==typeof s.onModuleLoaded&&s.onModuleLoaded(s)},s.isVersionSupported=function(e){if("string"!=typeof e)return!1;const t=e.split(".");return!(t.length<2||t.length>3)&&(1==t[0]&&t[1]>=0&&t[1]<=5||!(0!=t[0]||t[1]>10))};var l,b={};for(l in s)s.hasOwnProperty(l)&&(b[l]=s[l]);var A,p,d,_,h,k=[],m="object"==typeof window,y="function"==typeof importScripts,v="object"==typeof i&&"object"==typeof i.versions&&"string"==typeof i.versions.node,g="";v?(g=y?r(19).dirname(g)+"/":n+"/",A=function(e,t){var i=ne(e);return i?t?i:i.toString():(_||(_=r(23)),h||(h=r(19)),e=h.normalize(e),_.readFileSync(e,t?null:"utf8"))},d=function(e){var t=A(e,!0);return t.buffer||(t=new Uint8Array(t)),R(t.buffer),t},p=function(e,t,i){var n=ne(e);n&&t(n),_||(_=r(23)),h||(h=r(19)),e=h.normalize(e),_.readFile(e,(function(e,r){e?i(e):t(r.buffer)}))},i.argv.length>1&&i.argv[1].replace(/\\/g,"/"),k=i.argv.slice(2),s.inspect=function(){return"[Emscripten Module object]"}):(m||y)&&(y?g=self.location.href:"undefined"!=typeof document&&document.currentScript&&(g=document.currentScript.src),a&&(g=a),g=0!==g.indexOf("blob:")?g.substr(0,g.replace(/[?#].*/,"").lastIndexOf("/")+1):"",A=function(e){try{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText}catch(t){var r=ne(e);if(r)return function(e){for(var t=[],r=0;r<e.length;r++){var i=e[r];i>255&&(i&=255),t.push(String.fromCharCode(i))}return t.join("")}(r);throw t}},y&&(d=function(e){try{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}catch(t){var r=ne(e);if(r)return r;throw t}}),p=function(e,t,r){var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=function(){if(200==i.status||0==i.status&&i.response)t(i.response);else{var n=ne(e);n?t(n.buffer):r()}},i.onerror=r,i.send(null)}),s.print||console.log.bind(console);var w,E=s.printErr||console.warn.bind(console);for(l in b)b.hasOwnProperty(l)&&(s[l]=b[l]);b=null,s.arguments&&(k=s.arguments),s.thisProgram&&s.thisProgram,s.quit&&s.quit,s.wasmBinary&&(w=s.wasmBinary);s.noExitRuntime;var T,B={Memory:function(e){this.buffer=new ArrayBuffer(65536*e.initial)},Module:function(e){},Instance:function(e,t){this.exports=function(e){for(var t,r=new Uint8Array(123),i=25;i>=0;--i)r[48+i]=52+i,r[65+i]=i,r[97+i]=26+i;function n(e,t,i){for(var n,o,a=0,f=t,s=i.length,c=t+(3*s>>2)-("="==i[s-2])-("="==i[s-1]);a<s;a+=4)n=r[i.charCodeAt(a+1)],o=r[i.charCodeAt(a+2)],e[f++]=r[i.charCodeAt(a)]<<2|n>>4,f<c&&(e[f++]=n<<4|o>>2),f<c&&(e[f++]=o<<6|r[i.charCodeAt(a+3)])}r[43]=62,r[47]=63;var o=new ArrayBuffer(16),a=new Int32Array(o),f=new Float32Array(o);function s(e){f[2]=e}function c(e){return a[e]}return new Float64Array(o),function(e){var r=e.a,i=r.buffer;r.grow=function(e){e|=0;var n=0|hi(),s=n+e|0;if(n<s&&s<65536){var c=new ArrayBuffer(d(s,65536));new Int8Array(c).set(o),o=new Int8Array(c),a=new Int16Array(c),f=new Int32Array(c),u=new Uint8Array(c),l=new Uint16Array(c),b=new Uint32Array(c),A=new Float32Array(c),p=new Float64Array(c),i=c,r.buffer=i,t=u}return n};var o=new Int8Array(i),a=new Int16Array(i),f=new Int32Array(i),u=new Uint8Array(i),l=new Uint16Array(i),b=new Uint32Array(i),A=new Float32Array(i),p=new Float64Array(i),d=Math.imul,_=Math.fround,h=Math.abs,k=Math.clz32,m=Math.min,y=Math.max,v=Math.floor,g=Math.ceil,w=(Math.trunc,Math.sqrt),E=e.abort,T=e.b,B=e.c,x=e.d,R=e.e,N=e.f,I=5254912,C=0;function D(e,t,r,i){var n=0,a=0,s=0,c=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,E=0,T=0,B=0,x=0,R=0,N=0;if(!e)return 1;e:if(!((0|(s=f[r+20>>2]))>=(0|(h=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|s)>(0|h))){h=u[n+f[r>>2]|0],s=(n=n+1|0)?s:s+1|0,f[r+16>>2]=n,f[r+20>>2]=s;t:switch(0|h){case 0:p=e,s=t,m=i,e=0,i=0,I=h=I+-64|0,f[h+56>>2]=0,f[h+48>>2]=0,f[h+52>>2]=0,f[h+40>>2]=0,f[h+44>>2]=0,f[h+32>>2]=0,f[h+36>>2]=0,f[h+24>>2]=0,f[h+28>>2]=0,f[h+16>>2]=0,f[h+20>>2]=0,f[h+8>>2]=0,f[h+12>>2]=0;r:if(se(h+8|0,r)&&!(!Se(h+8|0,r)|(f[h+20>>2]?0:p))){if(Kt(r,0,0),p)for(w=s<<2,E=f[h+36>>2],B=f[h+48>>2],x=f[h+24>>2];;){i:if(!((A=f[h+56>>2])>>>0>16383))for(e=f[h+52>>2];;){if((0|e)<=0)break i;if(e=e-1|0,f[h+52>>2]=e,A=u[e+B|0]|A<<8,f[h+56>>2]=A,!(A>>>0<16384))break}if(t=E+((_=f[x+((e=4095&A)<<2)>>2])<<3)|0,f[h+56>>2]=(d(f[t>>2],A>>>12|0)+e|0)-f[t+4>>2],!((0|s)<=0)){if(e=0,!u[r+36|0]|_>>>0>32)break r;if(_){for(R=-2&_,N=1&_,n=i+s|0,t=f[r+32>>2];;){if(k=f[r+28>>2],g=f[r+24>>2],A=0,e=t,a=0,v=0,1!=(0|_))for(;(c=(e>>>3|0)+g|0)>>>0>=k>>>0?c=0:(c=u[0|c],t=e+1|0,f[r+32>>2]=t,c=c>>>(7&e)&1,e=t),c=c<<A|a,a=0,(T=(e>>>3|0)+g|0)>>>0<k>>>0&&(a=u[0|T],t=e+1|0,f[r+32>>2]=t,a=a>>>(7&e)&1,e=t),T=1|A,A=A+2|0,a=c|a<<T,(0|R)!=(0|(v=v+2|0)););if(c=m+(i<<2)|0,N&&((v=k)>>>0>(k=(e>>>3|0)+g|0)>>>0?(k=u[0|k],t=e+1|0,f[r+32>>2]=t,e=k>>>(7&e)&1):e=0,a|=e<<A),f[c>>2]=a,(0|n)==(0|(i=i+1|0)))break}i=n}else Ye(m+(i<<2)|0,0,w),i=i+s|0}if(!(p>>>0>(y=s+y|0)>>>0))break}o[r+36|0]=0,i=f[r+20>>2],e=0,t=(s=(e=(t=f[r+32>>2]+7|0)>>>0<7?1:e)<<29|t>>>3)+f[r+16>>2]|0,e=(e>>>3|0)+i|0,f[r+16>>2]=t,f[r+20>>2]=t>>>0<s>>>0?e+1|0:e,e=1}return(t=f[h+36>>2])&&(f[h+40>>2]=t,ee(t)),(t=f[h+24>>2])&&(f[h+28>>2]=t,ee(t)),(t=f[h+8>>2])&&(f[h+12>>2]=t,ee(t)),I=h- -64|0,e;case 1:break t;default:break e}t=0;t:if(!((0|(s=f[r+20>>2]))>=(0|(n=f[r+12>>2]))&(a=f[r+16>>2])>>>0>=b[r+8>>2]|(0|n)<(0|s))){n=u[a+f[r>>2]|0],s=(a=a+1|0)?s:s+1|0,f[r+16>>2]=a,f[r+20>>2]=s;r:switch(n-1|0){case 4:if(I=a=I+-64|0,f[a+56>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a+8>>2]=0,f[a+12>>2]=0,!(!se(a+8|0,r)|(f[a+20>>2]?0:e))&&Se(a+8|0,r))if(e)for(r=f[a+36>>2],s=f[a+48>>2],p=f[a+24>>2],c=f[a+56>>2];;){i:if(!(c>>>0>16383))for(t=f[a+52>>2];;){if((0|t)<=0)break i;if(t=t-1|0,f[a+52>>2]=t,c=u[t+s|0]|c<<8,f[a+56>>2]=c,!(c>>>0<16384))break}if(m=f[p+((t=4095&c)<<2)>>2],c=(d(f[(n=r+(m<<3)|0)>>2],c>>>12|0)+t|0)-f[n+4>>2]|0,f[a+56>>2]=c,f[(y<<2)+i>>2]=m,t=1,(0|(y=y+1|0))==(0|e))break}else t=1;(e=f[a+36>>2])&&(f[a+40>>2]=e,ee(e)),(e=f[a+24>>2])&&(f[a+28>>2]=e,ee(e)),(e=f[a+8>>2])&&(f[a+12>>2]=e,ee(e)),I=a- -64|0;break t;case 8:h=e,I=n=I+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(l[r+38>>1]&&Et(1,n+12|0,r)){if(A=f[n+12>>2],t=f[n>>2],A>>>0>(e=f[n+4>>2]-t>>2)>>>0?(st(n,A-e|0),A=f[n+12>>2]):e>>>0<=A>>>0||(f[n+4>>2]=t+(A<<2)),e=1,!A)break i;for(g=f[r+8>>2],y=f[r+12>>2],v=f[n>>2],a=0;;){if(e=0,(0|y)<=(0|(s=f[r+20>>2]))&g>>>0<=(t=f[r+16>>2])>>>0|(0|s)>(0|y))break i;w=f[r>>2],k=u[w+t|0],s=(e=t+1|0)?s:s+1|0,_=e,f[r+16>>2]=e,e=s,f[r+20>>2]=e,t=k>>>2|0,c=0;o:{a:{f:{s:switch(0|(s=3&k)){case 0:break a;case 3:break s;default:break f}if(e=0,(t=t+a|0)>>>0>=A>>>0)break i;Ye(v+(a<<2)|0,0,4+(252&k)|0),a=t;break o}for(;;){if((0|e)>=(0|y)&_>>>0>=g>>>0|(0|e)>(0|y))break n;if(A=u[_+w|0],e=(_=_+1|0)?e:e+1|0,f[r+16>>2]=_,f[r+20>>2]=e,t|=A<<(c<<3|6),(0|s)==(0|(c=c+1|0)))break}}f[v+(a<<2)>>2]=t}if(!((a=a+1|0)>>>0<(A=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(a=(t=f[n+20>>2]-e|0)>>2)>>>0<=8191?st(y,8192-a|0):32768!=(0|t)&&(f[n+20>>2]=e+32768),a=f[(e=n+28|0)>>2],(t=f[n+32>>2]-a>>3)>>>0<A>>>0)ct(e,A-t|0),a=f[e>>2];else if(t>>>0>A>>>0&&(f[n+32>>2]=(A<<3)+a),!A)break n;for(c=0,e=0;;){if(_=f[(s=g+(c<<2)|0)>>2],t=e,f[4+(k=(c<<3)+a|0)>>2]=e,f[k>>2]=_,(e=(s=f[s>>2])+e|0)>>>0>8192)break n;if(!(e>>>0<=t>>>0)){if(k=f[y>>2],_=0,v=7&s)for(;f[k+(t<<2)>>2]=c,t=t+1|0,(0|v)!=(0|(_=_+1|0)););if(!(s-1>>>0<=6))for(;f[(s=k+(t<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(t=t+8|0))!=(0|e););}if((0|A)==(0|(c=c+1|0)))break}m=8192==(0|e)}e=m}i:if(!(!e|(f[n+12>>2]?0:h))&&dt(1,n+56|0,r)&&(a=(e=f[r+8>>2])-(t=f[r+16>>2])|0,s=f[n+60>>2],m=f[r+20>>2],!((0|s)==(0|(c=f[r+12>>2]-(m+(e>>>0<t>>>0)|0)|0))&a>>>0<(e=f[n+56>>2])>>>0|s>>>0>c>>>0||(s=s+m|0,s=(a=e+t|0)>>>0<e>>>0?s+1|0:s,f[r+16>>2]=a,f[r+20>>2]=s,(0|e)<=0)))){r=t+f[r>>2]|0,f[n+40>>2]=r;n:if((s=u[0|(a=r+(t=e-1|0)|0)])>>>0<=63)f[n+44>>2]=t,e=63&u[0|a];else{o:switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;t=e-2|0,f[n+44>>2]=t,e=u[1+(e=(e+r|0)-2|0)|0]<<8&16128|u[0|e];break n;case 1:if(e>>>0<3)break i;t=e-3|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-3|0)|0]<<16&4128768|u[e+1|0]<<8|u[0|e];break n}t=e-4|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-4|0)|0]<<16|u[e+3|0]<<24&1056964608|u[e+1|0]<<8|u[0|e]}if(a=e+32768|0,f[n+48>>2]=a,!(a>>>0>8388607))if(h)for(s=f[n+28>>2],e=0,m=f[n+16>>2];;){n:if(!(a>>>0>32767))for(;;){if((0|t)<=0)break n;if(t=t-1|0,f[n+44>>2]=t,a=u[t+r|0]|a<<8,f[n+48>>2]=a,!(a>>>0<32768))break}if(c=f[m+((p=8191&a)<<2)>>2],a=(d(f[(A=s+(c<<3)|0)>>2],a>>>13|0)+p|0)-f[A+4>>2]|0,f[n+48>>2]=a,f[(e<<2)+i>>2]=c,p=1,(0|h)==(0|(e=e+1|0)))break}else p=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),I=n- -64|0,t=p;break t;case 9:h=e,I=n=I+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(l[r+38>>1]&&Et(1,n+12|0,r)){if(A=f[n+12>>2],t=f[n>>2],A>>>0>(e=f[n+4>>2]-t>>2)>>>0?(st(n,A-e|0),A=f[n+12>>2]):e>>>0<=A>>>0||(f[n+4>>2]=t+(A<<2)),e=1,!A)break i;for(k=f[r+8>>2],y=f[r+12>>2],g=f[n>>2],a=0;;){if(e=0,(0|y)<=(0|(t=f[r+20>>2]))&k>>>0<=(c=f[r+16>>2])>>>0|(0|t)>(0|y))break i;v=f[r>>2],s=u[v+c|0],e=t,e=(t=c+1|0)?e:e+1|0,_=t,f[r+16>>2]=t,f[r+20>>2]=e,t=s>>>2|0,c=0;o:{a:{f:{s:switch(0|(w=3&s)){case 0:break a;case 3:break s;default:break f}if(e=0,(t=t+a|0)>>>0>=A>>>0)break i;Ye(g+(a<<2)|0,0,4+(252&s)|0),a=t;break o}for(;;){if((0|e)>=(0|y)&_>>>0>=k>>>0|(0|e)>(0|y))break n;if(A=u[_+v|0],s=e,s=(e=_+1|0)?s:s+1|0,_=e,f[r+16>>2]=e,e=s,f[r+20>>2]=e,t|=A<<(c<<3|6),(0|w)==(0|(c=c+1|0)))break}}f[g+(a<<2)>>2]=t}if(!((a=a+1|0)>>>0<(A=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(a=(t=f[n+20>>2]-e|0)>>2)>>>0<=32767?st(y,32768-a|0):131072!=(0|t)&&(f[n+20>>2]=e+131072),a=f[(e=n+28|0)>>2],(t=f[n+32>>2]-a>>3)>>>0<A>>>0)ct(e,A-t|0),a=f[e>>2];else if(t>>>0>A>>>0&&(f[n+32>>2]=(A<<3)+a),!A)break n;for(c=0,e=0;;){if(_=f[(s=g+(c<<2)|0)>>2],t=e,f[4+(k=(c<<3)+a|0)>>2]=e,f[k>>2]=_,(e=(s=f[s>>2])+e|0)>>>0>32768)break n;if(!(e>>>0<=t>>>0)){if(k=f[y>>2],_=0,v=7&s)for(;f[k+(t<<2)>>2]=c,t=t+1|0,(0|v)!=(0|(_=_+1|0)););if(!(s-1>>>0<=6))for(;f[(s=k+(t<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(t=t+8|0))!=(0|e););}if((0|A)==(0|(c=c+1|0)))break}m=32768==(0|e)}e=m}i:if(!(!e|(f[n+12>>2]?0:h))&&dt(1,n+56|0,r)&&(s=(e=f[r+8>>2])-(t=a=f[r+16>>2])|0,m=f[n+60>>2],c=f[r+20>>2],!((0|m)==(0|(e=f[r+12>>2]-(c+(e>>>0<t>>>0)|0)|0))&s>>>0<(t=f[n+56>>2])>>>0|e>>>0<m>>>0||(e=c+m|0,e=(s=t+a|0)>>>0<t>>>0?e+1|0:e,f[r+16>>2]=s,f[r+20>>2]=e,(0|(e=t))<=0)))){r=a+f[r>>2]|0,f[n+40>>2]=r;n:if((s=u[0|(a=r+(t=e-1|0)|0)])>>>0<=63)f[n+44>>2]=t,e=63&u[0|a];else{o:switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;t=e-2|0,f[n+44>>2]=t,e=u[1+(e=(e+r|0)-2|0)|0]<<8&16128|u[0|e];break n;case 1:if(e>>>0<3)break i;t=e-3|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-3|0)|0]<<16&4128768|u[e+1|0]<<8|u[0|e];break n}t=e-4|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-4|0)|0]<<16|u[e+3|0]<<24&1056964608|u[e+1|0]<<8|u[0|e]}if(a=e+131072|0,f[n+48>>2]=a,!(a>>>0>33554431))if(h)for(s=f[n+28>>2],e=0,m=f[n+16>>2];;){n:if(!(a>>>0>131071))for(;;){if((0|t)<=0)break n;if(t=t-1|0,f[n+44>>2]=t,a=u[t+r|0]|a<<8,f[n+48>>2]=a,!(a>>>0<131072))break}if(c=f[m+((p=32767&a)<<2)>>2],a=(d(f[(A=s+(c<<3)|0)>>2],a>>>15|0)+p|0)-f[A+4>>2]|0,f[n+48>>2]=a,f[(e<<2)+i>>2]=c,p=1,(0|h)==(0|(e=e+1|0)))break}else p=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),I=n- -64|0,t=p;break t;case 10:h=e,I=n=I+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(l[r+38>>1]&&Et(1,n+12|0,r)){if(A=f[n+12>>2],t=f[n>>2],A>>>0>(e=f[n+4>>2]-t>>2)>>>0?(st(n,A-e|0),A=f[n+12>>2]):e>>>0<=A>>>0||(f[n+4>>2]=t+(A<<2)),e=1,!A)break i;for(g=f[r+8>>2],y=f[r+12>>2],v=f[n>>2],a=0;;){if(e=0,(0|y)<=(0|(s=f[r+20>>2]))&g>>>0<=(t=f[r+16>>2])>>>0|(0|s)>(0|y))break i;w=f[r>>2],k=u[w+t|0],s=(e=t+1|0)?s:s+1|0,_=e,f[r+16>>2]=e,e=s,f[r+20>>2]=e,t=k>>>2|0,c=0;o:{a:{f:{s:switch(0|(E=3&k)){case 0:break a;case 3:break s;default:break f}if(e=0,(t=t+a|0)>>>0>=A>>>0)break i;Ye(v+(a<<2)|0,0,4+(252&k)|0),a=t;break o}for(;;){if((0|e)>=(0|y)&_>>>0>=g>>>0|(0|e)>(0|y))break n;if(A=u[_+w|0],s=e,s=(e=_+1|0)?s:s+1|0,_=e,f[r+16>>2]=e,e=s,f[r+20>>2]=e,t|=A<<(c<<3|6),(0|E)==(0|(c=c+1|0)))break}}f[v+(a<<2)>>2]=t}if(!((a=a+1|0)>>>0<(A=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(a=(t=f[n+20>>2]-e|0)>>2)>>>0<=65535?st(y,65536-a|0):262144!=(0|t)&&(f[n+20>>2]=e+262144),a=f[(e=n+28|0)>>2],(t=f[n+32>>2]-a>>3)>>>0<A>>>0)ct(e,A-t|0),a=f[e>>2];else if(t>>>0>A>>>0&&(f[n+32>>2]=(A<<3)+a),!A)break n;for(c=0,e=0;;){if(_=f[(s=g+(c<<2)|0)>>2],t=e,f[4+(k=(c<<3)+a|0)>>2]=e,f[k>>2]=_,(e=(s=f[s>>2])+e|0)>>>0>65536)break n;if(!(e>>>0<=t>>>0)){if(k=f[y>>2],_=0,v=7&s)for(;f[k+(t<<2)>>2]=c,t=t+1|0,(0|v)!=(0|(_=_+1|0)););if(!(s-1>>>0<=6))for(;f[(s=k+(t<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(t=t+8|0))!=(0|e););}if((0|A)==(0|(c=c+1|0)))break}m=65536==(0|e)}e=m}i:if(!(!e|(f[n+12>>2]?0:h))&&dt(1,n+56|0,r)&&(a=(e=f[r+8>>2])-(t=f[r+16>>2])|0,s=f[n+60>>2],m=f[r+20>>2],!((0|s)==(0|(c=f[r+12>>2]-(m+(e>>>0<t>>>0)|0)|0))&a>>>0<(e=f[n+56>>2])>>>0|s>>>0>c>>>0||(s=s+m|0,s=(a=e+t|0)>>>0<e>>>0?s+1|0:s,f[r+16>>2]=a,f[r+20>>2]=s,(0|e)<=0)))){r=t+f[r>>2]|0,f[n+40>>2]=r;n:if((s=u[0|(a=r+(t=e-1|0)|0)])>>>0<=63)f[n+44>>2]=t,e=63&u[0|a];else{o:switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;t=e-2|0,f[n+44>>2]=t,e=u[1+(e=(e+r|0)-2|0)|0]<<8&16128|u[0|e];break n;case 1:if(e>>>0<3)break i;t=e-3|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-3|0)|0]<<16&4128768|u[e+1|0]<<8|u[0|e];break n}t=e-4|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-4|0)|0]<<16|u[e+3|0]<<24&1056964608|u[e+1|0]<<8|u[0|e]}if(a=e+262144|0,f[n+48>>2]=a,!(a>>>0>67108863))if(h)for(s=f[n+28>>2],e=0,m=f[n+16>>2];;){n:if(!(a>>>0>262143))for(;;){if((0|t)<=0)break n;if(t=t-1|0,f[n+44>>2]=t,a=u[t+r|0]|a<<8,f[n+48>>2]=a,!(a>>>0<262144))break}if(c=f[m+((p=65535&a)<<2)>>2],a=(d(f[(A=s+(c<<3)|0)>>2],a>>>16|0)+p|0)-f[A+4>>2]|0,f[n+48>>2]=a,f[(e<<2)+i>>2]=c,p=1,(0|h)==(0|(e=e+1|0)))break}else p=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),I=n- -64|0,t=p;break t;case 11:h=e,I=n=I+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(l[r+38>>1]&&Et(1,n+12|0,r)){if(A=f[n+12>>2],t=f[n>>2],A>>>0>(e=f[n+4>>2]-t>>2)>>>0?(st(n,A-e|0),A=f[n+12>>2]):e>>>0<=A>>>0||(f[n+4>>2]=t+(A<<2)),e=1,!A)break i;for(g=f[r+8>>2],y=f[r+12>>2],v=f[n>>2],a=0;;){if(e=0,(0|y)<=(0|(s=f[r+20>>2]))&g>>>0<=(t=f[r+16>>2])>>>0|(0|s)>(0|y))break i;w=f[r>>2],k=u[w+t|0],s=(e=t+1|0)?s:s+1|0,_=e,f[r+16>>2]=e,e=s,f[r+20>>2]=e,t=k>>>2|0,c=0;o:{a:{f:{s:switch(0|(s=3&k)){case 0:break a;case 3:break s;default:break f}if(e=0,(t=t+a|0)>>>0>=A>>>0)break i;Ye(v+(a<<2)|0,0,4+(252&k)|0),a=t;break o}for(;;){if((0|e)>=(0|y)&_>>>0>=g>>>0|(0|e)>(0|y))break n;if(A=u[_+w|0],e=(_=_+1|0)?e:e+1|0,f[r+16>>2]=_,f[r+20>>2]=e,t|=A<<(c<<3|6),(0|s)==(0|(c=c+1|0)))break}}f[v+(a<<2)>>2]=t}if(!((a=a+1|0)>>>0<(A=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(a=(t=f[n+20>>2]-e|0)>>2)>>>0<=262143?st(y,262144-a|0):1048576!=(0|t)&&(f[n+20>>2]=e- -1048576),a=f[(e=n+28|0)>>2],(t=f[n+32>>2]-a>>3)>>>0<A>>>0)ct(e,A-t|0),a=f[e>>2];else if(t>>>0>A>>>0&&(f[n+32>>2]=(A<<3)+a),!A)break n;for(c=0,e=0;;){if(_=f[(s=g+(c<<2)|0)>>2],t=e,f[4+(k=(c<<3)+a|0)>>2]=e,f[k>>2]=_,(e=(s=f[s>>2])+e|0)>>>0>262144)break n;if(!(e>>>0<=t>>>0)){if(k=f[y>>2],_=0,v=7&s)for(;f[k+(t<<2)>>2]=c,t=t+1|0,(0|v)!=(0|(_=_+1|0)););if(!(s-1>>>0<=6))for(;f[(s=k+(t<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(t=t+8|0))!=(0|e););}if((0|A)==(0|(c=c+1|0)))break}m=262144==(0|e)}e=m}i:if(!(!e|(f[n+12>>2]?0:h))&&dt(1,n+56|0,r)&&(a=(e=f[r+8>>2])-(t=f[r+16>>2])|0,s=f[n+60>>2],m=f[r+20>>2],!((0|s)==(0|(c=f[r+12>>2]-(m+(e>>>0<t>>>0)|0)|0))&a>>>0<(e=f[n+56>>2])>>>0|s>>>0>c>>>0||(s=s+m|0,s=(a=e+t|0)>>>0<e>>>0?s+1|0:s,f[r+16>>2]=a,f[r+20>>2]=s,(0|e)<=0)))){r=t+f[r>>2]|0,f[n+40>>2]=r;n:if((s=u[0|(a=r+(t=e-1|0)|0)])>>>0<=63)f[n+44>>2]=t,e=63&u[0|a];else{o:switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;t=e-2|0,f[n+44>>2]=t,e=u[1+(e=(e+r|0)-2|0)|0]<<8&16128|u[0|e];break n;case 1:if(e>>>0<3)break i;t=e-3|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-3|0)|0]<<16&4128768|u[e+1|0]<<8|u[0|e];break n}t=e-4|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-4|0)|0]<<16|u[e+3|0]<<24&1056964608|u[e+1|0]<<8|u[0|e]}if(a=e- -1048576|0,f[n+48>>2]=a,!(a>>>0>268435455))if(h)for(s=f[n+28>>2],e=0,m=f[n+16>>2];;){n:if(!(a>>>0>1048575))for(;;){if((0|t)<=0)break n;if(t=t-1|0,f[n+44>>2]=t,a=u[t+r|0]|a<<8,f[n+48>>2]=a,!(a>>>0<1048576))break}if(c=f[m+((p=262143&a)<<2)>>2],a=(d(f[(A=s+(c<<3)|0)>>2],a>>>18|0)+p|0)-f[A+4>>2]|0,f[n+48>>2]=a,f[(e<<2)+i>>2]=c,p=1,(0|h)==(0|(e=e+1|0)))break}else p=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),I=n- -64|0,t=p;break t;case 12:h=e,I=n=I+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(l[r+38>>1]&&Et(1,n+12|0,r)){if(A=f[n+12>>2],t=f[n>>2],A>>>0>(e=f[n+4>>2]-t>>2)>>>0?(st(n,A-e|0),A=f[n+12>>2]):e>>>0<=A>>>0||(f[n+4>>2]=t+(A<<2)),e=1,!A)break i;for(k=f[r+8>>2],y=f[r+12>>2],g=f[n>>2],a=0;;){if(e=0,(0|y)<=(0|(t=f[r+20>>2]))&k>>>0<=(c=f[r+16>>2])>>>0|(0|t)>(0|y))break i;v=f[r>>2],s=u[v+c|0],e=t,e=(t=c+1|0)?e:e+1|0,_=t,f[r+16>>2]=t,f[r+20>>2]=e,t=s>>>2|0,c=0;o:{a:{f:{s:switch(0|(w=3&s)){case 0:break a;case 3:break s;default:break f}if(e=0,(t=t+a|0)>>>0>=A>>>0)break i;Ye(g+(a<<2)|0,0,4+(252&s)|0),a=t;break o}for(;;){if((0|e)>=(0|y)&_>>>0>=k>>>0|(0|e)>(0|y))break n;if(A=u[_+v|0],s=e,s=(e=_+1|0)?s:s+1|0,_=e,f[r+16>>2]=e,e=s,f[r+20>>2]=e,t|=A<<(c<<3|6),(0|w)==(0|(c=c+1|0)))break}}f[g+(a<<2)>>2]=t}if(!((a=a+1|0)>>>0<(A=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(a=(t=f[n+20>>2]-e|0)>>2)>>>0<=524287?st(y,524288-a|0):2097152!=(0|t)&&(f[n+20>>2]=e+2097152),a=f[(e=n+28|0)>>2],(t=f[n+32>>2]-a>>3)>>>0<A>>>0)ct(e,A-t|0),a=f[e>>2];else if(t>>>0>A>>>0&&(f[n+32>>2]=(A<<3)+a),!A)break n;for(c=0,e=0;;){if(_=f[(s=g+(c<<2)|0)>>2],t=e,f[4+(k=(c<<3)+a|0)>>2]=e,f[k>>2]=_,(e=(s=f[s>>2])+e|0)>>>0>524288)break n;if(!(e>>>0<=t>>>0)){if(k=f[y>>2],_=0,v=7&s)for(;f[k+(t<<2)>>2]=c,t=t+1|0,(0|v)!=(0|(_=_+1|0)););if(!(s-1>>>0<=6))for(;f[(s=k+(t<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(t=t+8|0))!=(0|e););}if((0|A)==(0|(c=c+1|0)))break}m=524288==(0|e)}e=m}i:if(!(!e|(f[n+12>>2]?0:h))&&dt(1,n+56|0,r)&&(s=(e=f[r+8>>2])-(t=a=f[r+16>>2])|0,m=f[n+60>>2],c=f[r+20>>2],!((0|m)==(0|(e=f[r+12>>2]-(c+(e>>>0<t>>>0)|0)|0))&s>>>0<(t=f[n+56>>2])>>>0|e>>>0<m>>>0||(e=c+m|0,e=(s=t+a|0)>>>0<t>>>0?e+1|0:e,f[r+16>>2]=s,f[r+20>>2]=e,(0|(e=t))<=0)))){r=a+f[r>>2]|0,f[n+40>>2]=r;n:if((s=u[0|(a=r+(t=e-1|0)|0)])>>>0<=63)f[n+44>>2]=t,e=63&u[0|a];else{o:switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;t=e-2|0,f[n+44>>2]=t,e=u[1+(e=(e+r|0)-2|0)|0]<<8&16128|u[0|e];break n;case 1:if(e>>>0<3)break i;t=e-3|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-3|0)|0]<<16&4128768|u[e+1|0]<<8|u[0|e];break n}t=e-4|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-4|0)|0]<<16|u[e+3|0]<<24&1056964608|u[e+1|0]<<8|u[0|e]}if(a=e+2097152|0,f[n+48>>2]=a,!(a>>>0>536870911))if(h)for(s=f[n+28>>2],e=0,m=f[n+16>>2];;){n:if(!(a>>>0>2097151))for(;;){if((0|t)<=0)break n;if(t=t-1|0,f[n+44>>2]=t,a=u[t+r|0]|a<<8,f[n+48>>2]=a,!(a>>>0<2097152))break}if(c=f[m+((p=524287&a)<<2)>>2],a=(d(f[(A=s+(c<<3)|0)>>2],a>>>19|0)+p|0)-f[A+4>>2]|0,f[n+48>>2]=a,f[(e<<2)+i>>2]=c,p=1,(0|h)==(0|(e=e+1|0)))break}else p=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),I=n- -64|0,t=p;break t;case 17:t=H(e,r,i);break t;case 0:case 1:case 2:case 3:case 5:case 6:case 7:a=0,I=p=I+-64|0,f[p+48>>2]=0,f[p+40>>2]=0,f[p+44>>2]=0,f[p+32>>2]=0,f[p+36>>2]=0,f[p+24>>2]=0,f[p+28>>2]=0,f[p+16>>2]=0,f[p+20>>2]=0,f[p+8>>2]=0,f[p+12>>2]=0,f[p>>2]=0,f[p+4>>2]=0;i:if(!(!se(p,r)|(f[p+12>>2]?0:e))&&dt(1,p+56|0,r)&&(n=(t=f[r+8>>2])-(s=m=f[r+16>>2])|0,h=f[p+60>>2],c=f[r+20>>2],!((0|h)==(0|(s=f[r+12>>2]-(c+(t>>>0<s>>>0)|0)|0))&n>>>0<(t=f[p+56>>2])>>>0|s>>>0<h>>>0||(s=c+h|0,s=(n=t+m|0)>>>0<t>>>0?s+1|0:s,f[r+16>>2]=n,f[r+20>>2]=s,(0|t)<=0)))){s=m+f[r>>2]|0,f[p+40>>2]=s;n:if((n=u[0|(m=s+(r=t-1|0)|0)])>>>0<=63)f[p+44>>2]=r,t=63&u[0|m];else{o:switch((n>>>6|0)-1|0){case 0:if(t>>>0<2)break i;r=t-2|0,f[p+44>>2]=r,t=u[1+(t=(t+s|0)-2|0)|0]<<8&16128|u[0|t];break n;case 1:if(t>>>0<3)break i;r=t-3|0,f[p+44>>2]=r,t=u[2+(t=(t+s|0)-3|0)|0]<<16&4128768|u[t+1|0]<<8|u[0|t];break n}r=t-4|0,f[p+44>>2]=r,t=u[2+(t=(t+s|0)-4|0)|0]<<16|u[t+3|0]<<24&1056964608|u[t+1|0]<<8|u[0|t]}if(c=t+16384|0,f[p+48>>2]=c,!(c>>>0>4194303))if(e)for(t=f[p+28>>2],m=f[p+16>>2];;){n:if(!(c>>>0>16383))for(;;){if((0|r)<=0)break n;if(r=r-1|0,f[p+44>>2]=r,c=u[r+s|0]|c<<8,f[p+48>>2]=c,!(c>>>0<16384))break}if(n=f[m+((a=4095&c)<<2)>>2],c=(d(f[(h=t+(n<<3)|0)>>2],c>>>12|0)+a|0)-f[h+4>>2]|0,f[p+48>>2]=c,f[(_<<2)+i>>2]=n,a=1,(0|(_=_+1|0))==(0|e))break}else a=1}(e=f[p+28>>2])&&(f[p+32>>2]=e,ee(e)),(e=f[p+16>>2])&&(f[p+20>>2]=e,ee(e)),(e=f[p>>2])&&(f[p+4>>2]=e,ee(e)),I=p- -64|0,t=a;break t;case 13:case 14:case 15:case 16:break r;default:break t}t=H(e,r,i)}a=t}return a}function M(e){var t,r=0,i=0,n=0,o=0,a=0,s=0,c=0,l=0,A=0,p=0,d=0,_=0;I=t=I-16|0;e:{t:{r:{i:{n:{o:{a:{f:{s:{c:{u:{if((e|=0)>>>0<=244){if(3&(r=(o=f[2881])>>>(i=(c=e>>>0<11?16:e+11&-8)>>>3|0)|0)){e=(a=f[11572+(r=(n=i+(1&(-1^r))|0)<<3)>>2])+8|0,(0|(i=f[a+8>>2]))!=(0|(r=r+11564|0))?(f[i+12>>2]=r,f[r+8>>2]=i):(d=11524,_=xr(n)&o,f[d>>2]=_),r=n<<3,f[a+4>>2]=3|r,f[4+(r=r+a|0)>>2]=1|f[r+4>>2];break e}if((p=f[2883])>>>0>=c>>>0)break u;if(r){i=e=(r=(0-(e=(0-(e=2<<i)|e)&r<<i)&e)-1|0)>>>12&16,i|=e=(r=r>>>e|0)>>>5&8,i|=e=(r=r>>>e|0)>>>2&4,s=f[11572+(e=(i=((i|=e=(r=r>>>e|0)>>>1&2)|(e=(r=r>>>e|0)>>>1&1))+(r>>>e|0)|0)<<3)>>2],(0|(r=f[s+8>>2]))!=(0|(e=e+11564|0))?(f[r+12>>2]=e,f[e+8>>2]=r):(o=xr(i)&o,f[2881]=o),e=s+8|0,f[s+4>>2]=3|c,a=(r=i<<3)-c|0,f[4+(n=s+c|0)>>2]=1|a,f[r+s>>2]=a,p&&(i=11564+((r=p>>>3|0)<<3)|0,s=f[2886],(r=1<<r)&o?r=f[i+8>>2]:(f[2881]=r|o,r=i),f[i+8>>2]=s,f[r+12>>2]=s,f[s+12>>2]=i,f[s+8>>2]=r),f[2886]=n,f[2883]=a;break e}if(!(A=f[2882]))break u;for(i=e=(r=(A&0-A)-1|0)>>>12&16,i|=e=(r=r>>>e|0)>>>5&8,i|=e=(r=r>>>e|0)>>>2&4,r=f[11828+(((i|=e=(r=r>>>e|0)>>>1&2)|(e=(r=r>>>e|0)>>>1&1))+(r>>>e|0)<<2)>>2],n=(-8&f[r+4>>2])-c|0,i=r;(e=f[i+16>>2])||(e=f[i+20>>2]);)n=(a=(i=(-8&f[e+4>>2])-c|0)>>>0<n>>>0)?i:n,r=a?e:r,i=e;if(l=f[r+24>>2],(0|(a=f[r+12>>2]))!=(0|r)){e=f[r+8>>2],f[e+12>>2]=a,f[a+8>>2]=e;break t}if(!(e=f[(i=r+20|0)>>2])){if(!(e=f[r+16>>2]))break c;i=r+16|0}for(;s=i,a=e,(e=f[(i=e+20|0)>>2])||(i=a+16|0,e=f[a+16>>2]););f[s>>2]=0;break t}if(c=-1,!(e>>>0>4294967231)&&(c=-8&(e=e+11|0),A=f[2882])){n=0-c|0,o=0,c>>>0<256||(o=31,c>>>0>16777215||(e=e>>>8|0,e<<=s=e+1048320>>>16&8,o=28+((e=((e<<=i=e+520192>>>16&4)<<(r=e+245760>>>16&2)>>>15|0)-(r|i|s)|0)<<1|c>>>e+21&1)|0));l:{b:{if(i=f[11828+(o<<2)>>2])for(e=0,r=c<<(31==(0|o)?0:25-(o>>>1|0)|0);;){if(!((s=(-8&f[i+4>>2])-c|0)>>>0>=n>>>0||(a=i,n=s))){n=0,e=i;break b}if(s=f[i+20>>2],i=f[16+((r>>>29&4)+i|0)>>2],e=s?(0|s)==(0|i)?e:s:e,r<<=1,!i)break}else e=0;if(!(e|a)){if(a=0,!(e=(0-(e=2<<o)|e)&A))break u;i=e=(r=(e&0-e)-1|0)>>>12&16,i|=e=(r=r>>>e|0)>>>5&8,i|=e=(r=r>>>e|0)>>>2&4,e=f[11828+(((i|=e=(r=r>>>e|0)>>>1&2)|(e=(r=r>>>e|0)>>>1&1))+(r>>>e|0)<<2)>>2]}if(!e)break l}for(;n=(i=(r=(-8&f[e+4>>2])-c|0)>>>0<n>>>0)?r:n,a=i?e:a,e=(r=f[e+16>>2])||f[e+20>>2];);}if(!(!a|f[2883]-c>>>0<=n>>>0)){if(o=f[a+24>>2],(0|a)!=(0|(r=f[a+12>>2]))){e=f[a+8>>2],f[e+12>>2]=r,f[r+8>>2]=e;break r}if(!(e=f[(i=a+20|0)>>2])){if(!(e=f[a+16>>2]))break s;i=a+16|0}for(;s=i,r=e,(e=f[(i=e+20|0)>>2])||(i=r+16|0,e=f[r+16>>2]););f[s>>2]=0;break r}}}if((i=f[2883])>>>0>=c>>>0){n=f[2886],(r=i-c|0)>>>0>=16?(f[2883]=r,e=n+c|0,f[2886]=e,f[e+4>>2]=1|r,f[i+n>>2]=r,f[n+4>>2]=3|c):(f[2886]=0,f[2883]=0,f[n+4>>2]=3|i,f[4+(e=i+n|0)>>2]=1|f[e+4>>2]),e=n+8|0;break e}if((l=f[2884])>>>0>c>>>0){r=l-c|0,f[2884]=r,e=(i=f[2887])+c|0,f[2887]=e,f[e+4>>2]=1|r,f[i+4>>2]=3|c,e=i+8|0;break e}if(e=0,A=c+47|0,f[2999]?i=f[3001]:(f[3002]=-1,f[3003]=-1,f[3e3]=4096,f[3001]=4096,f[2999]=t+12&-16^1431655768,f[3004]=0,f[2992]=0,i=4096),(i=(s=A+i|0)&(a=0-i|0))>>>0<=c>>>0)break e;if((n=f[2991])&&n>>>0<(o=(r=f[2989])+i|0)>>>0|r>>>0>=o>>>0)break e;if(4&u[11968])break o;u:{l:{if(n=f[2887])for(e=11972;;){if((r=f[e>>2])>>>0<=n>>>0&n>>>0<r+f[e+4>>2]>>>0)break l;if(!(e=f[e+8>>2]))break}if(-1==(0|(r=er(0))))break a;if(o=i,(e=(n=f[3e3])-1|0)&r&&(o=(i-r|0)+(e+r&0-n)|0),o>>>0<=c>>>0|o>>>0>2147483646)break a;if((n=f[2991])&&n>>>0<(a=(e=f[2989])+o|0)>>>0|e>>>0>=a>>>0)break a;if((0|r)!=(0|(e=er(o))))break u;break n}if((o=a&s-l)>>>0>2147483646)break a;if((0|(r=er(o)))==(f[e>>2]+f[e+4>>2]|0))break f;e=r}if(!(-1==(0|e)|c+48>>>0<=o>>>0)){if((r=(r=f[3001])+(A-o|0)&0-r)>>>0>2147483646){r=e;break n}if(-1!=(0|er(r))){o=r+o|0,r=e;break n}er(0-o|0);break a}if(r=e,-1!=(0|e))break n;break a}a=0;break t}r=0;break r}if(-1!=(0|r))break n}f[2992]=4|f[2992]}if(i>>>0>2147483646)break i;if(-1==(0|(r=er(i)))|-1==(0|(e=er(0)))|e>>>0<=r>>>0)break i;if((o=e-r|0)>>>0<=c+40>>>0)break i}e=f[2989]+o|0,f[2989]=e,e>>>0>b[2990]&&(f[2990]=e);n:{o:{a:{if(s=f[2887]){for(e=11972;;){if(((n=f[e>>2])+(i=f[e+4>>2])|0)==(0|r))break a;if(!(e=f[e+8>>2]))break}break o}for((e=f[2885])>>>0<=r>>>0&&e||(f[2885]=r),e=0,f[2994]=o,f[2993]=r,f[2889]=-1,f[2890]=f[2999],f[2996]=0;i=11564+(n=e<<3)|0,f[n+11572>>2]=i,f[n+11576>>2]=i,32!=(0|(e=e+1|0)););i=(n=o-40|0)-(e=r+8&7?-8-r&7:0)|0,f[2884]=i,e=e+r|0,f[2887]=e,f[e+4>>2]=1|i,f[4+(r+n|0)>>2]=40,f[2888]=f[3003];break n}if(!(8&u[e+12|0]|n>>>0>s>>>0|r>>>0<=s>>>0)){f[e+4>>2]=i+o,i=(e=s+8&7?-8-s&7:0)+s|0,f[2887]=i,e=(r=f[2884]+o|0)-e|0,f[2884]=e,f[i+4>>2]=1|e,f[4+(r+s|0)>>2]=40,f[2888]=f[3003];break n}}b[2885]>r>>>0&&(f[2885]=r),i=r+o|0,e=11972;o:{a:{f:{s:{c:{u:{for(;;){if((0|i)!=f[e>>2]){if(e=f[e+8>>2])continue;break u}break}if(!(8&u[e+12|0]))break c}for(e=11972;;){if((i=f[e>>2])>>>0<=s>>>0&&(a=i+f[e+4>>2]|0)>>>0>s>>>0)break s;e=f[e+8>>2]}}if(f[e>>2]=r,f[e+4>>2]=f[e+4>>2]+o,f[4+(A=(r+8&7?-8-r&7:0)+r|0)>>2]=3|c,i=(o=i+(i+8&7?-8-i&7:0)|0)-(l=c+A|0)|0,(0|o)==(0|s)){f[2887]=l,e=f[2884]+i|0,f[2884]=e,f[l+4>>2]=1|e;break a}if(f[2886]==(0|o)){f[2886]=l,e=f[2883]+i|0,f[2883]=e,f[l+4>>2]=1|e,f[e+l>>2]=e;break a}if(1==(3&(e=f[o+4>>2]))){s=-8&e;c:if(e>>>0<=255){if(n=f[o+8>>2],e=e>>>3|0,(0|(r=f[o+12>>2]))==(0|n)){d=11524,_=f[2881]&xr(e),f[d>>2]=_;break c}f[n+12>>2]=r,f[r+8>>2]=n}else{if(c=f[o+24>>2],(0|o)==(0|(r=f[o+12>>2])))if((n=f[(e=o+20|0)>>2])||(n=f[(e=o+16|0)>>2])){for(;a=e,(n=f[(e=(r=n)+20|0)>>2])||(e=r+16|0,n=f[r+16>>2]););f[a>>2]=0}else r=0;else e=f[o+8>>2],f[e+12>>2]=r,f[r+8>>2]=e;if(c){n=f[o+28>>2];u:{if(f[(e=11828+(n<<2)|0)>>2]==(0|o)){if(f[e>>2]=r,r)break u;d=11528,_=f[2882]&xr(n),f[d>>2]=_;break c}if(f[c+(f[c+16>>2]==(0|o)?16:20)>>2]=r,!r)break c}f[r+24>>2]=c,(e=f[o+16>>2])&&(f[r+16>>2]=e,f[e+24>>2]=r),(e=f[o+20>>2])&&(f[r+20>>2]=e,f[e+24>>2]=r)}}o=o+s|0,i=i+s|0}if(f[o+4>>2]=-2&f[o+4>>2],f[l+4>>2]=1|i,f[i+l>>2]=i,i>>>0<=255){r=11564+((e=i>>>3|0)<<3)|0,(i=f[2881])&(e=1<<e)?e=f[r+8>>2]:(f[2881]=e|i,e=r),f[r+8>>2]=l,f[e+12>>2]=l,f[l+12>>2]=r,f[l+8>>2]=e;break a}if(e=31,i>>>0<=16777215&&(e=i>>>8|0,e<<=a=e+1048320>>>16&8,e=28+((e=((e<<=n=e+520192>>>16&4)<<(r=e+245760>>>16&2)>>>15|0)-(r|n|a)|0)<<1|i>>>e+21&1)|0),f[l+28>>2]=e,f[l+16>>2]=0,f[l+20>>2]=0,a=11828+(e<<2)|0,(n=f[2882])&(r=1<<e)){for(e=i<<(31==(0|e)?0:25-(e>>>1|0)|0),r=f[a>>2];;){if(n=r,(-8&f[r+4>>2])==(0|i))break f;if(r=e>>>29|0,e<<=1,!(r=f[16+(a=n+(4&r)|0)>>2]))break}f[a+16>>2]=l,f[l+24>>2]=n}else f[2882]=r|n,f[a>>2]=l,f[l+24>>2]=a;f[l+12>>2]=l,f[l+8>>2]=l;break a}for(i=(n=o-40|0)-(e=r+8&7?-8-r&7:0)|0,f[2884]=i,e=e+r|0,f[2887]=e,f[e+4>>2]=1|i,f[4+(r+n|0)>>2]=40,f[2888]=f[3003],f[(i=(e=(a+(a-39&7?39-a&7:0)|0)-47|0)>>>0<s+16>>>0?s:e)+4>>2]=27,e=f[2996],f[i+16>>2]=f[2995],f[i+20>>2]=e,e=f[2994],f[i+8>>2]=f[2993],f[i+12>>2]=e,f[2995]=i+8,f[2994]=o,f[2993]=r,f[2996]=0,e=i+24|0;f[e+4>>2]=7,r=e+8|0,e=e+4|0,r>>>0<a>>>0;);if((0|i)==(0|s))break n;if(f[i+4>>2]=-2&f[i+4>>2],a=i-s|0,f[s+4>>2]=1|a,f[i>>2]=a,a>>>0<=255){r=11564+((e=a>>>3|0)<<3)|0,(i=f[2881])&(e=1<<e)?e=f[r+8>>2]:(f[2881]=e|i,e=r),f[r+8>>2]=s,f[e+12>>2]=s,f[s+12>>2]=r,f[s+8>>2]=e;break n}if(e=31,f[s+16>>2]=0,f[s+20>>2]=0,a>>>0<=16777215&&(e=a>>>8|0,e<<=n=e+1048320>>>16&8,e=28+((e=((e<<=i=e+520192>>>16&4)<<(r=e+245760>>>16&2)>>>15|0)-(r|i|n)|0)<<1|a>>>e+21&1)|0),f[s+28>>2]=e,n=11828+(e<<2)|0,(i=f[2882])&(r=1<<e)){for(e=a<<(31==(0|e)?0:25-(e>>>1|0)|0),r=f[n>>2];;){if(i=r,(0|a)==(-8&f[r+4>>2]))break o;if(r=e>>>29|0,e<<=1,!(r=f[16+(n=i+(4&r)|0)>>2]))break}f[n+16>>2]=s,f[s+24>>2]=i}else f[2882]=r|i,f[n>>2]=s,f[s+24>>2]=n;f[s+12>>2]=s,f[s+8>>2]=s;break n}e=f[n+8>>2],f[e+12>>2]=l,f[n+8>>2]=l,f[l+24>>2]=0,f[l+12>>2]=n,f[l+8>>2]=e}e=A+8|0;break e}e=f[i+8>>2],f[e+12>>2]=s,f[i+8>>2]=s,f[s+24>>2]=0,f[s+12>>2]=i,f[s+8>>2]=e}if(!((e=f[2884])>>>0<=c>>>0)){r=e-c|0,f[2884]=r,e=(i=f[2887])+c|0,f[2887]=e,f[e+4>>2]=1|r,f[i+4>>2]=3|c,e=i+8|0;break e}}f[2879]=48,e=0;break e}r:if(o){i=f[a+28>>2];i:{if(f[(e=11828+(i<<2)|0)>>2]==(0|a)){if(f[e>>2]=r,r)break i;A=xr(i)&A,f[2882]=A;break r}if(f[o+(f[o+16>>2]==(0|a)?16:20)>>2]=r,!r)break r}f[r+24>>2]=o,(e=f[a+16>>2])&&(f[r+16>>2]=e,f[e+24>>2]=r),(e=f[a+20>>2])&&(f[r+20>>2]=e,f[e+24>>2]=r)}r:if(n>>>0<=15)e=n+c|0,f[a+4>>2]=3|e,f[4+(e=e+a|0)>>2]=1|f[e+4>>2];else if(f[a+4>>2]=3|c,f[4+(o=a+c|0)>>2]=1|n,f[n+o>>2]=n,n>>>0<=255)r=11564+((e=n>>>3|0)<<3)|0,(i=f[2881])&(e=1<<e)?e=f[r+8>>2]:(f[2881]=e|i,e=r),f[r+8>>2]=o,f[e+12>>2]=o,f[o+12>>2]=r,f[o+8>>2]=e;else{e=31,n>>>0<=16777215&&(e=n>>>8|0,e<<=s=e+1048320>>>16&8,e=28+((e=((e<<=i=e+520192>>>16&4)<<(r=e+245760>>>16&2)>>>15|0)-(r|i|s)|0)<<1|n>>>e+21&1)|0),f[o+28>>2]=e,f[o+16>>2]=0,f[o+20>>2]=0,r=11828+(e<<2)|0;i:{if((i=1<<e)&A){for(e=n<<(31==(0|e)?0:25-(e>>>1|0)|0),c=f[r>>2];;){if((-8&f[(r=c)+4>>2])==(0|n))break i;if(i=e>>>29|0,e<<=1,!(c=f[16+(i=(4&i)+r|0)>>2]))break}f[i+16>>2]=o}else f[2882]=i|A,f[r>>2]=o;f[o+24>>2]=r,f[o+12>>2]=o,f[o+8>>2]=o;break r}e=f[r+8>>2],f[e+12>>2]=o,f[r+8>>2]=o,f[o+24>>2]=0,f[o+12>>2]=r,f[o+8>>2]=e}e=a+8|0;break e}t:if(l){i=f[r+28>>2];r:{if(f[(e=11828+(i<<2)|0)>>2]==(0|r)){if(f[e>>2]=a,a)break r;d=11528,_=xr(i)&A,f[d>>2]=_;break t}if(f[l+(f[l+16>>2]==(0|r)?16:20)>>2]=a,!a)break t}f[a+24>>2]=l,(e=f[r+16>>2])&&(f[a+16>>2]=e,f[e+24>>2]=a),(e=f[r+20>>2])&&(f[a+20>>2]=e,f[e+24>>2]=a)}n>>>0<=15?(e=n+c|0,f[r+4>>2]=3|e,f[4+(e=e+r|0)>>2]=1|f[e+4>>2]):(f[r+4>>2]=3|c,f[4+(a=r+c|0)>>2]=1|n,f[n+a>>2]=n,p&&(i=11564+((e=p>>>3|0)<<3)|0,s=f[2886],(e=1<<e)&o?e=f[i+8>>2]:(f[2881]=e|o,e=i),f[i+8>>2]=s,f[e+12>>2]=s,f[s+12>>2]=i,f[s+8>>2]=e),f[2886]=a,f[2883]=n),e=r+8|0}return I=t+16|0,0|e}function G(e,t,r,i){var n,s=0,c=0,l=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;if(I=n=I-80|0,s=f[r+36>>2],f[n+72>>2]=f[r+32>>2],f[n+76>>2]=s,c=f[r+28>>2],f[(s=n- -64|0)>>2]=f[r+24>>2],f[s+4>>2]=c,s=f[r+20>>2],f[n+56>>2]=f[r+16>>2],f[n+60>>2]=s,s=f[r+12>>2],f[n+48>>2]=f[r+8>>2],f[n+52>>2]=s,s=f[r+4>>2],f[n+40>>2]=f[r>>2],f[n+44>>2]=s,Q(e,n+40|0,n+24|0),!f[e>>2])if(_=e+4|0,o[e+15|0]<0&&ee(f[_>>2]),1==u[n+31|0]){I=A=I-16|0;e:{t:switch(u[n+32|0]){case 0:$t(s=br(48)),f[s>>2]=9896,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0,f[n+16>>2]=s;break e;case 1:$t(s=br(52)),f[s+48>>2]=0,f[s>>2]=8204,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0,f[n+16>>2]=s;break e}c=br(32),s=u[1664]|u[1665]<<8|u[1666]<<16|u[1667]<<24,o[c+24|0]=s,o[c+25|0]=s>>>8,o[c+26|0]=s>>>16,o[c+27|0]=s>>>24,s=u[1660]|u[1661]<<8|u[1662]<<16|u[1663]<<24,l=u[1656]|u[1657]<<8|u[1658]<<16|u[1659]<<24,o[c+16|0]=l,o[c+17|0]=l>>>8,o[c+18|0]=l>>>16,o[c+19|0]=l>>>24,o[c+20|0]=s,o[c+21|0]=s>>>8,o[c+22|0]=s>>>16,o[c+23|0]=s>>>24,s=u[1652]|u[1653]<<8|u[1654]<<16|u[1655]<<24,l=u[1648]|u[1649]<<8|u[1650]<<16|u[1651]<<24,o[c+8|0]=l,o[c+9|0]=l>>>8,o[c+10|0]=l>>>16,o[c+11|0]=l>>>24,o[c+12|0]=s,o[c+13|0]=s>>>8,o[c+14|0]=s>>>16,o[c+15|0]=s>>>24,s=u[1644]|u[1645]<<8|u[1646]<<16|u[1647]<<24,l=u[1640]|u[1641]<<8|u[1642]<<16|u[1643]<<24,o[0|c]=l,o[c+1|0]=l>>>8,o[c+2|0]=l>>>16,o[c+3|0]=l>>>24,o[c+4|0]=s,o[c+5|0]=s>>>8,o[c+6|0]=s>>>16,o[c+7|0]=s>>>24,o[c+28|0]=0,f[A>>2]=-1,Vt(s=4|A,c,28),d=o[A+15|0],f[n>>2]=f[A>>2],l=n+4|0,(0|d)>=0?(d=f[s+4>>2],f[l>>2]=f[s>>2],f[l+4>>2]=d,f[l+8>>2]=f[s+8>>2]):Vt(l,f[A+4>>2],f[A+8>>2]),f[n+16>>2]=0,o[A+15|0]<0&&ee(f[A+4>>2]),ee(c)}I=A+16|0;e:if(s=f[n>>2]){if(f[e>>2]=s,o[n+15|0]>=0){t=f[4+(e=4|n)>>2],f[_>>2]=f[e>>2],f[_+4>>2]=t,f[_+8>>2]=f[e+8>>2];break e}Vt(_,f[n+4>>2],f[n+8>>2])}else{s=f[n+16>>2],f[n+16>>2]=0,f[s+44>>2]=i,I=A=I-32|0,f[s+32>>2]=r,f[s+40>>2]=t,f[s+4>>2]=i,Q(e,r,A+16|0);t:if(!f[e>>2])if(c=e+4|0,o[e+15|0]<0&&ee(f[c>>2]),t=u[A+23|0],(0|_i[f[f[s>>2]+8>>2]](s))==(0|t))if(r=u[A+21|0],o[s+36|0]=r,i=u[A+22|0],o[s+37|0]=i,2==(0|r))if((0|(t=t?2:3))==(0|i)){if(a[f[s+32>>2]+38>>1]=512|t,!(a[A+26>>1]>=0)){I=d=I-16|0,i=br(36),f[(t=i)+4>>2]=0,f[t+8>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,f[(t=t+16|0)>>2]=0,f[t+4>>2]=0,f[i>>2]=i+4,f[i+32>>2]=0,f[i+12>>2]=t,f[d>>2]=0,r=f[s+32>>2],I=h=I-16|0,t=0;r:if(i&&(f[d>>2]=r,f[h+12>>2]=0,t=0,gt(1,h+12|0,r))){if(y=f[h+12>>2])for(;;){i:{if(gt(1,h+8|0,f[d>>2])){if(t=br(28),f[t+4>>2]=0,f[t+8>>2]=0,f[(r=t+16|0)>>2]=0,f[r+4>>2]=0,f[t>>2]=t+4,f[t+12>>2]=r,f[t+24>>2]=f[h+8>>2],U(d,t))break i;rr(t+12|0,f[t+16>>2]),ur(t,f[t+4>>2]),ee(t)}t=0;break r}if(I=l=I-16|0,f[l+8>>2]=t,t){if((r=f[i+28>>2])>>>0<b[i+32>>2])f[l+8>>2]=0,f[r>>2]=t,f[i+28>>2]=r+4;else{r=0;i:{n:{o:{if(p=f[i+24>>2],(t=1+(m=f[i+28>>2]-p>>2)|0)>>>0<1073741824){if(k=(p=f[i+32>>2]-p|0)>>1,t=p>>2>>>0<536870911?t>>>0>k>>>0?t:k:1073741823){if(t>>>0>=1073741824)break o;r=br(t<<2)}if(k=f[l+8>>2],f[l+8>>2]=0,f[(p=(m<<2)+r|0)>>2]=k,m=(t<<2)+r|0,k=p+4|0,(0|(r=f[i+28>>2]))==(0|(t=f[i+24>>2])))break n;for(;g=f[(r=r-4|0)>>2],f[r>>2]=0,f[(p=p-4|0)>>2]=g,(0|t)!=(0|r););if(f[i+32>>2]=m,r=f[i+28>>2],f[i+28>>2]=k,t=f[i+24>>2],f[i+24>>2]=p,(0|t)==(0|r))break i;for(;p=f[(r=r-4|0)>>2],f[r>>2]=0,p&&(rr(p+12|0,f[p+16>>2]),ur(p,f[p+4>>2]),ee(p)),(0|t)!=(0|r););break i}ii(),E()}Lt(1326),E()}f[i+32>>2]=m,f[i+28>>2]=k,f[i+24>>2]=p}t&&ee(t)}t=f[l+8>>2],f[l+8>>2]=0,t&&(rr(t+12|0,f[t+16>>2]),ur(t,f[t+4>>2]),ee(t))}else f[l+8>>2]=0;if(I=l+16|0,(0|(v=v+1|0))==(0|y))break}t=U(d,i)}if(I=h+16|0,t?(r=f[s+4>>2],t=f[r+4>>2],f[r+4>>2]=i,t&&Rt(t),f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0):(t=br(32),r=u[1693]|u[1694]<<8,o[t+24|0]=r,o[t+25|0]=r>>>8,r=u[1689]|u[1690]<<8|u[1691]<<16|u[1692]<<24,l=u[1685]|u[1686]<<8|u[1687]<<16|u[1688]<<24,o[t+16|0]=l,o[t+17|0]=l>>>8,o[t+18|0]=l>>>16,o[t+19|0]=l>>>24,o[t+20|0]=r,o[t+21|0]=r>>>8,o[t+22|0]=r>>>16,o[t+23|0]=r>>>24,r=u[1681]|u[1682]<<8|u[1683]<<16|u[1684]<<24,l=u[1677]|u[1678]<<8|u[1679]<<16|u[1680]<<24,o[t+8|0]=l,o[t+9|0]=l>>>8,o[t+10|0]=l>>>16,o[t+11|0]=l>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1673]|u[1674]<<8|u[1675]<<16|u[1676]<<24,l=u[1669]|u[1670]<<8|u[1671]<<16|u[1672]<<24,o[0|t]=l,o[t+1|0]=l>>>8,o[t+2|0]=l>>>16,o[t+3|0]=l>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+26|0]=0,f[e>>2]=-1,Vt(e+4|0,t,26),ee(t),f[d+8>>2]=0,Rt(i)),I=d+16|0,f[e>>2])break t;o[c+11|0]>=0||ee(f[c>>2])}if(0|_i[f[f[s>>2]+12>>2]](s))if(0|_i[f[f[s>>2]+20>>2]](s))if(0|_i[f[f[s>>2]+24>>2]](s))f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0;else{if(t=Pt(A,1451),f[e>>2]=-1,o[t+11|0]>=0){t=f[A+4>>2],f[c>>2]=f[A>>2],f[c+4>>2]=t,f[c+8>>2]=f[A+8>>2];break t}if(Vt(c,f[t>>2],f[t+4>>2]),o[t+11|0]>=0)break t;ee(f[t>>2])}else{if(t=Pt(A,1696),f[e>>2]=-1,o[t+11|0]>=0){t=f[A+4>>2],f[c>>2]=f[A>>2],f[c+4>>2]=t,f[c+8>>2]=f[A+8>>2];break t}if(Vt(c,f[t>>2],f[t+4>>2]),o[t+11|0]>=0)break t;ee(f[t>>2])}else t=br(48),o[t+32|0]=u[1518],r=u[1514]|u[1515]<<8|u[1516]<<16|u[1517]<<24,i=u[1510]|u[1511]<<8|u[1512]<<16|u[1513]<<24,o[t+24|0]=i,o[t+25|0]=i>>>8,o[t+26|0]=i>>>16,o[t+27|0]=i>>>24,o[t+28|0]=r,o[t+29|0]=r>>>8,o[t+30|0]=r>>>16,o[t+31|0]=r>>>24,r=u[1506]|u[1507]<<8|u[1508]<<16|u[1509]<<24,i=u[1502]|u[1503]<<8|u[1504]<<16|u[1505]<<24,o[t+16|0]=i,o[t+17|0]=i>>>8,o[t+18|0]=i>>>16,o[t+19|0]=i>>>24,o[t+20|0]=r,o[t+21|0]=r>>>8,o[t+22|0]=r>>>16,o[t+23|0]=r>>>24,r=u[1498]|u[1499]<<8|u[1500]<<16|u[1501]<<24,i=u[1494]|u[1495]<<8|u[1496]<<16|u[1497]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1490]|u[1491]<<8|u[1492]<<16|u[1493]<<24,i=u[1486]|u[1487]<<8|u[1488]<<16|u[1489]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+33|0]=0,f[e>>2]=-1,Vt(c,t,33),ee(t)}else t=br(32),r=u[1544]|u[1545]<<8,o[t+24|0]=r,o[t+25|0]=r>>>8,r=u[1540]|u[1541]<<8|u[1542]<<16|u[1543]<<24,i=u[1536]|u[1537]<<8|u[1538]<<16|u[1539]<<24,o[t+16|0]=i,o[t+17|0]=i>>>8,o[t+18|0]=i>>>16,o[t+19|0]=i>>>24,o[t+20|0]=r,o[t+21|0]=r>>>8,o[t+22|0]=r>>>16,o[t+23|0]=r>>>24,r=u[1532]|u[1533]<<8|u[1534]<<16|u[1535]<<24,i=u[1528]|u[1529]<<8|u[1530]<<16|u[1531]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1524]|u[1525]<<8|u[1526]<<16|u[1527]<<24,i=u[1520]|u[1521]<<8|u[1522]<<16|u[1523]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+26|0]=0,f[e>>2]=-5,Vt(c,t,26),ee(t);else t=br(32),r=u[1571]|u[1572]<<8,o[t+24|0]=r,o[t+25|0]=r>>>8,r=u[1567]|u[1568]<<8|u[1569]<<16|u[1570]<<24,i=u[1563]|u[1564]<<8|u[1565]<<16|u[1566]<<24,o[t+16|0]=i,o[t+17|0]=i>>>8,o[t+18|0]=i>>>16,o[t+19|0]=i>>>24,o[t+20|0]=r,o[t+21|0]=r>>>8,o[t+22|0]=r>>>16,o[t+23|0]=r>>>24,r=u[1559]|u[1560]<<8|u[1561]<<16|u[1562]<<24,i=u[1555]|u[1556]<<8|u[1557]<<16|u[1558]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1551]|u[1552]<<8|u[1553]<<16|u[1554]<<24,i=u[1547]|u[1548]<<8|u[1549]<<16|u[1550]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+26|0]=0,f[e>>2]=-5,Vt(c,t,26),ee(t);else t=br(64),r=u[1448]|u[1449]<<8,o[t+48|0]=r,o[t+49|0]=r>>>8,r=u[1444]|u[1445]<<8|u[1446]<<16|u[1447]<<24,i=u[1440]|u[1441]<<8|u[1442]<<16|u[1443]<<24,o[t+40|0]=i,o[t+41|0]=i>>>8,o[t+42|0]=i>>>16,o[t+43|0]=i>>>24,o[t+44|0]=r,o[t+45|0]=r>>>8,o[t+46|0]=r>>>16,o[t+47|0]=r>>>24,r=u[1436]|u[1437]<<8|u[1438]<<16|u[1439]<<24,i=u[1432]|u[1433]<<8|u[1434]<<16|u[1435]<<24,o[t+32|0]=i,o[t+33|0]=i>>>8,o[t+34|0]=i>>>16,o[t+35|0]=i>>>24,o[t+36|0]=r,o[t+37|0]=r>>>8,o[t+38|0]=r>>>16,o[t+39|0]=r>>>24,r=u[1428]|u[1429]<<8|u[1430]<<16|u[1431]<<24,i=u[1424]|u[1425]<<8|u[1426]<<16|u[1427]<<24,o[t+24|0]=i,o[t+25|0]=i>>>8,o[t+26|0]=i>>>16,o[t+27|0]=i>>>24,o[t+28|0]=r,o[t+29|0]=r>>>8,o[t+30|0]=r>>>16,o[t+31|0]=r>>>24,r=u[1420]|u[1421]<<8|u[1422]<<16|u[1423]<<24,i=u[1416]|u[1417]<<8|u[1418]<<16|u[1419]<<24,o[t+16|0]=i,o[t+17|0]=i>>>8,o[t+18|0]=i>>>16,o[t+19|0]=i>>>24,o[t+20|0]=r,o[t+21|0]=r>>>8,o[t+22|0]=r>>>16,o[t+23|0]=r>>>24,r=u[1412]|u[1413]<<8|u[1414]<<16|u[1415]<<24,i=u[1408]|u[1409]<<8|u[1410]<<16|u[1411]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1404]|u[1405]<<8|u[1406]<<16|u[1407]<<24,i=u[1400]|u[1401]<<8|u[1402]<<16|u[1403]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+50|0]=0,f[e>>2]=-1,Vt(c,t,50),ee(t);I=A+32|0,f[e>>2]||(o[_+11|0]<0&&ee(f[_>>2]),f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0),_i[f[f[s>>2]+4>>2]](s)}e=f[n+16>>2],f[n+16>>2]=0,e&&_i[f[f[e>>2]+4>>2]](e),o[n+15|0]>=0||ee(f[n+4>>2])}else t=br(32),r=u[1590]|u[1591]<<8|u[1592]<<16|u[1593]<<24,o[t+16|0]=r,o[t+17|0]=r>>>8,o[t+18|0]=r>>>16,o[t+19|0]=r>>>24,r=u[1586]|u[1587]<<8|u[1588]<<16|u[1589]<<24,i=u[1582]|u[1583]<<8|u[1584]<<16|u[1585]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1578]|u[1579]<<8|u[1580]<<16|u[1581]<<24,i=u[1574]|u[1575]<<8|u[1576]<<16|u[1577]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+20|0]=0,f[e>>2]=-1,Vt(_,t,20),ee(t);I=n+80|0}function U(e,t){var r,i=0,n=0,a=0,s=0,c=0,l=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0;I=r=I-48|0,i=br(8),f[i+4>>2]=t,f[i>>2]=0,t=i+8|0,f[r+40>>2]=t,f[r+36>>2]=t,f[r+32>>2]=i;e:{t:{r:{i:{for(;;){if(p=f[4+(t=t-8|0)>>2],c=f[t>>2],f[r+36>>2]=t,c){f[r+24>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,i=1,t=f[e>>2],a=f[t+8>>2];n:if(!((0|(l=f[t+12>>2]))<=(0|(n=f[t+20>>2]))&(s=f[t+16>>2])>>>0>=a>>>0|(0|n)>(0|l))){if(a=u[s+f[t>>2]|0],n=(s=s+1|0)?n:n+1|0,f[t+16>>2]=s,f[t+20>>2]=n,Ne(r+16|0,a),a){if(n=f[e>>2],_=lr(r+16|0),s=f[n+20>>2],t=a,h=(A=f[n+16>>2])+a|0,l=f[n+12>>2],s=a>>>0>h>>>0?s+1|0:s,h>>>0>b[n+8>>2]&(0|l)<=(0|s)|(0|s)>(0|l))break n;ge(_,A+f[n>>2]|0,a),i=f[n+20>>2],i=(a=t+f[n+16>>2]|0)>>>0<t>>>0?i+1|0:i,f[n+16>>2]=a,f[n+20>>2]=i}p=br(24),f[(t=p)+4>>2]=0,f[t+8>>2]=0,f[(t=t+16|0)>>2]=0,f[t+4>>2]=0,f[p>>2]=p+4,f[p+12>>2]=t,I=a=I-32|0;o:if((0|(d=Ke(s=c+12|0,i=r+16|0)))!=(0|(m=c+16|0)))p&&(rr(p+12|0,f[p+16>>2]),ur(p,f[p+4>>2]),ee(p));else{f[a+16>>2]=i;a:{f:{if(t=f[s+4>>2])for(l=(c=(n=u[i+11|0])<<24>>24<0)?f[i>>2]:i,c=c?f[i+4>>2]:n,i=s+4|0;;){s:{c:{u:{l:{b:{A:if(A=(_=(n=(h=(n=u[t+27|0])<<24>>24<0)?f[t+20>>2]:n)>>>0<c>>>0)?n:c){if(k=t+16|0,!(k=xt(l,h=h?f[k>>2]:k,A))){if(n>>>0>c>>>0)break A;break b}if((0|k)>=0)break b}else if(n>>>0<=c>>>0)break l;if(n=f[t>>2])break s;break f}if(n=xt(h,l,A))break u}if(_)break c;break a}if((0|n)>=0)break a}if(i=t+4|0,!(n=f[t+4>>2]))break a;t=i}i=t,t=n}t=s+4|0}i=t}if((n=f[i>>2])?t=0:(l=(n=br(32))+16|0,c=f[a+16>>2],o[c+11|0]>=0?(h=f[c+4>>2],f[l>>2]=f[c>>2],f[l+4>>2]=h,f[l+8>>2]=f[c+8>>2]):Vt(l,f[c>>2],f[c+4>>2]),f[n+8>>2]=t,f[n>>2]=0,f[n+4>>2]=0,f[n+28>>2]=0,f[i>>2]=n,(t=f[f[s>>2]>>2])?(f[s>>2]=t,t=f[i>>2]):t=n,Te(f[s+4>>2],t),f[s+8>>2]=f[s+8>>2]+1,t=1),o[a+28|0]=t,f[a+24>>2]=n,i=f[a+24>>2],t=f[i+28>>2],f[i+28>>2]=p,!t)break o;rr(t+12|0,f[t+16>>2]),ur(t,f[t+4>>2]),ee(t)}I=a+32|0,i=(0|d)!=(0|m)}if(o[r+27|0]<0&&ee(f[r+16>>2]),i)break t}if(!p)break t;if(f[r+16>>2]=0,!gt(1,r+16|0,f[e>>2]))break t;if(t=0,v=f[r+16>>2])for(;;){h=0,I=A=I-32|0,f[A+24>>2]=0,f[A+16>>2]=0,f[A+20>>2]=0,i=f[e>>2],a=f[i+8>>2];n:{o:{a:if(!((0|(s=f[i+12>>2]))<=(0|(n=f[i+20>>2]))&(c=f[i+16>>2])>>>0>=a>>>0|(0|n)>(0|s))){if(s=u[c+f[i>>2]|0],a=i,i=n,i=(n=c+1|0)?i:i+1|0,f[a+16>>2]=n,f[a+20>>2]=i,Ne(A+16|0,s),s){if(a=f[e>>2],_=lr(A+16|0),n=f[a+20>>2],l=(d=f[a+16>>2])+(i=s)|0,c=f[a+12>>2],n=i>>>0>l>>>0?n+1|0:n,l>>>0>b[a+8>>2]&(0|c)<=(0|n)|(0|n)>(0|c))break a;ge(_,d+f[a>>2]|0,s),n=f[a+20>>2],n=(s=i+f[a+16>>2]|0)>>>0<i>>>0?n+1|0:n,f[a+16>>2]=s,f[a+20>>2]=n}if(f[A+12>>2]=0,gt(1,A+12|0,f[e>>2])&&(i=f[A+12>>2])){if(f[A+8>>2]=0,f[A>>2]=0,f[A+4>>2]=0,(0|i)<0)break o;if(n=br(i),f[A>>2]=n,a=i+n|0,f[A+8>>2]=a,_=Ye(n,0,i),f[A+4>>2]=a,a=f[e>>2],h=f[a+8>>2],c=f[a+12>>2],s=f[a+20>>2],h=(0|(s=(l=i+(d=f[a+16>>2])|0)>>>0<i>>>0?s+1|0:s))<=(0|c)&l>>>0<=h>>>0|(0|s)<(0|c)){if(ge(_,d+f[a>>2]|0,i),n=i,s=i+f[a+16>>2]|0,i=f[a+20>>2],f[a+16>>2]=s,f[a+20>>2]=n>>>0>s>>>0?i+1|0:i,I=c=I-48|0,(0|(n=Ke(p,A+16|0)))!=(p+4|0)){f:if(a=f[n+4>>2])for(;s=a,a=f[a>>2];);else{if(s=f[n+8>>2],f[s>>2]==(0|n))break f;for(i=n+8|0;i=(a=f[i>>2])+8|0,s=f[a+8>>2],(0|a)!=f[s>>2];);}f[p>>2]==(0|n)&&(f[p>>2]=s),f[p+8>>2]=f[p+8>>2]-1,s=f[p+4>>2],l=n;f:{s:{if(a=f[n>>2]){if(!(i=f[l+4>>2]))break s;for(;n=i,i=f[i>>2];);}if(!(a=f[n+4>>2])){a=0,_=1;break f}}f[a+8>>2]=f[n+8>>2],_=0}d=f[n+8>>2];f:if((0|n)!=(0|(i=f[d>>2])))f[d+4>>2]=a;else{if(f[d>>2]=a,(0|n)==(0|s)){i=0,s=a;break f}i=f[d+4>>2]}k=!u[n+12|0],(0|n)!=(0|l)&&(d=f[l+8>>2],f[n+8>>2]=d,f[d+(((0|l)!=f[f[l+8>>2]>>2])<<2)>>2]=n,d=f[l>>2],f[n>>2]=d,f[d+8>>2]=n,d=f[l+4>>2],f[n+4>>2]=d,d&&(f[d+8>>2]=n),o[n+12|0]=u[l+12|0],s=(0|s)==(0|l)?n:s);f:if(!(k|!s)){if(_)for(;;){a=u[i+12|0];s:{if(n=f[i+8>>2],f[n>>2]!=(0|i)){a||(o[i+12|0]=1,o[n+12|0]=0,a=f[n+4>>2],_=f[a>>2],f[n+4>>2]=_,_&&(f[_+8>>2]=n),f[a+8>>2]=f[n+8>>2],_=f[n+8>>2],f[(((0|n)!=f[_>>2])<<2)+_>>2]=a,f[a>>2]=n,f[n+8>>2]=a,n=i,s=(0|(i=f[i>>2]))==(0|s)?n:s,i=f[i+4>>2]);c:{u:{n=f[i>>2];l:{if(u[n+12|0]||!n){if(a=f[i+4>>2],!u[a+12|0]&&a)break l;if(o[i+12|0]=0,(0|s)!=(0|(i=f[i+8>>2]))){if(u[i+12|0])break s}else i=s;o[i+12|0]=1;break f}if(!(a=f[i+4>>2]))break u}if(!u[a+12|0]){n=i;break c}}o[n+12|0]=1,o[i+12|0]=0,a=f[n+4>>2],f[i>>2]=a,a&&(f[a+8>>2]=i),f[n+8>>2]=f[i+8>>2],a=f[i+8>>2],f[((f[a>>2]!=(0|i))<<2)+a>>2]=n,f[n+4>>2]=i,f[i+8>>2]=n,a=i}i=f[n+8>>2],o[n+12|0]=u[i+12|0],o[i+12|0]=1,o[a+12|0]=1,n=f[i+4>>2],a=f[n>>2],f[i+4>>2]=a,a&&(f[a+8>>2]=i),f[n+8>>2]=f[i+8>>2],a=f[i+8>>2],f[(((0|i)!=f[a>>2])<<2)+a>>2]=n,f[n>>2]=i,f[i+8>>2]=n;break f}a||(o[i+12|0]=1,o[n+12|0]=0,a=f[i+4>>2],f[n>>2]=a,a&&(f[a+8>>2]=n),f[i+8>>2]=f[n+8>>2],a=f[n+8>>2],f[(((0|n)!=f[a>>2])<<2)+a>>2]=i,f[i+4>>2]=n,f[n+8>>2]=i,s=(0|n)==(0|s)?i:s,i=f[n>>2]);c:if(!(a=f[i>>2])|u[a+12|0]){if(n=f[i+4>>2],u[n+12|0]||!n){if(o[i+12|0]=0,(0|(i=f[i+8>>2]))!=(0|s)&&u[i+12|0])break s;o[i+12|0]=1;break f}if(a){if(!u[a+12|0]){n=i;break c}n=f[i+4>>2]}o[n+12|0]=1,o[i+12|0]=0,a=f[n>>2],f[i+4>>2]=a,a&&(f[a+8>>2]=i),f[n+8>>2]=f[i+8>>2],a=f[i+8>>2],f[((f[a>>2]!=(0|i))<<2)+a>>2]=n,f[n>>2]=i,f[i+8>>2]=n,a=i}else n=i;i=f[n+8>>2],o[n+12|0]=u[i+12|0],o[i+12|0]=1,o[a+12|0]=1,n=f[i>>2],a=f[n+4>>2],f[i>>2]=a,a&&(f[a+8>>2]=i),f[n+8>>2]=f[i+8>>2],a=f[i+8>>2],f[(((0|i)!=f[a>>2])<<2)+a>>2]=n,f[n+4>>2]=i,f[i+8>>2]=n;break f}n=i,i=f[i+8>>2],i=f[(((0|n)==f[i>>2])<<2)+i>>2]}o[a+12|0]=1}(i=f[l+28>>2])&&(f[l+32>>2]=i,ee(i)),o[l+27|0]<0&&ee(f[l+16>>2]),ee(l)}f[c>>2]=0,f[c+4>>2]=0,f[c+8>>2]=0,lt(c,i=f[A+4>>2]-f[A>>2]|0),ge(f[c>>2],f[A>>2],i),o[A+27|0]>=0?(f[c+24>>2]=f[A+24>>2],i=f[A+20>>2],f[c+16>>2]=f[A+16>>2],f[c+20>>2]=i):Vt(c+16|0,f[A+16>>2],f[A+20>>2]),f[c+36>>2]=0,f[c+28>>2]=0,f[c+32>>2]=0,lt(c+28|0,f[c+4>>2]-f[c>>2]|0),i=f[c>>2],ge(f[c+28>>2],i,f[c+4>>2]-i|0),n=s=c+16|0;f:{s:{if(i=f[p+4>>2])for(_=(l=(a=u[n+11|0])<<24>>24<0)?f[n>>2]:n,l=l?f[n+4>>2]:a,n=p+4|0;;){c:{u:{l:{b:{A:{p:if(k=(m=(a=(d=(a=u[i+27|0])<<24>>24<0)?f[i+20>>2]:a)>>>0<l>>>0)?a:l){if(y=i+16|0,!(y=xt(_,d=d?f[y>>2]:y,k))){if(a>>>0>l>>>0)break p;break A}if((0|y)>=0)break A}else if(a>>>0<=l>>>0)break b;if(a=f[i>>2])break c;break s}if(a=xt(d,_,k))break l}if(m)break u;break f}if((0|a)>=0)break f}if(n=i+4|0,!(a=f[i+4>>2]))break f;i=n}n=i,i=a}i=p+4|0}n=i}if((a=f[n>>2])?i=0:(a=br(40),f[a+24>>2]=f[s+8>>2],l=f[s+4>>2],f[a+16>>2]=f[s>>2],f[a+20>>2]=l,f[s>>2]=0,f[s+4>>2]=0,f[s+8>>2]=0,f[a+36>>2]=0,f[(l=a+28|0)>>2]=0,f[l+4>>2]=0,lt(l,f[s+16>>2]-f[s+12>>2]|0),ge(_=f[l>>2],l=f[s+12>>2],f[s+16>>2]-l|0),f[a+8>>2]=i,f[a>>2]=0,f[a+4>>2]=0,f[n>>2]=a,(i=f[f[p>>2]>>2])?(f[p>>2]=i,i=f[n>>2]):i=a,Te(f[p+4>>2],i),f[p+8>>2]=f[p+8>>2]+1,i=1),o[c+44|0]=i,f[c+40>>2]=a,(i=f[c+28>>2])&&(f[c+32>>2]=i,ee(i)),o[c+27|0]<0&&ee(f[c+16>>2]),(i=f[c>>2])&&(f[c+4>>2]=i,ee(i)),I=c+48|0,!(n=f[A>>2]))break a}f[A+4>>2]=n,ee(n)}}o[A+27|0]<0&&ee(f[A+16>>2]),I=A+32|0;break n}ii(),E()}if(!h)break t;if((0|v)==(0|(t=t+1|0)))break}if(f[r+12>>2]=0,!gt(1,r+12|0,f[e>>2]))break t;if(t=f[e>>2],(a=(i=f[t+8>>2])-(n=f[t+16>>2])|0)>>>0<(s=f[r+12>>2])>>>0&(0|(t=f[t+12>>2]-(f[t+20>>2]+(i>>>0<n>>>0)|0)|0))<=0|(0|t)<0)break t;if(i=0,t=f[r+36>>2],s)for(;;){if((a=f[r+40>>2])>>>0>t>>>0)f[t+4>>2]=0,f[t>>2]=p,t=t+8|0,f[r+36>>2]=t;else{if((t=1+(l=(c=t-(n=f[r+32>>2])|0)>>3)|0)>>>0>=536870912)break i;if(h=(a=a-n|0)>>2,(t=a>>3>>>0<268435455?t>>>0>h>>>0?t:h:536870911)>>>0>=536870912)break r;_=l<<3,a=br(l=t<<3),f[4+(t=_+a|0)>>2]=0,f[t>>2]=p,t=t+8|0,(0|c)>0&&ge(a,n,c),f[r+40>>2]=a+l,f[r+36>>2]=t,f[r+32>>2]=a,n&&ee(n)}if((0|s)==(0|(i=i+1|0)))break}if(f[r+32>>2]==(0|t))break}e=1;break e}ii(),E()}Lt(1326),E()}t=f[r+32>>2],e=0}return t&&ee(t),I=r+48|0,e}function V(e,t,r,i){var n=0,s=0,c=0,d=0,h=0;e:{t:if(i){r:{i:switch(f[e+28>>2]-1|0){case 0:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=o[0|t],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+1|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(o[0|t])/_(127),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+1|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 1:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=u[0|t],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+1|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(u[0|t])/_(255),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+1|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 2:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=a[t>>1],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+2|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(a[t>>1])/_(32767),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+2|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 3:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=l[t>>1],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+2|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(l[t>>1])/_(65535),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+2|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 4:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=f[t>>2],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+4|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(f[t>>2])*_(4.656612873077393e-10),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+4|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 5:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=b[t>>2],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+4|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(b[t>>2])*_(2.3283064365386963e-10),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+4|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 6:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=+b[t>>2]+4294967296*+f[t+4>>2],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+8|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(+b[t>>2]+4294967296*+f[t+4>>2])*_(10842021724855044e-35),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+8|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 7:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=+b[t>>2]+4294967296*+b[t+4>>2],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+8|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(+b[t>>2]+4294967296*+b[t+4>>2])*_(5.421010862427522e-20),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+8|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 8:if(h=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,c=f[n+4>>2];;){if(t>>>0>=c>>>0)break e;if(A[(s<<2)+i>>2]=A[t>>2],t=t+4|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 9:if(h=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,c=f[n+4>>2];;){if(t>>>0>=c>>>0)break e;if(A[(s<<2)+i>>2]=p[t>>3],t=t+8|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 10:break i;default:break t}if(h=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(c=f[e>>2],t=(n=f[c>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0;;){if(b[c+4>>2]<=t>>>0)break e;if(A[(s<<2)+i>>2]=u[0|t]?_(1):_(0),t=t+1|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)<=(0|n))break t}Ye((n<<2)+i|0,0,r-n<<2)}return h}return 0}function S(e,t){t|=0;var r,i,n,a=0,s=0,c=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;I=r=I-96|0,n=f[4+(e|=0)>>2],s=f[n+32>>2],c=f[s+8>>2];e:if(!((0|(b=y=f[s+12>>2]))<=(0|(a=f[s+20>>2]))&(i=f[s+16>>2])>>>0>=c>>>0|(0|a)>(0|b)||(h=f[s>>2],g=u[h+i|0],b=(A=i+1|0)?a:a+1|0,f[s+16>>2]=A,f[s+20>>2]=b,c>>>0<=A>>>0&(0|b)>=(0|y)|(0|b)>(0|y)))){k=u[A+h|0],b=(A=i+2|0)>>>0<2?a+1|0:a,m=A,f[s+16>>2]=A,f[s+20>>2]=b;t:{if((0|(p=g<<24>>24))>=0){if(A=f[e+216>>2],g>>>0>=(f[e+220>>2]-A|0)/144>>>0)break e;if(v=A+d(g,144)|0,f[v>>2]<0)break t;break e}if(f[e+212>>2]>=0)break e;v=e+212|0}f[v>>2]=t;t:{r:{i:{if((65535&((A=l[n+36>>1])<<8|A>>>8))>>>0>=258){if(c>>>0<=m>>>0&(0|b)>=(0|y)|(0|b)>(0|y))break e;if(A=u[h+m|0],a=(b=i+3|0)>>>0<3?a+1|0:a,f[s+16>>2]=b,f[s+20>>2]=a,a=A>>>0>1)break e;if(a=a?0:A,!k)break i;if(a)break e;break r}if(k)break r;a=0}if((0|p)<0?b=e+184|0:(s=f[e+216>>2]+d(g,144)|0,o[s+100|0]=0,b=s+104|0),s=b,1!=(0|a))I=c=I+-64|0,k=f[f[e+4>>2]+44>>2],a=br(80),f[a>>2]=9424,f[a+4>>2]=0,f[a+76>>2]=0,f[a+72>>2]=s,f[a+68>>2]=k,f[a+8>>2]=9588,f[a+12>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a- -64>>2]=0,f[(b=m=a+56|0)>>2]=0,f[b+4>>2]=0,h=f[e+8>>2],f[c+40>>2]=0,f[c+44>>2]=0,f[c+32>>2]=0,f[c+36>>2]=0,f[(b=p=c+24|0)>>2]=0,f[b+4>>2]=0,f[c+16>>2]=0,f[c+20>>2]=0,f[c+8>>2]=0,f[c+12>>2]=0,f[c+56>>2]=0,f[c+48>>2]=0,f[c+52>>2]=0,f[c>>2]=9588,f[c+4>>2]=h,A=f[h>>2],b=f[h+4>>2],o[c+63|0]=0,Je(y=p,(b-A>>2>>>0)/3|0,p=c+63|0),b=f[c+4>>2],A=f[b+28>>2],b=f[b+24>>2],o[c+63|0]=0,Je(c+36|0,A-b>>2,p),f[c+20>>2]=a,f[c+16>>2]=k,f[c+12>>2]=s,f[c+8>>2]=h,Ve(a+8|0,c),Qe(m,f[c+48>>2],f[c+52>>2]),f[c>>2]=9588,(s=f[c+48>>2])&&(f[c+52>>2]=s,ee(s)),f[c>>2]=9404,(s=f[c+36>>2])&&ee(s),(s=f[c+24>>2])&&ee(s),I=c- -64|0;else{if(I=c=I-112|0,m=f[f[e+4>>2]+44>>2],a=br(120),f[a>>2]=8956,f[a+4>>2]=0,f[a+116>>2]=0,f[a+112>>2]=s,f[a+108>>2]=m,f[a+12>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a+56>>2]=0,f[a+60>>2]=0,f[a+8>>2]=9168,f[(b=a- -64|0)>>2]=0,f[b+4>>2]=0,f[a+72>>2]=0,f[a+76>>2]=0,f[a+80>>2]=0,f[a+84>>2]=0,f[a+88>>2]=0,f[a+104>>2]=0,f[a+96>>2]=0,f[a+100>>2]=0,k=f[e+8>>2],f[c+48>>2]=0,f[c+52>>2]=0,f[c+40>>2]=0,f[c+44>>2]=0,f[(b=p=c+32|0)>>2]=0,f[b+4>>2]=0,f[c+24>>2]=0,f[c+28>>2]=0,f[c+16>>2]=0,f[c+20>>2]=0,f[(b=c- -64|0)>>2]=0,f[b+4>>2]=0,f[c+72>>2]=0,f[c+76>>2]=0,f[c+80>>2]=0,f[c+84>>2]=0,f[c+88>>2]=0,f[c+104>>2]=0,f[c+56>>2]=0,f[c+60>>2]=0,f[c+8>>2]=9168,f[c+96>>2]=0,f[c+100>>2]=0,f[c+12>>2]=k,A=f[k>>2],b=f[k+4>>2],o[c+111|0]=0,Je(y=p,(b-A>>2>>>0)/3|0,p=c+111|0),b=f[c+12>>2],A=f[b+28>>2],b=f[b+24>>2],o[c+111|0]=0,Je(c+44|0,A-b>>2,p),f[c+28>>2]=a,f[c+24>>2]=m,f[c+20>>2]=s,f[c+16>>2]=k,Ve(s=a+8|0,b=c+8|0),(0|s)!=(0|b)){Qe(a+56|0,f[b+48>>2],f[b+52>>2]),Qe(a+68|0,f[b+60>>2],f[b- -64>>2]),Qe(a+80|0,f[b+72>>2],f[b+76>>2]),f[a+92>>2]=f[b+84>>2];i:if((m=(A=(p=f[b+92>>2])-(k=f[b+88>>2])|0)>>2)>>>0<=(v=f[a+104>>2])-(h=f[a+96>>2])>>2>>>0){if((s=(A=(b=(s=f[a+100>>2]-h|0)>>2)>>>0<m>>>0?s+k|0:p)-k|0)&&je(h,k,s),b>>>0<m>>>0){s=f[a+100>>2],(0|(b=p-A|0))>0&&(s=ge(s,A,b)+b|0),f[a+100>>2]=s;break i}f[a+100>>2]=s+h}else h&&(f[a+100>>2]=h,ee(h),f[a+104>>2]=0,f[a+96>>2]=0,f[a+100>>2]=0,v=0),(0|A)<0||(s=v>>1,(s=v>>2>>>0<536870911?s>>>0<m>>>0?m:s:1073741823)>>>0>=1073741824)?(ii(),E()):(s=br(b=s<<2),f[a+96>>2]=s,f[a+100>>2]=s,f[a+104>>2]=s+b,A&&(s=ge(s,k,A)+A|0),f[a+100>>2]=s)}else f[a+92>>2]=f[b+84>>2];f[c+8>>2]=9168,(s=f[c+96>>2])&&(f[c+100>>2]=s,ee(s)),(s=f[c+80>>2])&&(f[c+84>>2]=s,ee(s)),(s=f[c+68>>2])&&(f[c+72>>2]=s,ee(s)),(s=f[c+56>>2])&&(f[c+60>>2]=s,ee(s)),f[c+8>>2]=9404,(s=f[c+44>>2])&&ee(s),(s=f[c+32>>2])&&ee(s),I=c+112|0}if(!a)break e;break t}if((0|p)<0)break e;A=f[n+44>>2],s=f[e+216>>2],a=br(80),f[a+76>>2]=0,f[a+68>>2]=A,f[a+8>>2]=8652,f[a>>2]=9716,f[a+4>>2]=0,_=104+(b=s+d(g,144)|0)|0,f[a+72>>2]=_,f[a- -64>>2]=0,f[a+56>>2]=0,f[a+60>>2]=0,f[a+52>>2]=0,f[a+44>>2]=0,f[a+48>>2]=0,f[a+36>>2]=0,f[a+40>>2]=0,f[a+28>>2]=0,f[a+32>>2]=0,f[a+20>>2]=0,f[a+24>>2]=0,f[a+12>>2]=0,f[a+16>>2]=0,f[r+24>>2]=A,f[r+68>>2]=0,f[r+72>>2]=0,f[r+60>>2]=0,f[r+64>>2]=0,f[r+52>>2]=0,f[r+56>>2]=0,f[r+44>>2]=0,f[r+48>>2]=0,f[r+84>>2]=0,f[r+88>>2]=0,f[r+76>>2]=0,f[r+80>>2]=0,f[r+28>>2]=a,s=f[r+28>>2],f[r+8>>2]=f[r+24>>2],f[r+12>>2]=s,b=b+4|0,f[r+16>>2]=b,f[r+20>>2]=_,f[r+36>>2]=0,f[r+40>>2]=0,f[r+32>>2]=8652,s=f[r+20>>2],f[r>>2]=f[r+16>>2],f[r+4>>2]=s,ht(_=r+32|0,b,r),Ve(s=a+8|0,_),(0|s)!=(0|_)&&Qe(a+56|0,f[_+48>>2],f[_+52>>2]),ar(_)}a=jt(br(64),a),p=f[e+4>>2],e=a;t:{r:{if((0|(a=t))>=0){if(b=p+8|0,!((0|(A=(t=f[p+12>>2])-(s=f[p+8>>2])>>2))>(0|a)))if(_=a+1|0,a>>>0>=A>>>0)Ze(b,_-A|0);else if(!(A>>>0<=_>>>0)){if((0|(s=s+(_<<2)|0))!=(0|t))for(;_=f[(t=t-4|0)>>2],f[t>>2]=0,_&&_i[f[f[_>>2]+4>>2]](_),(0|t)!=(0|s););f[p+12>>2]=s}if(s=f[b>>2]+(a<<2)|0,t=f[s>>2],f[s>>2]=e,t)break r;break t}if(t=e,!e)break t}_i[f[f[t>>2]+4>>2]](t)}_=(-1^a)>>>31|0}return I=r+96|0,0|_}function F(e){var t,r=0,i=0,n=0,o=0,a=0;if(I=t=I-16|0,f[t+12>>2]=e,e>>>0<=211)n=f[St(10384,10576,t+12|0)>>2];else{for(e>>>0>=4294967292&&(pi(),E()),n=d(o=(e>>>0)/210|0,210),f[t+8>>2]=e-n,a=St(10576,10768,t+8|0)-10576>>2;;){n=f[10576+(a<<2)>>2]+n|0,e=5;e:{for(;;){t:if(47!=(0|e)){if((r=f[10384+(e<<2)>>2])>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if(e=e+1|0,(0|d(r,i))!=(0|n))continue}else for(e=211;;){if((r=(n>>>0)/(e>>>0)|0)>>>0<e>>>0)break e;if((0|d(e,r))==(0|n))break t;if((r=e+10|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+12|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+16|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+18|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+22|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+28|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+30|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+36|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+40|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+42|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+46|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+52|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+58|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+60|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+66|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+70|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+72|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+78|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+82|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+88|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+96|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+100|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+102|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+106|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+108|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+112|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+120|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+126|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+130|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+136|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+138|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+142|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+148|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+150|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+156|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+162|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+166|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+168|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+172|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+178|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+180|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+186|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+190|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+192|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+196|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+198|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+208|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if(e=e+210|0,(0|d(r,i))==(0|n))break}break}a=(e=48==(0|(n=a+1|0)))?0:n,n=d(o=e+o|0,210);continue}break}f[t+12>>2]=n}return I=t+16|0,n}function W(e,t,r,i){var n=0,a=0,s=0,c=0,d=_(0),k=0;e:if(i){t:{r:switch(f[e+28>>2]-1|0){case 0:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(o[t+i|0]=u[0|a],(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+1|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 1:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((0|(n=o[0|a]))<0)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+1|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 2:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(((n=l[a>>1])-128&65535)>>>0<65280)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+2|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 3:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=l[a>>1])>>>0>127)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+2|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 4:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=f[a>>2])-128>>>0<4294967040)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+4|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 5:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=f[a>>2])>>>0>127)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+4|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 6:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(c=f[a>>2],-1==(0|(n=f[a+4>>2]-(c>>>0<128)|0))&c-128>>>0<4294967040|-1!=(0|n))break e;if(o[t+i|0]=c,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+8|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 7:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(!(n=f[a+4>>2])&(c=f[a>>2])>>>0>127|n)break e;if(o[t+i|0]=c,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+8|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 8:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(c=t+i|0,d=A[a>>2],n=_(h(d))<_(2147483648)?~~d:-2147483648,o[0|c]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+4|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 9:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(c=t+i|0,k=p[a>>3],n=h(k)<2147483648?~~k:-2147483648,o[0|c]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+8|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 10:break r;default:break e}r:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(o[t+i|0]=u[0|a],(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break r;if(!((a=a+1|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)<=(0|n))break e}Ye(i+n|0,0,r-n|0)}return s}function j(e,t,r,i){var n=0,a=0,s=0,c=0,d=_(0),h=0;e:if(i){t:{r:switch(f[e+28>>2]-1|0){case 0:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((0|(n=o[0|a]))<0)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+1|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 1:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(o[t+i|0]=u[0|a],(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+1|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 2:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=l[a>>1])>>>0>255)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+2|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 3:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=l[a>>1])>>>0>255)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+2|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 4:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=f[a>>2])>>>0>255)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+4|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 5:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=f[a>>2])>>>0>255)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+4|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 6:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(!(n=f[a+4>>2])&(c=f[a>>2])>>>0>255|n)break e;if(o[t+i|0]=c,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+8|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 7:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(!(n=f[a+4>>2])&(c=f[a>>2])>>>0>255|n)break e;if(o[t+i|0]=c,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+8|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 8:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(c=t+i|0,n=(d=A[a>>2])<_(4294967296)&d>=_(0)?~~d>>>0:0,o[0|c]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+4|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 9:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(c=t+i|0,n=(h=p[a>>3])<4294967296&h>=0?~~h>>>0:0,o[0|c]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+8|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 10:break r;default:break e}r:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(o[t+i|0]=u[0|a],(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break r;if(!((a=a+1|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)<=(0|n))break e}Ye(i+n|0,0,r-n|0)}return s}function O(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0;e:{t:{r:{i:{n:if(f[e+92>>2]!=f[e+88>>2]){if((0|(r=f[e+52>>2]))==f[e+56>>2]){if((n=1+(i=(s=r-(a=f[e+48>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(r=s>>1,o=i>>>0<536870911?r>>>0<n>>>0?n:r:1073741823){if(o>>>0>=1073741824)break e;r=br(o<<2)}else r=0;f[(n=r+(i<<2)|0)>>2]=t,(0|s)>0&&ge(r,a,s),f[e+56>>2]=r+(o<<2),f[e+52>>2]=n+4,f[e+48>>2]=r,a&&ee(a)}else f[r>>2]=t,f[e+52>>2]=r+4;f[e+84>>2]=0,n=-1,r=-1;o:if(-1!=(0|t)){if(o=f[e+4>>2],-1!=(0|(r=((r=t+1|0)>>>0)%3|0?r:t-2|0))&&(n=f[f[o>>2]+(r<<2)>>2]),(t>>>0)%3|0)i=t-1|0;else if(r=-1,-1==(0|(i=t+2|0)))break o;r=f[f[o>>2]+(i<<2)>>2]}if(u=r>>>3&536870908,i=f[e+36>>2],(s=f[(a=i+(n>>>3&536870908)|0)>>2])&(o=1<<n)||(f[a>>2]=o|s,xe(o=e+8|0,n,i=-1!=(0|t)?((i=t+1|0)>>>0)%3|0?i:t-2|0:-1),i=f[e+36>>2]),(i=f[(o=i+u|0)>>2])&(n=1<<r)||(f[o>>2]=i|n,n=-1,-1!=(0|t)&&(n=t-1|0,(t>>>0)%3|0||(n=t+2|0)),xe(i=e+8|0,r,n)),n=-1,n=-1!=(0|t)?f[f[f[e+4>>2]>>2]+(t<<2)>>2]:n,o=f[e+36>>2]+(n>>>3&536870908)|0,(i=f[o>>2])&(r=1<<n)||(f[o>>2]=r|i,xe(e+8|0,n,t)),!((0|(i=f[e+84>>2]))>2))for(;;){if(n=d(i,12)+e|0,(0|(t=f[n+52>>2]))==f[n+48>>2]){if(3!=(0|(i=i+1|0)))continue;break n}if(t=f[(r=t-4|0)>>2],f[n+52>>2]=r,f[e+84>>2]=i,-1==(0|t))break n;n=f[e+24>>2];o:if(!(f[n+((r=(t>>>0)/3|0)>>>3&268435452)>>2]>>>r&1)){a:{for(;;){f[(r=((b=(t>>>0)/3|0)>>>3&268435452)+n|0)>>2]=f[r>>2]|1<<b,n=-1;f:{s:{c:{u:{l:{b:{A:{p:{if(n=-1!=(0|t)?f[f[f[e+4>>2]>>2]+(t<<2)>>2]:n,o=f[e+36>>2]+(n>>>3&536870908)|0,!((i=f[o>>2])&(r=1<<n))){if(f[o>>2]=r|i,s=f[(f[f[e+16>>2]+96>>2]+d(b,12)|0)+((t>>>0)%3<<2)>>2],l=f[f[e+20>>2]+4>>2],(0|(r=f[l+4>>2]))==f[l+8>>2]){if((i=1+(o=(u=r-(c=f[l>>2])|0)>>2)|0)>>>0>=1073741824)break p;if(r=u>>1,a=o>>>0<536870911?r>>>0<i>>>0?i:r:1073741823){if(a>>>0>=1073741824)break e;r=br(a<<2)}else r=0;f[(i=r+(o<<2)|0)>>2]=s,(0|u)>0&&ge(r,c,u),f[l+8>>2]=r+(a<<2),f[l+4>>2]=i+4,f[l>>2]=r,c&&ee(c)}else f[r>>2]=s,f[l+4>>2]=r+4;if(c=f[e+12>>2],(0|(r=f[c+4>>2]))==f[c+8>>2]){if((i=1+(o=(a=r-(u=f[c>>2])|0)>>2)|0)>>>0>=1073741824)break A;if(r=a>>1,s=o>>>0<536870911?r>>>0<i>>>0?i:r:1073741823){if(s>>>0>=1073741824)break e;r=br(s<<2)}else r=0;f[(i=r+(o<<2)|0)>>2]=t,(0|a)>0&&ge(r,u,a),f[c+8>>2]=r+(s<<2),f[c+4>>2]=i+4,f[c>>2]=r,u&&ee(u)}else f[r>>2]=t,f[c+4>>2]=r+4;r=f[e+12>>2],f[f[r+12>>2]+(n<<2)>>2]=f[r+24>>2],f[r+24>>2]=f[r+24>>2]+1}if(-1==(0|t))break a;a=f[e+4>>2],n=-1,-1!=(0|(r=((r=t+1|0)>>>0)%3|0?r:t-2|0))&&(n=f[f[a+12>>2]+(r<<2)>>2]);d:{if((0|d(b,3))==(0|t)){if(o=t+2|0,t=-1,-1==(0|o))break d}else o=t-1|0;t=f[f[a+12>>2]+(o<<2)>>2]}if(s=-1==(0|t),o=(t>>>0)/3|0,i=(n>>>0)/3|0,!(r=-1==(0|n))){if(r=r?-1:i,r=f[f[e+24>>2]+(r>>>3&536870908)>>2]&1<<r,s)break b;b=0!=(0|r);break l}if(b=1,!s)break l;break a}ii(),E()}ii(),E()}if(!r)break u;break a}if(r=s?-1:o,!(f[f[e+24>>2]+(r>>>3&536870908)>>2]>>>r&1)){if(o=0,r=f[f[a>>2]+(t<<2)>>2],f[f[e+36>>2]+(r>>>3&536870908)>>2]>>>r&1||(r=f[e+88>>2]+(r<<2)|0,i=f[r>>2],f[r>>2]=i+1,o=(0|i)<=0?2:1),f[e+84>>2]>=(0|o)&&b)break s;if(l=d(o,12)+e|0,(0|(r=f[l+52>>2]))==f[l+56>>2]){if((i=1+(s=(u=r-(c=f[l+48>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(r=u>>1,a=s>>>0<536870911?r>>>0<i>>>0?i:r:1073741823){if(a>>>0>=1073741824)break e;r=br(a<<2)}else r=0;f[(i=r+(s<<2)|0)>>2]=t,(0|u)>0&&ge(r,c,u),f[l+48>>2]=r,f[l+52>>2]=i+4,f[l+56>>2]=r+(a<<2),c&&ee(c)}else f[r>>2]=t,f[l+52>>2]=r+4;f[e+84>>2]<=(0|o)||(f[e+84>>2]=o)}if(b)break a;if(t=-1,-1==(0|n))break c}t=f[f[f[e+4>>2]>>2]+(n<<2)>>2]}if(o=0,f[f[e+36>>2]+(t>>>3&536870908)>>2]>>>t&1||(t=f[e+88>>2]+(t<<2)|0,r=f[t>>2],f[t>>2]=r+1,o=(0|r)<=0?2:1),f[e+84>>2]<(0|o))break f;t=n}n=f[e+24>>2];continue}break}if(c=d(o,12)+e|0,(0|(t=f[c+52>>2]))==f[c+56>>2]){if((r=1+(i=(a=t-(u=f[c+48>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(t=a>>1,s=i>>>0<536870911?t>>>0<r>>>0?r:t:1073741823){if(s>>>0>=1073741824)break e;t=br(s<<2)}else t=0;f[(r=t+(i<<2)|0)>>2]=n,(0|a)>0&&ge(t,u,a),f[c+48>>2]=t,f[c+52>>2]=r+4,f[c+56>>2]=t+(s<<2),u&&ee(u)}else f[t>>2]=n,f[c+52>>2]=t+4;if((0|(i=f[e+84>>2]))<=(0|o))break o;f[e+84>>2]=o,i=o;break o}i=f[e+84>>2]}if(!((0|i)<3))break}}return 1}ii(),E()}ii(),E()}ii(),E()}Lt(1326),E()}function Z(e,t){var r,i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0;if(I=r=I-48|0,i=f[f[e+4>>2]+44>>2],n=f[e+8>>2],a=f[n>>2],n=f[n+4>>2],f[r+40>>2]=0,f[r+32>>2]=0,f[r+36>>2]=0,n=(n-a>>2>>>0)/3|0,u=f[i+96>>2],n>>>0>(a=(f[i+100>>2]-u|0)/12|0)>>>0?Ae(i+96|0,n-a|0,r+32|0):n>>>0>=a>>>0||(f[i+100>>2]=u+d(n,12)),f[e+216>>2]!=f[e+220>>2]){f[r+24>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,l=f[e+8>>2],t=f[l>>2],i=f[l+4>>2],f[r+8>>2]=0,f[r>>2]=0,f[r+4>>2]=0;e:{t:{r:{i:{n:{o:{a:{if(t=i-t|0){if((0|t)<0)break a;p=br(t),f[r>>2]=p,f[r+8>>2]=(t>>2<<2)+p,g=r,w=Ye(p,0,t)+t|0,f[g+4>>2]=w}if(i=f[l+24>>2],(f[l+28>>2]-i|0)<=0){n=0,t=0;break t}for(n=0,a=0,t=0;;){f:if(-1!=(0|(u=f[(_<<2)+i>>2]))){s:if(!(f[f[e+120>>2]+(_>>>3&536870908)>>2]>>>_&1)&&(k=f[e+216>>2],i=f[e+220>>2]-k|0))for(m=(i=(0|i)/144|0)>>>0>1?i:1,b=0,y=0!=(0|(i=(u>>>0)%3|0))|-1!=(0|(s=u+2|0)),v=i?u-1|0:s;;){if(c=u<<2,o=k+d(b,144)|0,i=f[c+f[f[o+68>>2]>>2]>>2],f[f[o+16>>2]+(i>>>3&536870908)>>2]>>>i&1&&(i=-1,y&&(i=-1,-1!=(0|(s=f[f[l+12>>2]+(v<<2)>>2]))&&(i=s-1|0,(s>>>0)%3|0||(i=s+2|0))),(0|u)!=(0|i)))for(o=f[o+32>>2],s=f[o+c>>2];;){if(A=0,-1==(0|i))break e;if(f[o+(i<<2)>>2]!=(0|s)){u=i;break s}c:{if((i>>>0)%3|0)c=i-1|0;else if(A=-1,-1==(0|(c=i+2|0)))break c;A=-1,-1!=(0|(i=f[f[l+12>>2]+(c<<2)>>2]))&&(A=i-1|0,(i>>>0)%3|0||(A=i+2|0))}if((0|u)==(0|(i=A)))break}if((0|m)==(0|(b=b+1|0)))break}if(s=(i=t-a|0)>>2,f[(u<<2)+p>>2]=s,t>>>0<h>>>0)f[t>>2]=u,t=t+4|0,f[r+20>>2]=t;else{if((t=s+1|0)>>>0>=1073741824)break o;if(o=(n=h-a|0)>>1,t=n>>2>>>0<536870911?t>>>0>o>>>0?t:o:1073741823){if(t>>>0>=1073741824)break n;n=br(t<<2)}else n=0;f[(s=n+(s<<2)|0)>>2]=u,h=(t<<2)+n|0,t=s+4|0,(0|i)>0&&ge(n,a,i),f[r+24>>2]=h,f[r+20>>2]=t,f[r+16>>2]=n,a&&(ee(a),l=f[e+8>>2]),a=n}if(-1!=(0|u)){if((u>>>0)%3|0)i=u-1|0;else if(-1==(0|(i=u+2|0)))break f;if(-1!=(0|(i=f[f[l+12>>2]+(i<<2)>>2]))&&-1!=(0|(i=i+((i>>>0)%3|0?-1:2)|0))&&(0|i)!=(0|(o=u)))for(;;){s=i;s:{c:if(c=f[e+216>>2],i=f[e+220>>2]-c|0){for(b=(i=(0|i)/144|0)>>>0>1?i:1,i=0;;){if(k=f[32+(c+d(i,144)|0)>>2],f[k+(m=s<<2)>>2]==f[k+(o<<2)>>2]){if((0|b)!=(0|(i=i+1|0)))continue;break c}break}if(o=(i=t-n|0)>>2,f[p+m>>2]=o,t>>>0<h>>>0){f[t>>2]=s,t=t+4|0,f[r+20>>2]=t,a=n;break s}if((t=o+1|0)>>>0>=1073741824)break i;if(c=(a=h-n|0)>>1,t=a>>2>>>0<536870911?t>>>0>c>>>0?t:c:1073741823){if(t>>>0>=1073741824)break r;a=br(t<<2)}else a=0;if(f[(o=a+(o<<2)|0)>>2]=s,h=(t<<2)+a|0,t=o+4|0,(0|i)>0&&ge(a,n,i),f[r+24>>2]=h,f[r+20>>2]=t,f[r+16>>2]=a,!n){n=a;break s}ee(n),l=f[e+8>>2],n=a;break s}f[(s<<2)+p>>2]=f[(o<<2)+p>>2]}if(-1==(0|s))break f;if((s>>>0)%3|0)i=s-1|0;else if(-1==(0|(i=s+2|0)))break f;if(-1==(0|(i=f[f[l+12>>2]+(i<<2)>>2])))break f;if(-1==(0|(i=i+((i>>>0)%3|0?-1:2)|0)))break f;if(o=s,(0|i)==(0|u))break}}}if(_=_+1|0,i=f[l+24>>2],!((0|_)<f[l+28>>2]-i>>2))break}break t}ii(),E()}ii(),E()}Lt(1326),E()}ii(),E()}Lt(1326),E()}if(_=f[e+4>>2],c=f[_+44>>2],(0|(b=f[c+100>>2]))!=f[c+96>>2])for(i=0;a=i+1|0,s=d(i,12),o=f[8+(u=s+p|0)>>2],l=f[u+4>>2],u=f[u>>2],(A=i)>>>0>=(b=(b-(i=f[c+96>>2])|0)/12|0)>>>0&&(f[r+40>>2]=0,f[r+32>>2]=0,f[r+36>>2]=0,Ae(c+96|0,a-b|0,r+32|0),_=f[e+4>>2],i=f[c+96>>2]),f[8+(i=i+s|0)>>2]=o,f[i+4>>2]=l,f[i>>2]=u,i=a,c=f[_+44>>2],i>>>0<((b=f[c+100>>2])-f[c+96>>2]|0)/12>>>0;);f[f[_+4>>2]+80>>2]=t-n>>2,A=1}i=A,p&&ee(p),n&&(f[r+20>>2]=n,ee(n))}else{if(l=f[e+4>>2],c=f[l+44>>2],(0|(n=f[c+100>>2]))!=f[c+96>>2])for(i=0;;){s=f[e+8>>2];e:{if(-1!=(0|(o=d(i,3))))if(b=-1,u=f[f[s>>2]+(o<<2)>>2],-1!=(0|(a=o+1|0))){if(b=f[f[s>>2]+(a<<2)>>2],a=-1,-1==(0|(o=o+2|0)))break e}else o=0;else b=f[4+(f[s>>2]+(o<<2)|0)>>2],u=-1,o=1;a=f[f[s>>2]+(o<<2)>>2]}if(s=a,a=i+1|0,(o=((o=n)-(n=f[c+96>>2])|0)/12|0)>>>0<=i>>>0&&(f[r+40>>2]=0,f[r+32>>2]=0,f[r+36>>2]=0,Ae(c+96|0,a-o|0,r+32|0),l=f[e+4>>2],n=f[c+96>>2]),i=d(i,12)+n|0,f[i+8>>2]=s,f[i+4>>2]=b,f[i>>2]=u,i=a,c=f[l+44>>2],!(i>>>0<((n=f[c+100>>2])-f[c+96>>2]|0)/12>>>0))break}f[f[l+4>>2]+80>>2]=t,i=1}return I=r+48|0,i}function P(e,t,r,i){var n=0,s=0,c=0,b=0,d=_(0),k=0,y=0;e:if(i){t:{r:switch(f[e+28>>2]-1|0){case 0:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(n=(s<<3)+i|0,c=o[0|t],f[n>>2]=c,f[n+4>>2]=c>>31,t=t+1|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 1:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(f[(n=(s<<3)+i|0)>>2]=u[0|t],f[n+4>>2]=0,t=t+1|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 2:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(n=(s<<3)+i|0,c=a[t>>1],f[n>>2]=c,f[n+4>>2]=c>>31,t=t+2|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 3:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(f[(n=(s<<3)+i|0)>>2]=l[t>>1],f[n+4>>2]=0,t=t+2|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 4:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(n=(s<<3)+i|0,c=f[t>>2],f[n>>2]=c,f[n+4>>2]=c>>31,t=t+4|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 5:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(f[(n=(s<<3)+i|0)>>2]=f[t>>2],f[n+4>>2]=0,t=t+4|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 6:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(c=f[t+4>>2],f[(n=(s<<3)+i|0)>>2]=f[t>>2],f[n+4>>2]=c,t=t+8|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 7:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(n=f[t>>2],(0|(c=f[t+4>>2]))<0)break e;if(f[(y=(s<<3)+i|0)>>2]=n,f[y+4>>2]=c,t=t+8|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 8:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,y=f[n+4>>2];;){if(t>>>0>=y>>>0)break e;if(n=(s<<3)+i|0,d=A[t>>2],_(h(d))<_(0x8000000000000000)?(c=_(h(d))>=_(1)?~~(d>_(0)?_(m(_(v(_(d*_(2.3283064365386963e-10)))),_(4294967296))):_(g(_(_(d-_(~~d>>>0>>>0))*_(2.3283064365386963e-10)))))>>>0:0,b=~~d>>>0):(c=-2147483648,b=0),f[n>>2]=b,f[n+4>>2]=c,t=t+4|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 9:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,y=f[n+4>>2];;){if(t>>>0>=y>>>0)break e;if(n=(s<<3)+i|0,k=p[t>>3],h(k)<0x8000000000000000?(c=h(k)>=1?~~(k>0?m(v(2.3283064365386963e-10*k),4294967295):g(2.3283064365386963e-10*(k-+(~~k>>>0>>>0))))>>>0:0,b=~~k>>>0):(c=-2147483648,b=0),f[n>>2]=b,f[n+4>>2]=c,t=t+8|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 10:break r;default:break e}if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(f[(n=(s<<3)+i|0)>>2]=u[0|t],f[n+4>>2]=0,t=t+1|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)<=(0|n))break e}Ye((n<<3)+i|0,0,r-n<<3)}}function Y(e,t,r){t|=0,r|=0;var i,n=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,x=0;I=i=I-96|0,a=f[16+(e|=0)>>2],o[i+92|0]=1,f[i+88>>2]=t,f[i+84>>2]=t,f[i+80>>2]=a,d=f[e+20>>2],n=f[d>>2];e:{t:{if((a=f[f[a+28>>2]+(t<<2)>>2])>>>0<f[d+4>>2]-n>>2>>>0){if(n=f[f[e+8>>2]+(f[n+(a<<2)>>2]<<2)>>2],a=f[e+4>>2],u[a+84|0]||(n=f[f[a+68>>2]+(n<<2)>>2]),f[i+72>>2]=0,f[i+76>>2]=0,f[(d=i- -64|0)>>2]=0,f[d+4>>2]=0,f[i+56>>2]=0,f[i+60>>2]=0,P(a,n,o[a+24|0],i+56|0),n=((a=t+1|0)>>>0)%3|0,t>>>0<=a>>>0)for(d=n?a:t-2|0,c=((t>>>0)%3|0?-1:2)+t|0;;){if(n=d,a=c,f[e+28>>2]&&(n=((a=t+1|0)>>>0)%3|0?a:t-2|0,a=t-1|0,(t>>>0)%3|0||(a=t+2|0)),A=f[e+20>>2],t=f[A>>2],(n=f[f[f[e+16>>2]+28>>2]+(n<<2)>>2])>>>0>=f[A+4>>2]-t>>2>>>0)break t;if(n=f[f[e+8>>2]+(f[t+(n<<2)>>2]<<2)>>2],t=f[e+4>>2],u[t+84|0]||(n=f[f[t+68>>2]+(n<<2)>>2]),f[i+48>>2]=0,f[i+52>>2]=0,f[i+40>>2]=0,f[i+44>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,P(t,n,o[t+24|0],i+32|0),n=f[e+20>>2],t=f[n>>2],(a=f[f[f[e+16>>2]+28>>2]+(a<<2)>>2])>>>0>=f[n+4>>2]-t>>2>>>0)break e;n=f[f[e+8>>2]+(f[t+(a<<2)>>2]<<2)>>2],t=f[e+4>>2],u[t+84|0]||(n=f[f[t+68>>2]+(n<<2)>>2]),f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,P(t,n,o[t+24|0],i+8|0),n=(a=f[i+8>>2])-(t=f[i+56>>2])|0,A=f[i+60>>2],_=f[i+12>>2]-(A+(t>>>0>a>>>0)|0)|0,v=(l=f[i+40>>2])-(a=f[i+64>>2])|0,g=f[i+68>>2],w=Jt(n,_,v,l=f[i+44>>2]-(g+(a>>>0>l>>>0)|0)|0),s=s-(C+(b>>>0<w>>>0)|0)|0,B=T=b-w|0,a=Jt(w=(b=f[i+16>>2])-a|0,g=f[i+20>>2]-((a>>>0>b>>>0)+g|0)|0,T=(b=f[i+32>>2])-t|0,A=f[i+36>>2]-((t>>>0>b>>>0)+A|0)|0),t=C+s|0,s=t=a>>>0>(b=B+a|0)>>>0?t+1|0:t,B=h,k=_,_=(t=f[i+48>>2])-(a=f[i+72>>2])|0,h=f[i+76>>2],k=Jt(n,k,_,x=f[i+52>>2]-(h+(t>>>0<a>>>0)|0)|0),t=C+p|0,t=(n=B+k|0)>>>0<k>>>0?t+1|0:t,h=n-(p=Jt(k=(p=f[i+24>>2])-a|0,a=f[i+28>>2]-((a>>>0>p>>>0)+h|0)|0,T,A))|0,p=t-(C+(n>>>0<p>>>0)|0)|0,n=m-(t=Jt(w,g,_,x))|0,t=y-(C+(t>>>0>m>>>0)|0)|0,y=Jt(k,a,v,l),t=C+t|0,y=t=(m=y+n|0)>>>0<y>>>0?t+1|0:t,t=f[i+88>>2],a=f[i+80>>2];r:if(u[i+92|0]){i:{if(-1==(0|t)||-1==(0|(t=((n=t+1|0)>>>0)%3|0?n:t-2|0))|f[f[a>>2]+(t>>>3&536870908)>>2]>>>t&1||-1==(0|(t=f[f[f[a+64>>2]+12>>2]+(t<<2)>>2])))f[i+88>>2]=-1;else if(t=((n=t+1|0)>>>0)%3|0?n:t-2|0,f[i+88>>2]=t,-1!=(0|t))break i;n=-1;n:if(-1!=(0|(t=f[i+84>>2]))){if((t>>>0)%3|0)t=t-1|0;else if(n=-1,-1==(0|(t=t+2|0)))break n;n=-1,f[f[a>>2]+(t>>>3&536870908)>>2]>>>t&1||(n=-1,-1!=(0|(t=f[f[f[a+64>>2]+12>>2]+(t<<2)>>2]))&&(n=t-1|0,(t>>>0)%3|0||(n=t+2|0)))}o[i+92|0]=0,f[i+88>>2]=n;break r}if((0|t)!=f[i+84>>2])break r;f[i+88>>2]=-1}else{n=-1;i:if(-1!=(0|t)){if((t>>>0)%3|0)t=t-1|0;else if(n=-1,-1==(0|(t=t+2|0)))break i;n=-1,f[f[a>>2]+(t>>>3&536870908)>>2]>>>t&1||(n=-1,-1!=(0|(t=f[f[f[a+64>>2]+12>>2]+(t<<2)>>2]))&&(n=t-1|0,(t>>>0)%3|0||(n=t+2|0)))}f[i+88>>2]=n}if(-1==(0|(t=f[i+88>>2])))break}n=(t=y>>31)+m|0,a=t,t=t+y|0,A=n^a,c=a^(n>>>0<a>>>0?t+1|0:t),_=-1,n=2147483647,l=t=p>>31,a=t+h|0,t=t+p|0,t=a>>>0<l>>>0?t+1|0:t,a^=l,l=t^=l,v=-1^a,t^=2147483647,d=s;r:{if(f[e+28>>2]){if(!((0|t)==(0|c)&A>>>0>v>>>0|t>>>0<c>>>0)&&(t=c+l|0,a=t=(e=a+A|0)>>>0<a>>>0?t+1|0:t,c=s,s=(t=s>>31)+b|0,l=c,c=t,t=l+t|0,t=s>>>0<c>>>0?t+1|0:t,s^=c,!((0|(c=2147483647^(t^=c)))==(0|a)&(-1^s)>>>0<e>>>0|a>>>0>c>>>0)&&(t=t+a|0,_=e=e+s|0,n=t=e>>>0<s>>>0?t+1|0:t,!t&e>>>0<536870913)))break r;t=n>>>29|0,e=(536870911&n)<<3|_>>>29}else{if((0|t)==(0|c)&A>>>0>v>>>0|t>>>0<c>>>0)break r;if(t=c+l|0,t=(e=a+A|0)>>>0<a>>>0?t+1|0:t,a=e,e=t,n=(t=s>>31)+b|0,c=s,s=t,t=c+t|0,c=n^s,s^=t=n>>>0<s>>>0?t+1|0:t,t=n=c+a|0,(s=!(0&(e=(0|(s^=2147483647))==(0|e)&(-1^c)>>>0<a>>>0|e>>>0>s>>>0)))&(0|(e=e?-1:t))<=536870912|(0|e)<536870912)break r;t=0,e=e>>>29|0}b=Yt(b,d,e,t),h=Yt(h,p,e,t),m=Yt(m,y,e,t)}return f[r+8>>2]=b,f[r+4>>2]=h,f[r>>2]=m,void(I=i+96|0)}ci(),E()}ci(),E()}ci(),E()}function z(e,t,r,i){var n=0,s=0,c=0,b=0,d=0,k=_(0),m=0;e:{t:if(i){r:{i:switch(f[e+28>>2]-1|0){case 0:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=o[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 1:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 2:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=l[t>>1],t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 3:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((0|(n=a[t>>1]))<0)break t;if(a[(c<<1)+i>>1]=n,t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if(b=1,(0|r)>(0|n))break r;break t;case 4:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((n=f[t>>2])-32768>>>0<4294901760)break e;if(a[(c<<1)+i>>1]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 5:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((n=f[t>>2])>>>0>32767)break e;if(a[(c<<1)+i>>1]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 6:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=f[t>>2],-1==(0|(n=f[t+4>>2]-(d>>>0<32768)|0))&d-32768>>>0<4294901760|-1!=(0|n))break e;if(a[(c<<1)+i>>1]=d,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 7:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(!(n=f[t+4>>2])&(d=f[t>>2])>>>0>32767|n)break e;if(a[(c<<1)+i>>1]=d,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 8:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<1)+i|0,k=A[t>>2],n=_(h(k))<_(2147483648)?~~k:-2147483648,a[d>>1]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 9:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<1)+i|0,m=p[t>>3],n=h(m)<2147483648?~~m:-2147483648,a[d>>1]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 10:break i;default:break t}if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)<=(0|n))break t}Ye((n<<1)+i|0,0,r-n<<1)}return b}return 0}function J(e,t,r,i){var n=0,s=0,c=0,b=0,d=0,h=_(0),k=0;e:{t:if(i){r:{i:switch(f[e+28>>2]-1|0){case 0:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((0|(n=o[0|t]))<0)break t;if(a[(c<<1)+i>>1]=255&n,t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if(b=1,(0|r)>(0|n))break r;break t;case 1:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 2:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((0|(n=a[t>>1]))<0)break t;if(a[(c<<1)+i>>1]=n,t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if(b=1,(0|r)>(0|n))break r;break t;case 3:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=l[t>>1],t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 4:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((n=f[t>>2])>>>0>65535)break e;if(a[(c<<1)+i>>1]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 5:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((n=f[t>>2])>>>0>65535)break e;if(a[(c<<1)+i>>1]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 6:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(!(n=f[t+4>>2])&(d=f[t>>2])>>>0>65535|n)break e;if(a[(c<<1)+i>>1]=d,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 7:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(!(n=f[t+4>>2])&(d=f[t>>2])>>>0>65535|n)break e;if(a[(c<<1)+i>>1]=d,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 8:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<1)+i|0,n=(h=A[t>>2])<_(4294967296)&h>=_(0)?~~h>>>0:0,a[d>>1]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 9:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<1)+i|0,n=(k=p[t>>3])<4294967296&k>=0?~~k>>>0:0,a[d>>1]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 10:break i;default:break t}if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)<=(0|n))break t}Ye((n<<1)+i|0,0,r-n<<1)}return b}return 0}function Q(e,t,r){var i,n=0,s=0,c=0,A=0,p=0;I=i=I-48|0,n=l[5069]|l[5070]<<16,s=l[5067]|l[5068]<<16,a[i+38>>1]=s,a[i+40>>1]=s>>>16,a[i+42>>1]=n,a[i+44>>1]=n>>>16,n=f[2533],f[i+32>>2]=f[2532],f[i+36>>2]=n,n=f[2531],f[i+24>>2]=f[2530],f[i+28>>2]=n,n=f[2529],f[i+16>>2]=f[2528],f[i+20>>2]=n,s=f[t+12>>2],n=f[t+20>>2],n=(A=(c=f[t+16>>2])+5|0)>>>0<5?n+1|0:n;e:{t:if(A>>>0>b[t+8>>2]&(0|n)>=(0|s)|(0|n)>(0|s)){if((t=Nt(i+16|0))>>>0>=4294967280)break e;r:{if(t>>>0>=11)r=br(n=t+16&-16),f[i+8>>2]=-2147483648|n,f[i>>2]=r,f[i+4>>2]=t;else if(o[i+11|0]=t,r=i,!t)break r;ge(r,i+16|0,t)}if(o[t+r|0]=0,f[e>>2]=-2,e=e+4|0,o[i+11|0]>=0){t=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=t,f[e+8>>2]=f[i+8>>2];break t}Vt(t=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(n=c+f[t>>2]|0,s=u[0|n]|u[n+1|0]<<8|u[n+2|0]<<16|u[n+3|0]<<24,o[0|r]=s,o[r+1|0]=s>>>8,o[r+2|0]=s>>>16,o[r+3|0]=s>>>24,o[r+4|0]=u[n+4|0],n=f[t+20>>2],n=(s=f[t+16>>2]+5|0)>>>0<5?n+1|0:n,f[t+16>>2]=s,f[t+20>>2]=n,xt(r,1394,5))t=br(32),o[t+16|0]=u[1638],r=u[1634]|u[1635]<<8|u[1636]<<16|u[1637]<<24,n=u[1630]|u[1631]<<8|u[1632]<<16|u[1633]<<24,o[t+8|0]=n,o[t+9|0]=n>>>8,o[t+10|0]=n>>>16,o[t+11|0]=n>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1626]|u[1627]<<8|u[1628]<<16|u[1629]<<24,n=u[1622]|u[1623]<<8|u[1624]<<16|u[1625]<<24,o[0|t]=n,o[t+1|0]=n>>>8,o[t+2|0]=n>>>16,o[t+3|0]=n>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+17|0]=0,f[e>>2]=-1,Vt(e+4|0,t,17),ee(t);else if((0|(c=f[t+12>>2]))<=(0|n)&b[t+8>>2]<=s>>>0|(0|n)>(0|c)){if((t=Nt(i+16|0))>>>0>=4294967280)break e;r:{if(t>>>0>=11)r=br(n=t+16&-16),f[i+8>>2]=-2147483648|n,f[i>>2]=r,f[i+4>>2]=t;else if(o[i+11|0]=t,r=i,!t)break r;ge(r,i+16|0,t)}if(o[t+r|0]=0,f[e>>2]=-2,e=e+4|0,o[i+11|0]>=0){t=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=t,f[e+8>>2]=f[i+8>>2];break t}Vt(t=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(o[r+5|0]=u[s+f[t>>2]|0],n=f[t+20>>2],n=(s=f[t+16>>2]+1|0)?n:n+1|0,f[t+16>>2]=s,f[t+20>>2]=n,(0|(c=f[t+12>>2]))<=(0|n)&b[t+8>>2]<=s>>>0|(0|n)>(0|c)){if((t=Nt(i+16|0))>>>0>=4294967280)break e;r:{if(t>>>0>=11)r=br(n=t+16&-16),f[i+8>>2]=-2147483648|n,f[i>>2]=r,f[i+4>>2]=t;else if(o[i+11|0]=t,r=i,!t)break r;ge(r,i+16|0,t)}if(o[t+r|0]=0,f[e>>2]=-2,e=e+4|0,o[i+11|0]>=0){t=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=t,f[e+8>>2]=f[i+8>>2];break t}Vt(t=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(o[r+6|0]=u[s+f[t>>2]|0],n=f[t+20>>2],n=(s=f[t+16>>2]+1|0)?n:n+1|0,f[t+16>>2]=s,f[t+20>>2]=n,(0|(c=f[t+12>>2]))<=(0|n)&b[t+8>>2]<=s>>>0|(0|n)>(0|c)){if((t=Nt(i+16|0))>>>0>=4294967280)break e;r:{if(t>>>0>=11)r=br(n=t+16&-16),f[i+8>>2]=-2147483648|n,f[i>>2]=r,f[i+4>>2]=t;else if(o[i+11|0]=t,r=i,!t)break r;ge(r,i+16|0,t)}if(o[t+r|0]=0,f[e>>2]=-2,e=e+4|0,o[i+11|0]>=0){t=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=t,f[e+8>>2]=f[i+8>>2];break t}Vt(t=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(o[r+7|0]=u[s+f[t>>2]|0],n=f[t+20>>2],n=(s=f[t+16>>2]+1|0)?n:n+1|0,f[t+16>>2]=s,f[t+20>>2]=n,(0|(c=f[t+12>>2]))<=(0|n)&b[t+8>>2]<=s>>>0|(0|n)>(0|c)){if(t=Pt(i,i+16|0),f[e>>2]=-2,e=e+4|0,o[t+11|0]>=0){t=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=t,f[e+8>>2]=f[i+8>>2];break t}if(Vt(e,f[t>>2],f[t+4>>2]),o[t+11|0]>=0)break t;ee(f[t>>2])}else if(o[r+8|0]=u[s+f[t>>2]|0],s=n=f[t+20>>2],n=(c=(p=f[t+16>>2])+1|0)?n:n+1|0,f[t+16>>2]=c,f[t+20>>2]=n,A=f[t+12>>2],n=s,n=(s=p+3|0)>>>0<3?n+1|0:n,s>>>0>b[t+8>>2]&(0|n)>=(0|A)|(0|n)>(0|A)){if(t=Pt(i,i+16|0),f[e>>2]=-2,e=e+4|0,o[t+11|0]>=0){t=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=t,f[e+8>>2]=f[i+8>>2];break t}if(Vt(e,f[t>>2],f[t+4>>2]),o[t+11|0]>=0)break t;ee(f[t>>2])}else s=r,r=c+f[t>>2]|0,a[s+10>>1]=u[0|r]|u[r+1|0]<<8,n=f[t+20>>2],n=(r=f[t+16>>2]+2|0)>>>0<2?n+1|0:n,f[t+16>>2]=r,f[t+20>>2]=n,f[e+8>>2]=0,f[e+12>>2]=0,f[e>>2]=0,f[e+4>>2]=0;return void(I=i+48|0)}oi(),E()}function L(e,t,r,i){var n=0,s=0,c=0,b=0,d=0,k=_(0),m=0;e:{t:if(i){r:{i:switch(f[e+28>>2]-1|0){case 0:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=o[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 1:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 2:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=a[t>>1],t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 3:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=l[t>>1],t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 4:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=f[t>>2],t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 5:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((0|(n=f[t>>2]))<0)break t;if(f[(c<<2)+i>>2]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if(b=1,(0|r)>(0|n))break r;break t;case 6:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(n=f[t>>2],-1!=(f[t+4>>2]-(n>>>0<2147483648)|0))break e;if(f[(c<<2)+i>>2]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 7:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(!(n=f[t+4>>2])&(d=f[t>>2])>>>0>2147483647|n)break e;if(f[(c<<2)+i>>2]=d,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 8:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<2)+i|0,k=A[t>>2],n=_(h(k))<_(2147483648)?~~k:-2147483648,f[d>>2]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 9:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<2)+i|0,m=p[t>>3],n=h(m)<2147483648?~~m:-2147483648,f[d>>2]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 10:break i;default:break t}if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)<=(0|n))break t}Ye((n<<2)+i|0,0,r-n<<2)}return b}return 0}function X(e,t,r,i){var n=0,s=0,c=0,b=0,d=0,h=_(0),k=0;e:{t:if(i){r:{i:switch(f[e+28>>2]-1|0){case 0:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=o[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 1:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 2:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=a[t>>1],t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 3:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=l[t>>1],t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 4:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=f[t>>2],t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 5:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=f[t>>2],t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 6:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(n=f[t>>2],f[t+4>>2])break e;if(f[(c<<2)+i>>2]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 7:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(n=f[t>>2],f[t+4>>2])break e;if(f[(c<<2)+i>>2]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 8:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<2)+i|0,n=(h=A[t>>2])<_(4294967296)&h>=_(0)?~~h>>>0:0,f[d>>2]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 9:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<2)+i|0,n=(k=p[t>>3])<4294967296&k>=0?~~k>>>0:0,f[d>>2]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 10:break i;default:break t}if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)<=(0|n))break t}Ye((n<<2)+i|0,0,r-n<<2)}return b}return 0}function H(e,t,r){var i,n=0,o=0,a=0,s=0,c=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;I=i=I+-64|0,f[i+48>>2]=0,f[i+40>>2]=0,f[i+44>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[i>>2]=0,f[i+4>>2]=0,s=t;e:{t:if(l[t+38>>1]&&Et(1,i+12|0,s)){if(p=f[i+12>>2],t=f[i>>2],p>>>0>(n=f[i+4>>2]-t>>2)>>>0?(st(i,p-n|0),p=f[i+12>>2]):n>>>0<=p>>>0||(f[i+4>>2]=t+(p<<2)),o=1,!p)break e;for(m=f[s+8>>2],y=f[s+12>>2],k=f[i>>2];;){if(o=0,(0|y)<=(0|(n=f[s+20>>2]))&m>>>0<=(b=f[s+16>>2])>>>0|(0|n)>(0|y))break e;_=f[s>>2],v=u[_+b|0],n=(t=b+1|0)?n:n+1|0,o=t,f[s+16>>2]=t,f[s+20>>2]=n,t=v>>>2|0,c=0;r:{i:{n:{o:switch(0|(h=3&v)){case 3:break o;case 0:break i;default:break n}if(o=0,(t=t+a|0)>>>0>=p>>>0)break e;Ye(k+(a<<2)|0,0,4+(252&v)|0),a=t;break r}for(;;){if((0|n)>=(0|y)&o>>>0>=m>>>0|(0|n)>(0|y))break t;if(b=u[o+_|0],n=(o=o+1|0)?n:n+1|0,f[s+16>>2]=o,f[s+20>>2]=n,t|=b<<(c<<3|6),(0|h)==(0|(c=c+1|0)))break}}f[k+(a<<2)>>2]=t}if(!((a=a+1|0)>>>0<(p=f[i+12>>2])>>>0))break}if(m=i+16|0,_=f[i>>2],o=f[i+16>>2],(t=(n=f[i+20>>2]-o|0)>>2)>>>0<=1048575?st(m,1048576-t|0):4194304!=(0|n)&&(f[i+20>>2]=o+4194304),a=f[(n=i+28|0)>>2],(t=f[i+32>>2]-a>>3)>>>0<p>>>0)ct(n,p-t|0),a=f[n>>2];else if(t>>>0>p>>>0&&(f[i+32>>2]=(p<<3)+a),!p)break t;for(c=0,n=0;;){if(b=f[(h=(c<<2)+_|0)>>2],t=n,f[4+(o=(c<<3)+a|0)>>2]=n,f[o>>2]=b,(n=(k=f[h>>2])+n|0)>>>0>1048576)break t;if(!(t>>>0>=n>>>0)){if(h=f[m>>2],b=0,o=7&k)for(;f[h+(t<<2)>>2]=c,t=t+1|0,(0|o)!=(0|(b=b+1|0)););if(!(k-1>>>0<=6))for(;f[(o=h+(t<<2)|0)>>2]=c,f[o+28>>2]=c,f[o+24>>2]=c,f[o+20>>2]=c,f[o+16>>2]=c,f[o+12>>2]=c,f[o+8>>2]=c,f[o+4>>2]=c,(0|n)!=(0|(t=t+8|0)););}if((0|p)==(0|(c=c+1|0)))break}A=1048576==(0|n)}o=A}e:if(!(!o|(f[i+12>>2]?0:e))&&dt(1,i+56|0,s)&&(b=(n=f[s+8>>2])-(t=f[s+16>>2])|0,a=f[i+60>>2],o=f[s+20>>2],!((0|a)==(0|(n=f[s+12>>2]-(o+(t>>>0>n>>>0)|0)|0))&b>>>0<(A=f[i+56>>2])>>>0|n>>>0<a>>>0||(n=o+a|0,n=(b=t+A|0)>>>0<t>>>0?n+1|0:n,f[s+16>>2]=b,f[s+20>>2]=n,(0|A)<=0)))){_=t+f[s>>2]|0,f[i+40>>2]=_;t:if((n=u[0|(o=_+(t=A-1|0)|0)])>>>0<=63)f[i+44>>2]=t,n=63&u[0|o];else{r:switch((n>>>6|0)-1|0){case 0:if(A>>>0<2)break e;t=A-2|0,f[i+44>>2]=t,n=u[1+(n=(A+_|0)-2|0)|0]<<8&16128|u[0|n];break t;case 1:if(A>>>0<3)break e;t=A-3|0,f[i+44>>2]=t,n=u[2+(n=(A+_|0)-3|0)|0]<<16&4128768|u[n+1|0]<<8|u[0|n];break t}t=A-4|0,f[i+44>>2]=t,n=u[2+(n=(A+_|0)-4|0)|0]<<16|u[n+3|0]<<24&1056964608|u[n+1|0]<<8|u[0|n]}if(a=n+4194304|0,f[i+48>>2]=a,!(a>>>0>1073741823))if(e)for(h=f[i+28>>2],n=0,b=f[i+16>>2];;){t:if(!(a>>>0>4194303))for(;;){if((0|t)<=0)break t;if(t=t-1|0,f[i+44>>2]=t,a=u[t+_|0]|a<<8,f[i+48>>2]=a,!(a>>>0<4194304))break}if(A=f[b+((o=1048575&a)<<2)>>2],a=(d(f[(s=h+(A<<3)|0)>>2],a>>>20|0)+o|0)-f[s+4>>2]|0,f[i+48>>2]=a,f[(n<<2)+r>>2]=A,g=1,(0|(n=n+1|0))==(0|e))break}else g=1}return(e=f[i+28>>2])&&(f[i+32>>2]=e,ee(e)),(e=f[i+16>>2])&&(f[i+20>>2]=e,ee(e)),(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),I=i- -64|0,g}function q(e,t){var r=0,i=0,n=0,a=0,s=0,c=0;if((a=((r=f[e+4>>2])-(i=f[e>>2])|0)/144|0)>>>0<t>>>0)if(i=e,(s=t-a|0)>>>0<=((r=f[e+8>>2])-(e=f[e+4>>2])|0)/144>>>0){if(s){for(t=d(s,144)+e|0;f[e>>2]=-1,kt(e+4|0),f[e+104>>2]=0,f[e+108>>2]=0,o[e+100|0]=1,f[e+112>>2]=0,f[e+116>>2]=0,f[e+120>>2]=0,f[e+124>>2]=0,f[e+128>>2]=0,f[e+132>>2]=0,f[e+136>>2]=0,f[e+140>>2]=0,(0|t)!=(0|(e=e+144|0)););e=t}f[i+4>>2]=e}else{e:{t:{r:{if((c=(a=((t=e)-(e=f[i>>2])|0)/144|0)+s|0)>>>0<29826162){if(e=(t=(r-e|0)/144|0)<<1,n=t>>>0<14913080?e>>>0<c>>>0?c:e:29826161){if(n>>>0>=29826162)break r;r=br(d(n,144))}else r=0;for(c=(t=r+d(a,144)|0)+d(s,144)|0,e=t;f[e>>2]=-1,kt(e+4|0),f[e+104>>2]=0,f[e+108>>2]=0,o[e+100|0]=1,f[e+112>>2]=0,f[e+116>>2]=0,f[e+120>>2]=0,f[e+124>>2]=0,f[e+128>>2]=0,f[e+132>>2]=0,f[e+136>>2]=0,f[e+140>>2]=0,(0|c)!=(0|(e=e+144|0)););if(a=r+d(n,144)|0,(0|(e=f[i+4>>2]))==(0|(n=f[i>>2])))break t;for(;e=e-144|0,f[(t=t-144|0)>>2]=f[e>>2],f[t+4>>2]=f[e+4>>2],f[t+8>>2]=f[e+8>>2],f[t+12>>2]=f[e+12>>2],f[e+12>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[t+16>>2]=f[e+16>>2],f[t+20>>2]=f[e+20>>2],f[t+24>>2]=f[e+24>>2],f[e+24>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,r=u[e+28|0],f[t+40>>2]=0,f[t+32>>2]=0,f[t+36>>2]=0,o[t+28|0]=r,f[t+32>>2]=f[e+32>>2],f[t+36>>2]=f[e+36>>2],f[t+40>>2]=f[e+40>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[t+52>>2]=0,f[t+44>>2]=0,f[t+48>>2]=0,f[t+44>>2]=f[e+44>>2],f[t+48>>2]=f[e+48>>2],f[t+52>>2]=f[e+52>>2],f[e+52>>2]=0,f[e+44>>2]=0,f[e+48>>2]=0,f[(r=t- -64|0)>>2]=0,f[t+56>>2]=0,f[t+60>>2]=0,f[t+56>>2]=f[e+56>>2],f[t+60>>2]=f[e+60>>2],s=r,r=e- -64|0,f[s>>2]=f[r>>2],f[r>>2]=0,f[e+56>>2]=0,f[e+60>>2]=0,f[t+68>>2]=f[e+68>>2],r=f[e+72>>2],f[t+84>>2]=0,f[t+76>>2]=0,f[t+80>>2]=0,f[t+72>>2]=r,f[t+76>>2]=f[e+76>>2],f[t+80>>2]=f[e+80>>2],f[t+84>>2]=f[e+84>>2],f[e+84>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[t+96>>2]=0,f[t+88>>2]=0,f[t+92>>2]=0,f[t+88>>2]=f[e+88>>2],f[t+92>>2]=f[e+92>>2],f[t+96>>2]=f[e+96>>2],f[e+96>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,r=u[e+100|0],f[t+112>>2]=0,f[t+104>>2]=0,f[t+108>>2]=0,o[t+100|0]=r,f[t+104>>2]=f[e+104>>2],f[t+108>>2]=f[e+108>>2],f[t+112>>2]=f[e+112>>2],f[e+112>>2]=0,f[e+104>>2]=0,f[e+108>>2]=0,f[t+124>>2]=0,f[t+116>>2]=0,f[t+120>>2]=0,f[t+116>>2]=f[e+116>>2],f[t+120>>2]=f[e+120>>2],f[t+124>>2]=f[e+124>>2],f[e+124>>2]=0,f[e+116>>2]=0,f[e+120>>2]=0,r=f[e+128>>2],f[t+140>>2]=0,f[t+132>>2]=0,f[t+136>>2]=0,f[t+128>>2]=r,f[t+132>>2]=f[e+132>>2],f[t+136>>2]=f[e+136>>2],f[t+140>>2]=f[e+140>>2],f[e+140>>2]=0,f[e+132>>2]=0,f[e+136>>2]=0,(0|e)!=(0|n););if(f[i+8>>2]=a,e=f[i+4>>2],f[i+4>>2]=c,n=f[i>>2],f[i>>2]=t,(0|e)==(0|n))break e;for(;(t=f[e-12>>2])&&(f[e-8>>2]=t,ee(t)),(t=f[e-28>>2])&&(f[e-24>>2]=t,ee(t)),(t=f[e-40>>2])&&(f[e-36>>2]=t,ee(t)),Gt(e-140|0),(0|n)!=(0|(e=e-144|0)););break e}ii(),E()}Lt(1326),E()}f[i+8>>2]=a,f[i+4>>2]=c,f[i>>2]=t}n&&ee(n)}else if(t>>>0<a>>>0){if((0|(i=i+d(t,144)|0))!=(0|r))for(;(t=f[r-12>>2])&&(f[r-8>>2]=t,ee(t)),(t=f[r-28>>2])&&(f[r-24>>2]=t,ee(t)),(t=f[r-40>>2])&&(f[r-36>>2]=t,ee(t)),Gt(r-140|0),(0|i)!=(0|(r=r-144|0)););f[e+4>>2]=i}}function $(e,t,r){t|=0,r|=0;var i,n=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,x=0;if(I=i=I-96|0,n=f[16+(e|=0)>>2],o[i+92|0]=1,f[i+88>>2]=t,f[i+84>>2]=t,f[i+80>>2]=n,-1!=(0|t)&&(d=f[e+20>>2],a=f[d>>2],!((n=f[f[n>>2]+(t<<2)>>2])>>>0>=f[d+4>>2]-a>>2>>>0))){n=f[f[e+8>>2]+(f[a+(n<<2)>>2]<<2)>>2],a=f[e+4>>2],u[a+84|0]||(n=f[f[a+68>>2]+(n<<2)>>2]),f[i+72>>2]=0,f[i+76>>2]=0,f[(d=i- -64|0)>>2]=0,f[d+4>>2]=0,f[i+56>>2]=0,f[i+60>>2]=0,P(a,n,o[a+24|0],i+56|0),d=((n=t+1|0)>>>0)%3|0?n:t-2|0,c=((t>>>0)%3|0?-1:2)+t|0;e:{t:{for(;;){if(a=d,n=c,f[e+28>>2]&&(a=((n=t+1|0)>>>0)%3|0?n:t-2|0,n=t-1|0,(t>>>0)%3|0||(n=t+2|0)),-1==(0|a))break e;if(A=f[e+20>>2],t=f[A>>2],(a=f[f[f[e+16>>2]>>2]+(a<<2)>>2])>>>0>=f[A+4>>2]-t>>2>>>0)break e;if(a=f[f[e+8>>2]+(f[(a<<2)+t>>2]<<2)>>2],t=f[e+4>>2],u[t+84|0]||(a=f[f[t+68>>2]+(a<<2)>>2]),f[i+48>>2]=0,f[i+52>>2]=0,f[i+40>>2]=0,f[i+44>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,P(t,a,o[t+24|0],i+32|0),-1==(0|n))break t;if(a=f[e+20>>2],t=f[a>>2],(n=f[f[f[e+16>>2]>>2]+(n<<2)>>2])>>>0>=f[a+4>>2]-t>>2>>>0)break t;if(a=f[f[e+8>>2]+(f[t+(n<<2)>>2]<<2)>>2],t=f[e+4>>2],u[t+84|0]||(a=f[f[t+68>>2]+(a<<2)>>2]),f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,P(t,a,o[t+24|0],i+8|0),a=(n=f[i+8>>2])-(t=f[i+56>>2])|0,A=f[i+60>>2],_=f[i+12>>2]-(A+(t>>>0>n>>>0)|0)|0,v=(l=f[i+40>>2])-(n=f[i+64>>2])|0,g=f[i+68>>2],w=Jt(a,_,v,l=f[i+44>>2]-(g+(n>>>0>l>>>0)|0)|0),s=s-(C+(b>>>0<w>>>0)|0)|0,B=T=b-w|0,n=Jt(w=(b=f[i+16>>2])-n|0,g=f[i+20>>2]-((n>>>0>b>>>0)+g|0)|0,T=(b=f[i+32>>2])-t|0,A=f[i+36>>2]-((t>>>0>b>>>0)+A|0)|0),t=C+s|0,s=t=n>>>0>(b=B+n|0)>>>0?t+1|0:t,B=h,k=_,_=(t=f[i+48>>2])-(n=f[i+72>>2])|0,h=f[i+76>>2],k=Jt(a,k,_,x=f[i+52>>2]-(h+(t>>>0<n>>>0)|0)|0),t=C+p|0,t=(a=B+k|0)>>>0<k>>>0?t+1|0:t,h=a-(p=Jt(k=(p=f[i+24>>2])-n|0,n=f[i+28>>2]-((n>>>0>p>>>0)+h|0)|0,T,A))|0,p=t-(C+(a>>>0<p>>>0)|0)|0,a=m-(t=Jt(w,g,_,x))|0,t=y-(C+(t>>>0>m>>>0)|0)|0,y=Jt(k,n,v,l),t=C+t|0,y=t=(m=y+a|0)>>>0<y>>>0?t+1|0:t,Fe(i+80|0),-1==(0|(t=f[i+88>>2])))break}a=(t=y>>31)+m|0,n=t,t=t+y|0,A=a^n,c=n^(a>>>0<n>>>0?t+1|0:t),_=-1,a=2147483647,l=t=p>>31,n=t+h|0,t=t+p|0,t=n>>>0<l>>>0?t+1|0:t,n^=l,l=t^=l,v=-1^n,t^=2147483647,d=s;r:{if(f[e+28>>2]){if(!((0|t)==(0|c)&A>>>0>v>>>0|t>>>0<c>>>0)&&(t=c+l|0,n=t=(e=n+A|0)>>>0<n>>>0?t+1|0:t,c=s,s=(t=s>>31)+b|0,l=c,c=t,t=l+t|0,t=s>>>0<c>>>0?t+1|0:t,s^=c,!((0|(c=2147483647^(t^=c)))==(0|n)&(-1^s)>>>0<e>>>0|n>>>0>c>>>0)&&(t=t+n|0,_=e=e+s|0,a=t=e>>>0<s>>>0?t+1|0:t,!t&e>>>0<536870913)))break r;t=a>>>29|0,e=(536870911&a)<<3|_>>>29}else{if((0|t)==(0|c)&A>>>0>v>>>0|t>>>0<c>>>0)break r;if(t=c+l|0,t=(e=n+A|0)>>>0<n>>>0?t+1|0:t,n=e,e=t,a=(t=s>>31)+b|0,c=s,s=t,t=c+t|0,c=a^s,s^=t=a>>>0<s>>>0?t+1|0:t,t=a=c+n|0,(s=!(0&(e=(0|(s^=2147483647))==(0|e)&(-1^c)>>>0<n>>>0|e>>>0>s>>>0)))&(0|(e=e?-1:t))<=536870912|(0|e)<536870912)break r;t=0,e=e>>>29|0}b=Yt(b,d,e,t),h=Yt(h,p,e,t),m=Yt(m,y,e,t)}return f[r+8>>2]=b,f[r+4>>2]=h,f[r>>2]=m,void(I=i+96|0)}ci(),E()}ci(),E()}ci(),E()}function K(e,t){e|=0;var r=0,i=0,n=0,o=0,a=0,s=0,c=0,u=0;if(!((0|(t|=0))<0||(i=f[e+12>>2])-(r=f[e+8>>2])>>2>>>0<=t>>>0)){o=f[(n=r+(t<<2)|0)>>2],c=f[o+60>>2],a=f[o+56>>2];e:{if((0|(r=n+4|0))!=(0|i)){for(;s=f[r>>2],f[r>>2]=0,f[n>>2]=s,o&&Zt(o),n=n+4|0,(0|(r=r+4|0))!=(0|i);)o=f[n>>2];if((0|n)==(0|(i=f[e+12>>2])))break e}for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&Zt(r),(0|i)!=(0|n););}f[e+12>>2]=n;e:if(!(!(o=f[e+4>>2])|(0|c)<0)&&(0|(i=f[o+24>>2]))!=(0|(r=f[o+28>>2])))for(;;){if((0|c)==f[f[i>>2]+24>>2]){t:{if((0|(n=i+4|0))!=(0|(c=f[o+28>>2]))){for(;s=f[n>>2],f[n>>2]=0,r=f[i>>2],f[i>>2]=s,r&&(rr(r+12|0,f[r+16>>2]),ur(r,f[r+4>>2]),ee(r)),i=i+4|0,(0|c)!=(0|(n=n+4|0)););if((0|(n=f[o+28>>2]))==(0|i))break t}for(;r=f[(n=n-4|0)>>2],f[n>>2]=0,r&&(rr(r+12|0,f[r+16>>2]),ur(r,f[r+4>>2]),ee(r)),(0|i)!=(0|n););}f[o+28>>2]=i;break e}if((0|r)==(0|(i=i+4|0)))break}e:if(!((0|a)>4)){t:if(n=d(a,12)+e|0,(0|(i=f[n+20>>2]))!=(0|(r=f[n+24>>2]))){for(;;){if(f[i>>2]==(0|t))break t;if((0|r)==(0|(i=i+4|0)))break}break e}(0|i)!=(0|r)&&((r=r-(o=i+4|0)|0)&&je(i,o,r),f[n+24>>2]=i+r)}if(n=f[e+20>>2],i=f[e+24>>2]-n|0){if(c=1&(o=(r=i>>2)>>>0>1?r:1),i=0,r>>>0>=2)for(o&=-2,r=0;(0|(u=f[(s=(a=i<<2)+n|0)>>2]))>(0|t)&&(f[s>>2]=u-1),(0|(s=f[(a=n+(4|a)|0)>>2]))>(0|t)&&(f[a>>2]=s-1),i=i+2|0,(0|o)!=(0|(r=r+2|0)););c&&((0|(r=f[(i=n+(i<<2)|0)>>2]))<=(0|t)||(f[i>>2]=r-1))}if(n=f[e+32>>2],i=f[e+36>>2]-n|0){if(c=1&(o=(r=i>>2)>>>0>1?r:1),i=0,r>>>0>=2)for(o&=-2,r=0;(0|(u=f[(s=(a=i<<2)+n|0)>>2]))>(0|t)&&(f[s>>2]=u-1),(0|(s=f[(a=n+(4|a)|0)>>2]))>(0|t)&&(f[a>>2]=s-1),i=i+2|0,(0|o)!=(0|(r=r+2|0)););c&&((0|(r=f[(i=n+(i<<2)|0)>>2]))<=(0|t)||(f[i>>2]=r-1))}if(n=f[e+44>>2],i=f[e+48>>2]-n|0){if(c=1&(o=(r=i>>2)>>>0>1?r:1),i=0,r>>>0>=2)for(o&=-2,r=0;(0|(u=f[(s=(a=i<<2)+n|0)>>2]))>(0|t)&&(f[s>>2]=u-1),(0|(s=f[(a=n+(4|a)|0)>>2]))>(0|t)&&(f[a>>2]=s-1),i=i+2|0,(0|o)!=(0|(r=r+2|0)););c&&((0|(r=f[(i=n+(i<<2)|0)>>2]))<=(0|t)||(f[i>>2]=r-1))}if(n=f[e+56>>2],i=f[e+60>>2]-n|0){if(c=1&(o=(r=i>>2)>>>0>1?r:1),i=0,r>>>0>=2)for(o&=-2,r=0;(0|(u=f[(s=(a=i<<2)+n|0)>>2]))>(0|t)&&(f[s>>2]=u-1),(0|(s=f[(a=n+(4|a)|0)>>2]))>(0|t)&&(f[a>>2]=s-1),i=i+2|0,(0|o)!=(0|(r=r+2|0)););c&&((0|(r=f[(i=n+(i<<2)|0)>>2]))<=(0|t)||(f[i>>2]=r-1))}if(i=(r=f[e+72>>2])-(e=f[e+68>>2])|0){if(o=1&(n=(r=i>>2)>>>0>1?r:1),i=0,r>>>0>=2)for(n&=-2,r=0;(0|(s=f[(a=(c=i<<2)+e|0)>>2]))>(0|t)&&(f[a>>2]=s-1),(0|(a=f[(c=e+(4|c)|0)>>2]))>(0|t)&&(f[c>>2]=a-1),i=i+2|0,(0|n)!=(0|(r=r+2|0)););o&&((0|(r=t))>=(0|(t=f[(e=e+(i<<2)|0)>>2]))||(f[e>>2]=t-1))}}}function ee(e){var t=0,r=0,i=0,n=0,o=0,a=0,s=0,c=0,u=0;e:if(e|=0){o=(i=e-8|0)+(e=-8&(t=f[e-4>>2]))|0;t:if(!(1&t)){if(!(3&t))break e;if((i=i-(t=f[i>>2])|0)>>>0<b[2885])break e;if(e=e+t|0,f[2886]==(0|i)){if(3==(3&(t=f[o+4>>2])))return f[2883]=e,f[o+4>>2]=-2&t,f[i+4>>2]=1|e,void(f[e+i>>2]=e)}else{if(t>>>0<=255){if(n=f[i+8>>2],t=t>>>3|0,(0|(r=f[i+12>>2]))==(0|n)){c=11524,u=f[2881]&xr(t),f[c>>2]=u;break t}f[n+12>>2]=r,f[r+8>>2]=n;break t}if(s=f[i+24>>2],(0|i)==(0|(t=f[i+12>>2])))if((r=f[(n=i+20|0)>>2])||(r=f[(n=i+16|0)>>2])){for(;a=n,(r=f[(n=(t=r)+20|0)>>2])||(n=t+16|0,r=f[t+16>>2]););f[a>>2]=0}else t=0;else r=f[i+8>>2],f[r+12>>2]=t,f[t+8>>2]=r;if(!s)break t;n=f[i+28>>2];r:{if(f[(r=11828+(n<<2)|0)>>2]==(0|i)){if(f[r>>2]=t,t)break r;c=11528,u=f[2882]&xr(n),f[c>>2]=u;break t}if(f[s+(f[s+16>>2]==(0|i)?16:20)>>2]=t,!t)break t}if(f[t+24>>2]=s,(r=f[i+16>>2])&&(f[t+16>>2]=r,f[r+24>>2]=t),!(r=f[i+20>>2]))break t;f[t+20>>2]=r,f[r+24>>2]=t}}if(!(i>>>0>=o>>>0)&&1&(t=f[o+4>>2])){t:{if(!(2&t)){if(f[2887]==(0|o)){if(f[2887]=i,e=f[2884]+e|0,f[2884]=e,f[i+4>>2]=1|e,f[2886]!=(0|i))break e;return f[2883]=0,void(f[2886]=0)}if(f[2886]==(0|o))return f[2886]=i,e=f[2883]+e|0,f[2883]=e,f[i+4>>2]=1|e,void(f[e+i>>2]=e);e=(-8&t)+e|0;r:if(t>>>0<=255){if(n=f[o+8>>2],t=t>>>3|0,(0|(r=f[o+12>>2]))==(0|n)){c=11524,u=f[2881]&xr(t),f[c>>2]=u;break r}f[n+12>>2]=r,f[r+8>>2]=n}else{if(s=f[o+24>>2],(0|o)==(0|(t=f[o+12>>2])))if((r=f[(n=o+20|0)>>2])||(r=f[(n=o+16|0)>>2])){for(;a=n,(r=f[(n=(t=r)+20|0)>>2])||(n=t+16|0,r=f[t+16>>2]););f[a>>2]=0}else t=0;else r=f[o+8>>2],f[r+12>>2]=t,f[t+8>>2]=r;if(s){n=f[o+28>>2];i:{if(f[(r=11828+(n<<2)|0)>>2]==(0|o)){if(f[r>>2]=t,t)break i;c=11528,u=f[2882]&xr(n),f[c>>2]=u;break r}if(f[s+(f[s+16>>2]==(0|o)?16:20)>>2]=t,!t)break r}f[t+24>>2]=s,(r=f[o+16>>2])&&(f[t+16>>2]=r,f[r+24>>2]=t),(r=f[o+20>>2])&&(f[t+20>>2]=r,f[r+24>>2]=t)}}if(f[i+4>>2]=1|e,f[e+i>>2]=e,f[2886]!=(0|i))break t;return void(f[2883]=e)}f[o+4>>2]=-2&t,f[i+4>>2]=1|e,f[e+i>>2]=e}if(e>>>0<=255)return t=11564+((e=e>>>3|0)<<3)|0,(r=f[2881])&(e=1<<e)?e=f[t+8>>2]:(f[2881]=e|r,e=t),f[t+8>>2]=i,f[e+12>>2]=i,f[i+12>>2]=t,void(f[i+8>>2]=e);n=31,f[i+16>>2]=0,f[i+20>>2]=0,e>>>0<=16777215&&(t=e>>>8|0,t<<=a=t+1048320>>>16&8,n=28+((t=((t<<=n=t+520192>>>16&4)<<(r=t+245760>>>16&2)>>>15|0)-(r|n|a)|0)<<1|e>>>t+21&1)|0),f[i+28>>2]=n,a=11828+(n<<2)|0;t:{r:{if((r=f[2882])&(t=1<<n)){for(n=e<<(31==(0|n)?0:25-(n>>>1|0)|0),t=f[a>>2];;){if(r=t,(-8&f[t+4>>2])==(0|e))break r;if(t=n>>>29|0,n<<=1,!(t=f[16+(a=r+(4&t)|0)>>2]))break}f[a+16>>2]=i,f[i+24>>2]=r}else f[2882]=t|r,f[a>>2]=i,f[i+24>>2]=a;f[i+12>>2]=i,f[i+8>>2]=i;break t}e=f[r+8>>2],f[e+12>>2]=i,f[r+8>>2]=i,f[i+24>>2]=0,f[i+12>>2]=r,f[i+8>>2]=e}e=f[2889]-1|0,f[2889]=e||-1}}}function te(e,t,r,i){var n,a=0,s=0,c=0,u=0,l=0,p=_(0),d=0,h=0,m=_(0);n=f[r>>2];e:{t:if(s=f[t+4>>2]){r:{if((c=Er(s))>>>0>=2){if((a=n)>>>0>=s>>>0&&(a=(n>>>0)%(s>>>0)|0),!(r=f[f[t>>2]+(a<<2)>>2]))break t;if(c>>>0<=1)break r;for(;;){if(!(r=f[r>>2]))break t;if((0|(c=f[r+4>>2]))!=(0|n)&&(s>>>0<=c>>>0&&(c=(c>>>0)%(s>>>0)|0),(0|a)!=(0|c)))break t;if(f[r+8>>2]==(0|n))break}t=0;break e}if(a=s-1&n,!(r=f[f[t>>2]+(a<<2)>>2]))break t}for(c=s-1|0;;){if(!(r=f[r>>2]))break t;if((0|(u=f[r+4>>2]))!=(0|n)&(c&u)!=(0|a))break t;if(f[r+8>>2]==(0|n))break}t=0;break e}if(r=br(16),i=f[f[i>>2]>>2],f[r+12>>2]=0,f[r+8>>2]=i,f[r+4>>2]=n,f[r>>2]=0,m=_(f[t+12>>2]+1>>>0),p=A[t+16>>2],!s||m>_(p*_(s>>>0))){c=0!=(s-1&s)|s>>>0<3|s<<1,a=2,1!=(0|(i=(i=(p=_(g(_(m/p))))<_(4294967296)&p>=_(0)?~~p>>>0:0)>>>0>c>>>0?i:c))&&(i&i-1?(a=F(i),s=f[t+4>>2]):a=i);t:{if(a>>>0<=s>>>0){if(a>>>0>=s>>>0)break t;if(c=s>>>0<3,i=(p=_(g(_(_(b[t+12>>2])/A[t+16>>2]))))<_(4294967296)&p>=_(0)?~~p>>>0:0,(a=(i=c||Er(s)>>>0>1?F(i):i>>>0<2?i:1<<32-k(i-1|0))>>>0>a>>>0?i:a)>>>0>=s>>>0)break t}s=0,u=a;r:{i:{n:{o:{if(a){if(u>>>0>=1073741824)break o;if(a=br(u<<2),i=f[t>>2],f[t>>2]=a,i&&ee(i),f[t+4>>2]=u,a=0,u-1>>>0>=3)for(c=-4&u;f[(i=a<<2)+f[t>>2]>>2]=0,f[f[t>>2]+(4|i)>>2]=0,f[f[t>>2]+(8|i)>>2]=0,f[f[t>>2]+(12|i)>>2]=0,a=a+4|0,(0|c)!=(0|(s=s+4|0)););if(i=3&u)for(;f[f[t>>2]+(a<<2)>>2]=0,a=a+1|0,(0|i)!=(0|(l=l+1|0)););if(!(s=f[t+8>>2]))break r;if(i=t+8|0,c=f[s+4>>2],(a=Er(u))>>>0<2)break n;if(c=c>>>0>=u>>>0?(c>>>0)%(u>>>0)|0:c,f[f[t>>2]+(c<<2)>>2]=i,!(i=f[s>>2]))break r;if(a>>>0<=1)break i;for(;;){if(u>>>0<=(l=f[i+4>>2])>>>0&&(l=(l>>>0)%(u>>>0)|0),(0|c)!=(0|l))if(a=i,h=(d=l<<2)+f[t>>2]|0,f[h>>2]){for(;l=a,a=f[a>>2],f[i+8>>2]==f[a+8>>2]&&a;);f[s>>2]=a,f[l>>2]=f[f[d+f[t>>2]>>2]>>2],f[f[d+f[t>>2]>>2]>>2]=i}else f[h>>2]=s,s=i,c=l;else s=i;if(!(i=f[s>>2]))break}break r}i=f[t>>2],f[t>>2]=0,i&&ee(i),f[t+4>>2]=0;break r}Lt(1326),E()}if(c&=u-1,f[f[t>>2]+(c<<2)>>2]=i,!(i=f[s>>2]))break r}for(d=u-1|0;;){if((0|(u=d&f[i+4>>2]))!=(0|c))if(a=i,h=(l=u<<2)+f[t>>2]|0,f[h>>2]){for(;u=a,a=f[a>>2],f[i+8>>2]==f[a+8>>2]&&a;);f[s>>2]=a,f[u>>2]=f[f[l+f[t>>2]>>2]>>2],f[f[l+f[t>>2]>>2]>>2]=i}else f[h>>2]=s,s=i,c=u;else s=i;if(!(i=f[s>>2]))break}}}a=(i=(s=f[t+4>>2])-1|0)&s?s>>>0>n>>>0?n:(n>>>0)%(s>>>0)|0:i&n}a=f[t>>2]+(a<<2)|0;t:if(i=f[a>>2])f[r>>2]=f[i>>2],f[i>>2]=r;else{if(f[r>>2]=f[t+8>>2],f[t+8>>2]=r,f[a>>2]=t+8,!(i=f[r>>2]))break t;i=f[i+4>>2],(a=s-1|0)&s?i>>>0<s>>>0||(i=(i>>>0)%(s>>>0)|0):i&=a,f[f[t>>2]+(i<<2)>>2]=r}f[t+12>>2]=f[t+12>>2]+1,t=1}o[e+4|0]=t,f[e>>2]=r}function re(e){var t=0,r=0,i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0;f[e+56>>2]=f[e+52>>2],f[e+44>>2]=f[e+40>>2];e:{t:{r:{if(n=f[e+64>>2],(0|(r=f[n+24>>2]))!=f[n+28>>2])for(;;){i=t;i:if(-1!=(0|(c=f[(l<<2)+r>>2]))){if((0|(t=f[e+56>>2]))==f[e+60>>2]){if((t=1+(a=(n=t-(r=f[e+52>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(o=n>>1,o=a>>>0<536870911?t>>>0>o>>>0?t:o:1073741823){if(o>>>0>=1073741824)break e;t=br(o<<2)}else t=0;f[(a=t+(a<<2)|0)>>2]=i,(0|n)>0&&ge(t,r,n),f[e+60>>2]=t+(o<<2),f[e+56>>2]=a+4,f[e+52>>2]=t,r&&ee(r)}else f[t>>2]=i,f[e+56>>2]=t+4;n:if(f[f[e+12>>2]+(l>>>3&536870908)>>2]>>>l&1&&-1!=(0|(t=((t=c+1|0)>>>0)%3|0?t:c-2|0))&&(n=f[e>>2],!(f[n+(t>>>3&536870908)>>2]>>>t&1)&&-1!=(0|(t=f[f[f[e+64>>2]+12>>2]+(t<<2)>>2]))&&-1!=(0|(r=((r=t+1|0)>>>0)%3|0?r:t-2|0))))for(o=f[e+64>>2];;){if(c=r,-1==(0|(t=((t=r+1|0)>>>0)%3|0?t:r-2|0))|f[n+(t>>>3&536870908)>>2]>>>t&1)break n;if(-1==(0|(t=f[f[o+12>>2]+(t<<2)>>2])))break n;if(-1==(0|(r=((r=t+1|0)>>>0)%3|0?r:t-2|0)))break}if(f[f[e+28>>2]+(c<<2)>>2]=i,(0|(t=f[e+44>>2]))==f[e+48>>2]){if((t=1+(a=(n=t-(r=f[e+40>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(o=n>>1,o=a>>>0<536870911?t>>>0>o>>>0?t:o:1073741823){if(o>>>0>=1073741824)break e;t=br(o<<2)}else t=0;f[(a=t+(a<<2)|0)>>2]=c,(0|n)>0&&ge(t,r,n),f[e+48>>2]=t+(o<<2),f[e+44>>2]=a+4,f[e+40>>2]=t,r&&ee(r)}else f[t>>2]=c,f[e+44>>2]=t+4;if(t=i+1|0,n=f[e+64>>2],(c>>>0)%3|0)r=c-1|0;else if(-1==(0|(r=c+2|0)))break i;if(-1!=(0|(r=f[f[n+12>>2]+(r<<2)>>2]))&&!(-1==(0|(r=r+((r>>>0)%3|0?-1:2)|0))|(0|r)==(0|c)))for(;;){if(n=((n=r+1|0)>>>0)%3|0?n:r-2|0,f[f[e>>2]+(n>>>3&536870908)>>2]>>>n&1){if((0|(i=f[e+56>>2]))==f[e+60>>2]){if((i=1+(s=(o=i-(n=f[e+52>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(a=o>>1,a=s>>>0<536870911?i>>>0>a>>>0?i:a:1073741823){if(a>>>0>=1073741824)break e;i=br(a<<2)}else i=0;f[(s=i+(s<<2)|0)>>2]=t,(0|o)>0&&ge(i,n,o),f[e+60>>2]=i+(a<<2),f[e+56>>2]=s+4,f[e+52>>2]=i,n&&ee(n)}else f[i>>2]=t,f[e+56>>2]=i+4;if(n=t+1|0,(0|(i=f[e+44>>2]))==f[e+48>>2]){if((i=1+(u=(a=i-(o=f[e+40>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(s=a>>1,s=u>>>0<536870911?i>>>0>s>>>0?i:s:1073741823){if(s>>>0>=1073741824)break e;i=br(s<<2)}else i=0;f[(u=i+(u<<2)|0)>>2]=r,(0|a)>0&&ge(i,o,a),f[e+48>>2]=i+(s<<2),f[e+44>>2]=u+4,f[e+40>>2]=i,o&&ee(o)}else f[i>>2]=r,f[e+44>>2]=i+4;i=t,t=n}if(f[f[e+28>>2]+(r<<2)>>2]=i,n=f[e+64>>2],(r>>>0)%3|0)r=r-1|0;else if(-1==(0|(r=r+2|0)))break i;if(-1==(0|(r=f[f[n+12>>2]+(r<<2)>>2])))break i;if(-1==(0|(r=r+((r>>>0)%3|0?-1:2)|0)))break i;if((0|r)==(0|c))break}}if(l=l+1|0,r=f[n+24>>2],!(l>>>0<f[n+28>>2]-r>>2>>>0))break}return}ii(),E()}ii(),E()}Lt(1326),E()}function ie(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0;if(-1==(0|t))return 1;if(r=(t>>>0)/3|0,!(f[f[e+24>>2]+(r>>>3&268435452)>>2]>>>r&1)){if(i=f[e+48>>2],f[e+52>>2]=i,(0|i)==f[e+56>>2]?(n=br(4),f[n>>2]=t,o=n+4|0,f[e+56>>2]=o,f[e+52>>2]=o,f[e+48>>2]=n,i&&ee(i)):(f[i>>2]=t,f[e+52>>2]=i+4),o=f[f[e+4>>2]+28>>2],-1==(0|(i=f[o+((n=((i=t+1|0)>>>0)%3|0?i:t-2|0)<<2)>>2])))return 0;if(a=(t-d(r,3)|0?-1:2)+t|0,-1==(0|(r=f[o+(a<<2)>>2])))return 0;if(t=f[e+36>>2],(s=f[(o=t+(i>>>3&536870908)|0)>>2])&(c=1<<i)||(f[o>>2]=s|c,xe(e+8|0,i,n),t=f[e+36>>2]),(i=f[(t=(r>>>3&536870908)+t|0)>>2])&(n=1<<r)||(f[t>>2]=i|n,xe(e+8|0,r,a)),(0|(r=f[e+52>>2]))==f[e+48>>2])return 1;for(l=e+8|0;;){i=((t=f[(r=r-4|0)>>2])>>>0)/3|0;e:{t:if(-1!=(0|t)&&(n=f[e+24>>2]+(i>>>3&268435452)|0,!((o=f[n>>2])&(i=1<<i)))){if(f[n>>2]=i|o,n=f[e+4>>2],-1==(0|(i=f[f[n+28>>2]+(t<<2)>>2])))return 0;for(;;){r=t;r:{if(o=f[e+36>>2]+(i>>>3&536870908)|0,!((a=f[o>>2])&(s=1<<i)))if(-1==(0|(t=f[f[n+40>>2]+(i<<2)>>2]))||-1==(0|(t=((c=t+1|0)>>>0)%3|0?c:t-2|0))|f[f[n>>2]+(t>>>3&536870908)>>2]>>>t&1||-1==(0|(t=f[f[f[n+64>>2]+12>>2]+(t<<2)>>2])))f[o>>2]=a|s,xe(l,i,r);else if(f[o>>2]=a|s,xe(l,i,r),-1!=(0|(((i=t+1|0)>>>0)%3|0?i:t-2|0))){t=-1,n=f[e+4>>2],-1!=(0|r)&&(-1==(0|(i=((i=r+1|0)>>>0)%3|0?i:r-2|0))|f[f[n>>2]+(i>>>3&536870908)>>2]>>>i&1||(t=f[f[f[n+64>>2]+12>>2]+(i<<2)>>2])),s=1<<(i=(t>>>0)/3|0),r=f[e+24>>2],o=f[r+((c=i>>>5|0)<<2)>>2];break r}i:{if(-1!=(0|r)){i=-1,t=((t=r+1|0)>>>0)%3|0?t:r-2|0,n=f[e+4>>2],-1==(0|t)|f[f[n>>2]+(t>>>3&536870908)>>2]>>>t&1||(i=f[f[f[n+64>>2]+12>>2]+(t<<2)>>2]);n:{if((r>>>0)%3|0)r=r-1|0;else if(t=-1,-1==(0|(r=r+2|0)))break n;t=-1,f[f[n>>2]+(r>>>3&536870908)>>2]>>>r&1||(t=f[f[f[n+64>>2]+12>>2]+(r<<2)>>2])}if(a=(u=-1==(0|t))?-1:(t>>>0)/3|0,o=(i>>>0)/3|0,!((s=-1==(0|i))||(r=f[e+24>>2],(o=f[r+((c=(s=s?-1:o)>>>5|0)<<2)>>2])&(s=1<<s))))break i;if(!(u||(s=1<<a,r=f[e+24>>2],s&(o=f[r+((c=a>>>5|0)<<2)>>2]))))break r}r=f[e+52>>2]-4|0,f[e+52>>2]=r;break e}if(u)t=i;else if(f[(a>>>3&536870908)+r>>2]>>>a&1)t=i;else{if(r=f[e+52>>2],f[r-4>>2]=t,(0|r)!=f[e+56>>2]){f[r>>2]=i,r=r+4|0;break t}i:{if((t=1+(r=(o=r-(n=f[e+48>>2])|0)>>2)|0)>>>0<1073741824){if(a=o>>1,a=r>>>0<536870911?t>>>0>a>>>0?t:a:1073741823){if(a>>>0>=1073741824)break i;t=br(a<<2)}else t=0;if(f[(r=t+(r<<2)|0)>>2]=i,r=r+4|0,(0|o)>0&&ge(t,n,o),f[e+56>>2]=t+(a<<2),f[e+52>>2]=r,f[e+48>>2]=t,!n)break e;ee(n),r=f[e+52>>2];break e}ii(),E()}Lt(1326),E()}}if(f[(c<<2)+r>>2]=o|s,-1==(0|(i=f[f[n+28>>2]+(t<<2)>>2])))break}return 0}f[e+52>>2]=r}if(f[e+48>>2]==(0|r))break}}return 1}function ne(e,t,r){var i,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0;i=d(t,12)+e|0,f[i+12>>2]=f[i+8>>2],b=-1==(0|r)?-1:(r>>>0)/3|0,p=1,u=r;e:{t:{r:{for(;;){i:{if(_=1&o){if(-1==(0|u))break i;if(-1==(0|ze(e,((u>>>0)%3|0?-1:2)+u|0)))break e;if(-1==(0|(n=((r=u+1|0)>>>0)%3|0?r:u-2|0)))break e;if(-1==(0|(r=((r=n+1|0)>>>0)%3|0?r:n-2|0)))break e;if(-1==(0|(n=f[f[f[e+4>>2]+12>>2]+(r<<2)>>2])))break e;if(-1==(0|(r=((r=n+1|0)>>>0)%3|0?r:n-2|0)))break e;b=(r>>>0)/3|0}if(l=1<<b,s=f[e+56>>2]+(b>>>3&536870908)|0,!(l&(A=f[s>>2]))){for(o=0;;){if(f[s>>2]=A|l,(0|(n=f[i+12>>2]))==f[i+16>>2]){if((c=1+(a=(l=n-(s=f[i+8>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(n=l>>1,A=a>>>0<536870911?n>>>0<c>>>0?c:n:1073741823){if(A>>>0>=1073741824)break t;n=br(A<<2)}else n=0;f[(c=n+(a<<2)|0)>>2]=b,(0|l)>0&&ge(n,s,l),f[i+8>>2]=n,f[i+12>>2]=c+4,f[i+16>>2]=n+(A<<2),s&&ee(s)}else f[n>>2]=b,f[i+12>>2]=n+4;c=o+1|0;n:{o:{if(o)if(1&c){if(-1==(0|r)){r=-1;break n}r=((n=r+1|0)>>>0)%3|0?n:r-2|0}else{if(u=_?r:u,-1==(0|r)){r=-1;break n}if((r>>>0)%3|0){o=r-1|0;break o}r=r+2|0}if(n=r,r=-1,o=n,-1==(0|n))break n}if(r=f[f[f[e+4>>2]+12>>2]+(o<<2)>>2],s=-1,A=-1,(0|(a=((n=o+1|0)>>>0)%3|0?n:o-2|0))>=0&&(n=(a>>>0)/3|0,A=f[(f[f[e>>2]+96>>2]+d(n,12)|0)+(a-d(n,3)<<2)>>2]),-1!=(0|r)?(l=0,(0|(a=((r>>>0)%3|0?-1:2)+r|0))<0||(n=(a>>>0)/3|0,s=f[(f[f[e>>2]+96>>2]+d(n,12)|0)+(a-d(n,3)<<2)>>2])):l=1,(0|s)==(0|A)){o:{a:{f:{s:{if((0|(o=((o>>>0)%3|0?-1:2)+o|0))>=0){if(n=(o>>>0)/3|0,s=f[(f[f[e>>2]+96>>2]+d(n,12)|0)+(o-d(n,3)<<2)>>2],o=-1,!l)break s;break f}if(s=-1,l)break a}(0|(o=((n=r+1|0)>>>0)%3|0?n:r-2|0))<0?o=-1:(n=(o>>>0)/3|0,o=f[(f[f[e>>2]+96>>2]+d(n,12)|0)+(o-d(n,3)<<2)>>2])}if((0|o)!=(0|s)){r=-1;break n}if(-1!=(0|r))break o;r=-1;break n}if(-1==(0|r)){r=-1;break n}}if(o=c,b=(r>>>0)/3|0,s=f[e+56>>2]+(b>>>3&268435452)|0,!((A=f[s>>2])&(l=1<<b)))continue}else r=-1}break}!_|!(1&c)||(a=f[i+12>>2]-4|0,c=f[a>>2],o=f[e+56>>2]+(c>>>3&536870908)|0,n=f[o>>2],h=o,k=xr(c)&n,f[h>>2]=k,f[i+12>>2]=a)}if(o=1,n=p,p=0,n)continue;break e}break}u=-1,ze(e,-1);break e}ii(),E()}Lt(1326),E()}if(f[44+((t<<2)+e|0)>>2]=u,a=f[i+8>>2],t=f[i+12>>2]-a|0){if(u=f[e+56>>2],c=1&(e=(t>>=2)>>>0>1?t:1),r=0,t>>>0>=2)for(p=-2&e,b=0;n=f[(o=r<<2)+a>>2],e=f[(t=u+(n>>>3&536870908)|0)>>2],h=t,k=xr(n)&e,f[h>>2]=k,n=f[a+(4|o)>>2],e=f[(t=u+(n>>>3&536870908)|0)>>2],h=t,k=xr(n)&e,f[h>>2]=k,r=r+2|0,(0|p)!=(0|(b=b+2|0)););c&&(r=f[a+(r<<2)>>2],e=f[(t=u+(r>>>3&536870908)|0)>>2],h=t,k=xr(r)&e,f[h>>2]=k)}}function oe(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0,u=0;if(-1==(0|t))return 1;if(i=(t>>>0)/3|0,!(f[f[e+24>>2]+(i>>>3&268435452)>>2]>>>i&1)){if(r=f[e+48>>2],f[e+52>>2]=r,(0|r)==f[e+56>>2]?(n=br(4),f[n>>2]=t,o=n+4|0,f[e+56>>2]=o,f[e+52>>2]=o,f[e+48>>2]=n,r&&ee(r)):(f[r>>2]=t,f[e+52>>2]=r+4),n=-1,o=f[e+4>>2],-1!=(0|(a=((r=t+1|0)>>>0)%3|0?r:t-2|0))&&(n=f[f[o>>2]+(a<<2)>>2]),s=t-d(i,3)|0)r=t-1|0;else if(-1==(0|(r=t+2|0)))return 0;if(-1==(0|n))return 0;if(-1==(0|(i=f[f[o>>2]+(r<<2)>>2])))return 0;if(r=f[e+36>>2],(c=f[(o=r+(n>>>3&536870908)|0)>>2])&(u=1<<n)||(f[o>>2]=c|u,xe(e+8|0,n,a),r=f[e+36>>2]),(n=f[(r=(i>>>3&536870908)+r|0)>>2])&(o=1<<i)||(f[r>>2]=n|o,xe(e+8|0,i,(s?-1:2)+t|0)),(0|(r=f[e+52>>2]))==f[e+48>>2])return 1;for(u=e+8|0;;){i=((t=f[(r=r-4|0)>>2])>>>0)/3|0;e:{t:if(-1!=(0|t)&&(n=f[e+24>>2]+(i>>>3&268435452)|0,!((o=f[n>>2])&(i=1<<i)))){for(f[n>>2]=i|o;;){if(i=f[e+4>>2],-1==(0|(r=f[f[i>>2]+(t<<2)>>2])))return 0;r:{if(n=f[e+36>>2]+(r>>>3&536870908)|0,!((o=f[n>>2])&(a=1<<r)))if(-1!=(0|(s=f[f[i+24>>2]+(r<<2)>>2]))&&-1!=(0|(s=((c=s+1|0)>>>0)%3|0?c:s-2|0))&&-1!=(0|(i=f[f[i+12>>2]+(s<<2)>>2]))){if(f[n>>2]=o|a,xe(u,r,t),-1!=(0|(((r=i+1|0)>>>0)%3|0?r:i-2|0))){i=t-2|0,r=t+1|0,t=-1,-1!=(0|(r=(r>>>0)%3|0?r:i))&&(t=f[f[f[e+4>>2]+12>>2]+(r<<2)>>2]),a=1<<(r=(t>>>0)/3|0),n=f[e+24>>2],i=f[n+((s=r>>>5|0)<<2)>>2];break r}}else f[n>>2]=o|a,xe(u,r,t);r=-1,o=f[e+4>>2],-1!=(0|(i=((i=t+1|0)>>>0)%3|0?i:t-2|0))&&(r=f[f[o+12>>2]+(i<<2)>>2]);i:{if((t>>>0)%3|0)n=t-1|0;else if(n=t+2|0,t=-1,-1==(0|n))break i;t=f[f[o+12>>2]+(n<<2)>>2]}if(o=(c=-1==(0|t))?-1:(t>>>0)/3|0,i=(r>>>0)/3|0,(a=-1==(0|r))||(n=f[e+24>>2],(i=f[n+((s=(a=a?-1:i)>>>5|0)<<2)>>2])&(a=1<<a))){if(!(c||(a=1<<o,n=f[e+24>>2],a&(i=f[n+((s=o>>>5|0)<<2)>>2]))))break r;r=f[e+52>>2]-4|0,f[e+52>>2]=r;break e}if(c)t=r;else if(f[(o>>>3&536870908)+n>>2]>>>o&1)t=r;else{if(i=f[e+52>>2],f[i-4>>2]=t,(0|i)!=f[e+56>>2]){f[i>>2]=r,r=i+4|0;break t}i:{if((t=1+(a=(n=(t=i)-(i=f[e+48>>2])|0)>>2)|0)>>>0<1073741824){if(o=n>>1,o=a>>>0<536870911?t>>>0>o>>>0?t:o:1073741823){if(o>>>0>=1073741824)break i;t=br(o<<2)}else t=0;if(f[(a=t+(a<<2)|0)>>2]=r,r=a+4|0,(0|n)>0&&ge(t,i,n),f[e+56>>2]=t+(o<<2),f[e+52>>2]=r,f[e+48>>2]=t,!i)break e;ee(i),r=f[e+52>>2];break e}ii(),E()}Lt(1326),E()}}if(f[(s<<2)+n>>2]=i|a,-1==(0|t))break}return 0}f[e+52>>2]=r}if(f[e+48>>2]==(0|r))break}}return 1}function ae(e,t,r){t|=0,r|=0;var i=0,n=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0;e:if(!((0|(h=0|_i[f[f[(e|=0)>>2]+44>>2]](e)))<=0)&&(n=f[t+4>>2]-f[t>>2]>>2,I=s=I+-64|0,i=qt(s),a=d(f[2549],h),cr(i,f[f[e+8>>2]+56>>2],h<<24>>24,5,0,a,a>>31),i=$e(a=br(96),i),o[i+84|0]=1,f[i+72>>2]=f[i+68>>2],He(i,n),f[i+60>>2]=f[f[e+8>>2]+60>>2],i=f[e+16>>2],f[e+16>>2]=a,i&&Zt(i),I=s- -64|0,s=f[e+16>>2],f[s+80>>2]&&(l=f[f[s>>2]>>2])&&!((0|(c=f[r+12>>2]))<=(0|(i=f[r+20>>2]))&(b=f[r+8>>2])>>>0<=(a=f[r+16>>2])>>>0|(0|i)>(0|c)))){A=d(n,h),l=l+f[s+48>>2]|0,p=f[r>>2],_=u[p+a|0],n=(s=a+1|0)?i:i+1|0,f[r+16>>2]=s,f[r+20>>2]=n;t:{r:{i:{if(_){if(D(A,h,r,l))break i;break e}if((0|n)>=(0|c)&s>>>0>=b>>>0|(0|n)>(0|c))break e;s=u[s+p|0],i=(n=a+2|0)>>>0<2?i+1|0:i,f[r+16>>2]=n,f[r+20>>2]=i,i=f[f[e+16>>2]+64>>2],i=f[i+4>>2]-f[i>>2]|0;n:{if((0|s)==f[2549]){if((n=i)>>>0<(i=A<<2)>>>0)break e;if(c=f[r+8>>2],s=f[r+12>>2],n=f[r+20>>2],(0|(n=(a=i+(b=f[r+16>>2])|0)>>>0<i>>>0?n+1|0:n))<=(0|s)&a>>>0<=c>>>0|(0|n)<(0|s))break n;break e}if(i>>>0<d(s,A)>>>0)break e;if(c=f[r+12>>2],n=f[r+20>>2],(a=p=f[r+8>>2])-(b=f[r+16>>2])>>>0<Jt(i=s,0,A,0)>>>0&(0|(a=c-(n+(a>>>0<b>>>0)|0)|0))<=(0|(_=C))|(0|a)<(0|_))break e;if(a=1,!A)break r;if(a=0,(_=p)>>>0<(p=i+b|0)>>>0&(0|(n=p>>>0<i>>>0?n+1|0:n))>=(0|c)|(0|n)>(0|c))break t;for(;;){if(ge(l+(k<<2)|0,b+f[r>>2]|0,s),n=f[r+20>>2],n=(c=i+f[r+16>>2]|0)>>>0<i>>>0?n+1|0:n,b=c,f[r+16>>2]=c,f[r+20>>2]=n,(0|A)==(0|(k=k+1|0)))break i;if(_=f[r+8>>2],!((0|(n=(p=i+b|0)>>>0<i>>>0?n+1|0:n))<=(0|(c=f[r+12>>2]))&p>>>0<=_>>>0|(0|n)<(0|c)))break}break t}ge(l,b+f[r>>2]|0,i),n=i,s=i+f[r+16>>2]|0,i=f[r+20>>2],f[r+16>>2]=s,f[r+20>>2]=n>>>0>s>>>0?i+1|0:i}if(a=1,A&&!((i=f[e+20>>2])&&(a=0,0|_i[f[f[i>>2]+32>>2]](i)))){if(i=0,a=0,!((0|A)<=0)){if(1!=(0|A))for(c=-2&A;s=f[(n=i<<2)+l>>2],f[n+l>>2]=0-(1&s)^s>>>1,n=f[(s=4|n)+l>>2],f[s+l>>2]=0-(1&n)^n>>>1,i=i+2|0,(0|c)!=(0|(a=a+2|0)););1&A&&(i=f[(n=i<<2)+l>>2],f[n+l>>2]=0-(1&i)^i>>>1)}a=0}}if(i=f[e+20>>2]){if(!(0|_i[f[f[i>>2]+40>>2]](i,r)))break e;if(!(a||(a=0,e=f[e+20>>2],0|_i[f[f[e>>2]+44>>2]](e,l,l,A,h,f[t>>2]))))break t}a=1}return 0|a}return 0}function fe(e,t){e|=0;var r,i=0,n=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0;I=r=I-32|0;e:{t:if(vt(1,r+28|0,t|=0))r:{if(n=f[r+28>>2]){if(Re(e+60|0,n),f[(i=r+8|0)>>2]=0,f[i+4>>2]=0,o[i+5|0]=0,o[i+6|0]=0,o[i+7|0]=0,o[i+8|0]=0,o[i+9|0]=0,o[i+10|0]=0,o[i+11|0]=0,o[i+12|0]=0,!Ie(i,t))break r;for(;s=1<<a,l=Wt(i),c=f[e+60>>2]+(a>>>3&536870908)|0,l?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|n)!=(0|(a=a+1|0)););}if(!vt(1,r+28|0,t))break t;if(n=f[r+28>>2]){if(a=0,Re(e+72|0,n),f[(i=r+8|0)>>2]=0,f[i+4>>2]=0,o[i+5|0]=0,o[i+6|0]=0,o[i+7|0]=0,o[i+8|0]=0,o[i+9|0]=0,o[i+10|0]=0,o[i+11|0]=0,o[i+12|0]=0,!Ie(i,t))break r;for(;s=1<<a,l=Wt(i),c=f[e+72>>2]+(a>>>3&536870908)|0,l?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|n)!=(0|(a=a+1|0)););}if(!vt(1,r+28|0,t))break t;if(n=f[r+28>>2]){if(a=0,Re(e+84|0,n),f[(i=r+8|0)>>2]=0,f[i+4>>2]=0,o[i+5|0]=0,o[i+6|0]=0,o[i+7|0]=0,o[i+8|0]=0,o[i+9|0]=0,o[i+10|0]=0,o[i+11|0]=0,o[i+12|0]=0,!Ie(i,t))break r;for(;s=1<<a,l=Wt(i),c=f[e+84>>2]+(a>>>3&536870908)|0,l?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|n)!=(0|(a=a+1|0)););}if(!vt(1,r+28|0,t))break t;if(n=f[r+28>>2]){if(a=0,Re(e+96|0,n),f[(i=r+8|0)>>2]=0,f[i+4>>2]=0,o[i+5|0]=0,o[i+6|0]=0,o[i+7|0]=0,o[i+8|0]=0,o[i+9|0]=0,o[i+10|0]=0,o[i+11|0]=0,o[i+12|0]=0,!Ie(i,t))break r;for(;s=1<<a,l=Wt(i),c=f[e+96>>2]+(a>>>3&536870908)|0,l?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|n)!=(0|(a=a+1|0)););}if(a=0,s=n=f[t+12>>2],c=i=f[t+20>>2],i=(b=(l=f[t+16>>2])+4|0)>>>0<4?i+1|0:i,(A=f[t+8>>2])>>>0<b>>>0&(0|i)>=(0|n)|(0|i)>(0|n))break e;if(p=f[t>>2],n=u[0|(n=p+l|0)]|u[n+1|0]<<8|u[n+2|0]<<16|u[n+3|0]<<24,f[t+16>>2]=b,f[t+20>>2]=i,i=c,l=c=l+8|0,c=i=c>>>0<8?i+1|0:i,l>>>0>A>>>0&(0|i)>=(0|s)|(0|i)>(0|s))break e;if(i=u[0|(i=b+p|0)]|u[i+1|0]<<8|u[i+2|0]<<16|u[i+3|0]<<24,f[t+16>>2]=l,f[t+20>>2]=c,(0|i)<(0|n))break e;if(f[e+16>>2]=i,f[e+12>>2]=n,!(t=(i>>31)-((n>>31)+(i>>>0<n>>>0)|0)|0)&(i=i-n|0)>>>0>2147483646|t)break e;if(a=1,t=i+1|0,f[e+20>>2]=t,i=t>>>1|0,f[e+24>>2]=i,f[e+28>>2]=0-i,1&t)break e;f[e+24>>2]=i-1;break e}a=0}return I=r+32|0,0|a}function se(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0,b=0,A=0,p=0,d=0,_=0,h=0;e:if(l[t+38>>1]&&Et(1,e+12|0,t)){if(o=f[e+12>>2],r=f[e>>2],o>>>0>(i=f[e+4>>2]-r>>2)>>>0?(st(e,o-i|0),o=f[e+12>>2]):i>>>0<=o>>>0||(f[e+4>>2]=r+(o<<2)),!o)return 1;for(b=f[t+8>>2],c=f[t+12>>2],p=f[e>>2];;){if((0|c)<=(0|(i=f[t+20>>2]))&b>>>0<=(r=f[t+16>>2])>>>0|(0|i)>(0|c))return 0;d=f[t>>2],A=u[d+r|0],i=(r=r+1|0)?i:i+1|0,s=r,f[t+16>>2]=r,f[t+20>>2]=i,r=A>>>2|0,n=0;t:{r:{i:{n:switch(0|(_=3&A)){case 3:break n;case 0:break r;default:break i}if((i=r+a|0)>>>0>=o>>>0)return 0;Ye(p+(a<<2)|0,0,4+(252&A)|0),a=i;break t}for(;;){if((0|i)>=(0|c)&s>>>0>=b>>>0|(0|i)>(0|c))break e;if(o=u[s+d|0],i=(s=s+1|0)?i:i+1|0,f[t+16>>2]=s,f[t+20>>2]=i,r|=o<<(n<<3|6),(0|_)==(0|(n=n+1|0)))break}}f[p+(a<<2)>>2]=r}if(!((o=f[e+12>>2])>>>0>(a=a+1|0)>>>0))break}if(i=e+16|0,A=f[e>>2],t=f[e+16>>2],(a=(r=f[e+20>>2]-t|0)>>2)>>>0<=4095?st(i,4096-a|0):16384!=(0|r)&&(f[e+20>>2]=t+16384),a=f[(t=e+28|0)>>2],(r=f[e+32>>2]-a>>3)>>>0<o>>>0)ct(t,o-r|0),a=f[t>>2];else if(r>>>0>o>>>0&&(f[e+32>>2]=(o<<3)+a),!o)break e;for(n=0,e=0;;){if(c=f[(t=A+(n<<2)|0)>>2],r=e,f[4+(s=(n<<3)+a|0)>>2]=e,f[s>>2]=c,(e=(c=f[t>>2])+e|0)>>>0>4096)break e;if(!(e>>>0<=r>>>0)){if(s=f[i>>2],t=0,b=7&c)for(;f[s+(r<<2)>>2]=n,r=r+1|0,(0|b)!=(0|(t=t+1|0)););if(!(c-1>>>0<=6))for(;f[(t=s+(r<<2)|0)>>2]=n,f[t+28>>2]=n,f[t+24>>2]=n,f[t+20>>2]=n,f[t+16>>2]=n,f[t+12>>2]=n,f[t+8>>2]=n,f[t+4>>2]=n,(0|(r=r+8|0))!=(0|e););}if((0|o)==(0|(n=n+1|0)))break}h=4096==(0|e)}return h}function ce(e,t,r){e|=0,t|=0,r|=0;var i,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0;I=i=I-16|0,f[i+8>>2]=r;e:if(!((0|(a=(o=f[e+12>>2])-(n=f[e+8>>2])>>2))>(0|t)))if((c=t+1|0)>>>0>a>>>0){if((a=c-a|0)>>>0<=(s=f[e+16>>2])-(n=f[e+12>>2])>>2>>>0){a&&(n=Ye(o=n,0,n=a<<2)+n|0),f[e+12>>2]=n;break e}t:{r:{i:{if((o=(l=n-(c=f[e+8>>2])>>2)+a|0)>>>0<1073741824){if(b=(s=s-c|0)>>1,s=s>>2>>>0<536870911?o>>>0>b>>>0?o:b:1073741823){if(s>>>0>=1073741824)break i;u=br(s<<2)}if(l=(a=Ye(o=(l<<2)+u|0,0,l=a<<2))+l|0,s=(s<<2)+u|0,(0|n)==(0|c))break r;for(;a=f[(n=n-4|0)>>2],f[n>>2]=0,f[(o=o-4|0)>>2]=a,(0|n)!=(0|c););if(f[e+16>>2]=s,a=f[e+12>>2],f[e+12>>2]=l,n=f[e+8>>2],f[e+8>>2]=o,(0|n)==(0|a))break t;for(;o=f[(a=a-4|0)>>2],f[a>>2]=0,o&&Zt(o),(0|n)!=(0|a););break t}ii(),E()}Lt(1326),E()}f[e+16>>2]=s,f[e+12>>2]=l,f[e+8>>2]=a}n&&ee(n)}else if(!(a>>>0<=c>>>0)){if((0|(n=n+(c<<2)|0))!=(0|o)){for(;r=f[(o=o-4|0)>>2],f[o>>2]=0,r&&Zt(r),(0|n)!=(0|o););r=f[i+8>>2]}f[e+12>>2]=n}e:{t:{if(!((0|(n=f[r+56>>2]))>4))if(o=d(n,12)+e|0,(0|(n=f[o+24>>2]))==f[o+28>>2]){if((n=1+(u=(c=n-(a=f[o+20>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(s=c>>1,s=u>>>0<536870911?n>>>0>s>>>0?n:s:1073741823){if(s>>>0>=1073741824)break e;n=br(s<<2)}else n=0;f[(u=n+(u<<2)|0)>>2]=t,(0|c)>0&&ge(n,a,c),f[o+20>>2]=n,f[o+24>>2]=u+4,f[o+28>>2]=n+(s<<2),a&&ee(a)}else f[n>>2]=t,f[o+24>>2]=n+4;return f[r+60>>2]=t,e=f[e+8>>2],f[i+8>>2]=0,e=f[(t=e+(t<<2)|0)>>2],f[t>>2]=r,e&&Zt(e),e=f[i+8>>2],f[i+8>>2]=0,e&&Zt(e),void(I=i+16|0)}ii(),E()}Lt(1326),E()}function ue(e,t){e|=0;var r,i=0,n=0,o=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0;if(I=r=I-80|0,wt(1,r+76|0,t|=0)&&(s=f[r+76>>2])&&!((n=Jt((n=f[t+8>>2])-(i=f[t+16>>2])|0,f[t+12>>2]-(f[t+20>>2]+(i>>>0>n>>>0)|0)|0,5,0))>>>0<s>>>0&(0|(i=C))<=0|(0|i)<0)){for(i=f[e+4>>2],(n=f[e+8>>2]-i>>2)>>>0<s>>>0?st(e+4|0,s-n|0):n>>>0<=s>>>0||(f[e+8>>2]=i+(s<<2)),y=e+16|0,l=f[e+32>>2],b=1;!((0|(i=o=f[t+12>>2]))<=(0|(n=f[t+20>>2]))&(k=f[t+8>>2])>>>0<=(p=f[t+16>>2])>>>0|(0|i)<(0|n)||(m=f[t>>2],h=u[m+p|0],i=n,i=(a=p+1|0)?i:i+1|0,f[t+16>>2]=a,f[t+20>>2]=i,(0|i)>=(0|o)&a>>>0>=k>>>0|(0|i)>(0|o)||(a=u[a+m|0],i=n,i=(c=p+2|0)>>>0<2?i+1|0:i,f[t+16>>2]=c,f[t+20>>2]=i,(0|i)>=(0|o)&c>>>0>=k>>>0|(0|i)>(0|o)||(c=u[c+m|0],i=n,i=(_=p+3|0)>>>0<3?i+1|0:i,f[t+16>>2]=_,f[t+20>>2]=i,(0|i)>=(0|o)&_>>>0>=k>>>0|(0|i)>(0|o)||(o=u[_+m|0],i=n,i=(n=p+4|0)>>>0<4?i+1|0:i,f[t+16>>2]=n,f[t+20>>2]=i,!c|(a-12&255)>>>0<245|h>>>0>4||(i=qt(r+8|0),_=c<<24>>24,o=0!=(0|o),n=(n=a-1|0)>>>0<=10?f[10180+(n<<2)>>2]:-1,cr(i,h,_,a,o,n=d(n,c),n>>31),!wt(1,r+4|0,t)||(a=f[r+4>>2],f[r+68>>2]=a,n=$e(br(96),i),_i[f[f[l>>2]+8>>2]](l,f[l+12>>2]-f[l+8>>2]>>2,n),n=(f[l+12>>2]-f[l+8>>2]>>2)-1|0,f[f[(h=n<<2)+f[l+8>>2]>>2]+60>>2]=a,f[f[e+4>>2]+(A<<2)>>2]=n,b=f[e+16>>2],(0|(i=f[e+20>>2]-b>>2))>(0|n)||(f[r>>2]=-1,(n=n+1|0)>>>0>i>>>0?(ve(y,n-i|0,r),b=f[y>>2]):i>>>0<=n>>>0||(f[e+20>>2]=(n<<2)+b)),f[b+h>>2]=A,b=(A=A+1|0)>>>0<s>>>0,(0|s)==(0|A)))))))););A=!b}return I=r+80|0,1&A}function le(e,t){var r,i,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0,A=0;I=r=I-16|0,f[r>>2]=t,c=-1,-1!=(0|t)?(n=t+1|0,f[r+4>>2]=(n>>>0)%3|0?n:t-2|0,c=(t>>>0)%3|0?t-1|0:t+2|0):f[r+4>>2]=-1,f[r+8>>2]=c,i=-1==(0|t)?-1:(t>>>0)/3|0;e:{t:{r:{i:{for(;;){n:if(-1!=(0|t)&&-1!=(0|(n=f[f[f[e+8>>2]+12>>2]+(t<<2)>>2]))){if(!((n>>>0)/3>>>0<i>>>0)&&(c=0,f[e+220>>2]!=f[e+216>>2]))for(;;){if(Wt(f[e+368>>2]+(c<<4)|0))if(s=f[e+216>>2]+d(c,144)|0,(n=f[s+136>>2])>>>0<(o=f[s+140>>2])>>>0)f[n>>2]=t,f[s+136>>2]=n+4;else{if((n=1+(a=(l=n-(u=f[s+132>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(b=a<<2,a=(o=o-u|0)>>1,o=o>>2>>>0<536870911?n>>>0>a>>>0?n:a:1073741823){if(o>>>0>=1073741824)break e;n=br(o<<2)}else n=0;f[(a=b+n|0)>>2]=t,(0|l)>0&&ge(n,u,l),f[s+132>>2]=n,f[s+136>>2]=a+4,f[s+140>>2]=n+(o<<2),u&&ee(u)}if(!((c=c+1|0)>>>0<(f[e+220>>2]-f[e+216>>2]|0)/144>>>0))break}}else{if(c=0,(0|(n=f[e+216>>2]))==f[e+220>>2])break n;for(;;){if(s=d(c,144)+n|0,(n=f[s+136>>2])>>>0<(o=f[s+140>>2])>>>0)f[n>>2]=t,f[s+136>>2]=n+4;else{if((n=1+(a=(l=n-(u=f[s+132>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(b=a<<2,a=(o=o-u|0)>>1,o=o>>2>>>0<536870911?n>>>0>a>>>0?n:a:1073741823){if(o>>>0>=1073741824)break r;n=br(o<<2)}else n=0;f[(a=b+n|0)>>2]=t,(0|l)>0&&ge(n,u,l),f[s+132>>2]=n,f[s+136>>2]=a+4,f[s+140>>2]=n+(o<<2),u&&ee(u)}if(c=c+1|0,n=f[e+216>>2],!(c>>>0<(f[e+220>>2]-n|0)/144>>>0))break}}if(3==(0|(A=A+1|0)))break;t=f[(A<<2)+r>>2]}return I=r+16|0,1}ii(),E()}Lt(1326),E()}ii(),E()}Lt(1326),E()}function be(e,t){var r,i=0,n=0,a=0,s=0,c=0,A=0,p=0,_=0,h=0,k=0;I=r=I-16|0,_=-1;e:{t:{r:if(Tt(1,r+12|0,t)){if(n=f[r+12>>2]){if(i=f[e+8>>2],n>>>0>(f[i+4>>2]-f[i>>2]>>2>>>0)/3>>>0)break r;for(;;){if(!Tt(1,r+8|0,t))break r;if(i=f[r+8>>2],!Tt(1,r+8|0,t))break r;if((s=i+s|0)>>>0<(i=f[r+8>>2])>>>0)break r;if(c=s-i|0,(0|(i=f[e+40>>2]))==f[e+44>>2]){if((a=1+(A=(0|(p=(a=i)-(i=f[e+36>>2])|0))/12|0)|0)>>>0>=357913942)break t;if(h=A<<1,(a=A>>>0<178956970?a>>>0>h>>>0?a:h:357913941)>>>0>=357913942)break e;A=(h=br(a=d(a,12)))+d(A,12)|0,f[A+4>>2]=s,f[A>>2]=c,c=A+d((0|p)/-12|0,12)|0,(0|p)>0&&ge(c,i,p),f[e+44>>2]=a+h,f[e+40>>2]=A+12,f[e+36>>2]=c,i&&ee(i)}else f[i+4>>2]=s,f[i>>2]=c,f[e+40>>2]=i+12;if((0|n)==(0|(k=k+1|0)))break}for(s=0,Kt(t,0,0),A=n>>>0>1?n:1;;){n=u[t+36|0];i:{n:{if((65535&((i=l[f[e+4>>2]+36>>1])<<8|i>>>8))>>>0<=513){if(!n)break i;if(c=0,(n=(p=(i=f[t+32>>2])>>>3|0)+(_=f[t+24>>2])|0)>>>0>=(a=f[t+28>>2])>>>0?n=i:(c=u[0|n],n=i+1|0,f[t+32>>2]=n,p=n>>>3|0,c=c>>>(7&i)&1),a>>>0>p+_>>>0)break n;break i}if(!n)break i;if(c=0,n=f[t+32>>2],(i=f[t+24>>2]+(n>>>3|0)|0)>>>0>=b[t+28>>2])break i;c=u[0|i]>>>(7&n)&1}f[t+32>>2]=n+1}if(n=f[e+36>>2]+d(s,12)|0,o[n+8|0]=254&u[n+8|0]|1&c,(0|A)==(0|(s=s+1|0)))break}o[t+36|0]=0,i=f[t+20>>2],e=0,n=(s=(e=(n=f[t+32>>2]+7|0)>>>0<7?1:e)<<29|n>>>3)+f[t+16>>2]|0,e=(e>>>3|0)+i|0,f[t+16>>2]=n,f[t+20>>2]=n>>>0<s>>>0?e+1|0:e}_=f[t+16>>2]}return I=r+16|0,_}ii(),E()}Lt(1326),E()}function Ae(e,t,r){var i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0;if(((n=f[e+8>>2])-(a=f[e+4>>2])|0)/12>>>0>=t>>>0){if(t){if(i=a,o=1+(((n=d(t,12)-12|0)>>>0)/12|0)&3)for(;u=f[r+4>>2],f[i>>2]=f[r>>2],f[i+4>>2]=u,f[i+8>>2]=f[r+8>>2],i=i+12|0,(0|o)!=(0|(s=s+1|0)););if(a=d(t,12)+a|0,!(n>>>0<36))for(;t=f[r+4>>2],f[i>>2]=f[r>>2],f[i+4>>2]=t,f[i+8>>2]=f[r+8>>2],f[i+20>>2]=f[r+8>>2],t=f[r+4>>2],f[i+12>>2]=f[r>>2],f[i+16>>2]=t,f[i+32>>2]=f[r+8>>2],t=f[r+4>>2],f[i+24>>2]=f[r>>2],f[i+28>>2]=t,t=f[r+4>>2],f[i+36>>2]=f[r>>2],f[i+40>>2]=t,f[i+44>>2]=f[r+8>>2],(0|a)!=(0|(i=i+48|0)););}f[e+4>>2]=a}else{e:{if((i=(c=(a-(o=f[e>>2])|0)/12|0)+t|0)>>>0<357913942){if(o=(n=(n-o|0)/12|0)<<1,o=n>>>0<178956970?i>>>0>o>>>0?i:o:357913941){if(o>>>0>=357913942)break e;u=br(d(o,12))}if(i=n=d(c,12)+u|0,l=1+(((c=(t=d(t,12))-12|0)>>>0)/12|0)&3)for(i=n;b=f[r+4>>2],f[i>>2]=f[r>>2],f[i+4>>2]=b,f[i+8>>2]=f[r+8>>2],i=i+12|0,(0|l)!=(0|(s=s+1|0)););if(s=t+n|0,c>>>0>=36)for(;t=f[r+4>>2],f[i>>2]=f[r>>2],f[i+4>>2]=t,f[i+8>>2]=f[r+8>>2],f[i+20>>2]=f[r+8>>2],t=f[r+4>>2],f[i+12>>2]=f[r>>2],f[i+16>>2]=t,f[i+32>>2]=f[r+8>>2],t=f[r+4>>2],f[i+24>>2]=f[r>>2],f[i+28>>2]=t,t=f[r+4>>2],f[i+36>>2]=f[r>>2],f[i+40>>2]=t,f[i+44>>2]=f[r+8>>2],(0|s)!=(0|(i=i+48|0)););return t=f[e>>2],i=n+d((0|(r=a-t|0))/-12|0,12)|0,(0|r)>0&&ge(i,t,r),f[e+8>>2]=d(o,12)+u,f[e+4>>2]=s,f[e>>2]=i,void(t&&ee(t))}ii(),E()}Lt(1326),E()}}function pe(e,t,r,i){var n,o,a=0,s=0,c=0,u=0,l=0,b=0;if(n=f[t+16>>2],a=c=f[r+4>>2]-n|0,s=f[r>>2]-n|0,f[r>>2]=s,f[r+4>>2]=a,o=(0|(b=f[t+16>>2]))>=((u=(a>>=31)+c^a)+((a=s>>31)+s^a)|0))a=c;else{e:{t:{if((0|s)>=0){if(l=1,u=1,(0|c)>=0)break e;if(a=1,l=-1,u=-1,s)break t;break e}if(a=-1,l=-1,u=-1,(0|c)<=0)break e}l=(0|c)<=0?-1:1,u=a}a=(a=s<<1)-(s=d(u,b))|0,a=(((u=(0|d(l,u))>=0)?0-a|0:a)+(l=d(l,b))|0)/2|0,f[r+4>>2]=a,b=s,s=(c<<1)-l|0,s=(b+(u?0-s|0:s)|0)/2|0,f[r>>2]=s}e:{t:{r:{i:{n:{o:{a:{if(s){if((0|s)<0)break a;if((0|a)>=0)break o;break r}if(a)break n;l=1,c=0,a=0,u=0;break e}if(l=1,(0|a)>0)break i;u=(0|a)>0?253:0,c=a,a=s;break e}c=0-a|0,a=0-s|0,u=254;break t}if((0|a)<=0)break r}a=0-a|0,c=s,u=253;break t}c=0-s|0,u=255}f[r>>2]=a,f[r+4>>2]=c,l=0}r=f[i+4>>2]+c|0,(0|(s=f[i>>2]+a|0))>(0|(c=f[t+16>>2]))?s=s-f[t+4>>2]|0:(0-c|0)<=(0|s)||(s=f[t+4>>2]+s|0),(0|r)>(0|c)?r=r-f[t+4>>2]|0:(0-c|0)<=(0|r)||(r=f[t+4>>2]+r|0);e:if(l)t=r;else{t=r;t:switch((3&u)-1|0){case 0:t=0-s|0,s=r;break e;case 1:t=0-r|0,s=0-s|0;break e;case 2:break t;default:break e}t=s,s=0-r|0}if(o)r=t;else{e:{t:{if((0|s)>=0){if(r=1,a=1,(0|t)>=0)break e;if(i=1,r=-1,a=-1,s)break t;break e}if(i=-1,r=-1,a=-1,(0|t)<=0)break e}r=(0|t)<=0?-1:1,a=i}i=(i=s<<1)-(s=d(a,c))|0,f[e>>2]=i,b=0-i|0,u=i,r=(((i=(0|d(r,a))>=0)?b:u)+(a=d(r,c))|0)/2|0,t=(t<<1)-a|0,s=(s+(i?0-t|0:t)|0)/2|0}f[e>>2]=s+n,f[e+4>>2]=r+n}function de(e,t,r,i){var n=0,a=0,s=0,c=0,l=0,b=0;if(!((0|(c=i-r|0))<=0)){e:{if((0|c)<=((a=f[e+8>>2])-(l=f[e+4>>2])|0)){if((0|(b=l-t|0))>=(0|c)){s=l,a=i;break e}if(s=l,(0|(a=r+b|0))!=(0|i))for(n=a;o[0|s]=u[0|n],s=s+1|0,(0|(n=n+1|0))!=(0|i););if(f[e+4>>2]=s,(0|b)>0)break e;return}if((0|(i=c+(l-(n=f[e>>2])|0)|0))>=0){if(b=(a=a-n|0)<<1,r=ge((s=t-n|0)+(i=(a=a>>>0<1073741823?i>>>0>b>>>0?i:b:2147483647)?br(a):0)|0,r,c),(0|s)>0&&ge(i,n,s),r=r+c|0,(0|t)!=(0|l)){if(s=(-1^t)+l|0,c=l-t&7)for(n=0;o[0|r]=u[0|t],r=r+1|0,t=t+1|0,(0|c)!=(0|(n=n+1|0)););if(s>>>0>=7)for(;o[0|r]=u[0|t],o[r+1|0]=u[t+1|0],o[r+2|0]=u[t+2|0],o[r+3|0]=u[t+3|0],o[r+4|0]=u[t+4|0],o[r+5|0]=u[t+5|0],o[r+6|0]=u[t+6|0],o[r+7|0]=u[t+7|0],r=r+8|0,(0|l)!=(0|(t=t+8|0)););n=f[e>>2]}return f[e+8>>2]=i+a,f[e+4>>2]=r,f[e>>2]=i,void(n&&ee(n))}ii(),E()}if(l>>>0>(i=(n=s)-c|0)>>>0)for(;o[0|n]=u[0|i],n=n+1|0,l>>>0>(i=i+1|0)>>>0;);if(f[e+4>>2]=n,(e=s-(t+c|0)|0)&&je(s-e|0,t,e),(0|r)!=(0|a)){if(e=(-1^r)+a|0,s=a-r&7)for(i=0,n=t;o[0|n]=u[0|r],n=n+1|0,r=r+1|0,(0|s)!=(0|(i=i+1|0)););else n=t;if(!(e>>>0<7))for(;o[0|n]=u[0|r],o[n+1|0]=u[r+1|0],o[n+2|0]=u[r+2|0],o[n+3|0]=u[r+3|0],o[n+4|0]=u[r+4|0],o[n+5|0]=u[r+5|0],o[n+6|0]=u[r+6|0],o[n+7|0]=u[r+7|0],n=n+8|0,(0|a)!=(0|(r=r+8|0)););}}}function _e(e,t,r,i){e|=0,r|=0,i|=0;var n,a=0,s=0,c=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0;I=n=I-16|0,l=f[80+(t|=0)>>2],e=o[r+24|0],a=d(l,e);e:{t:{if(!(5==(0|(t=f[r+28>>2]))|6==(0|t))|!u[r+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,e){if((0|e)<0)break t;c=br(t=e<<2),f[n>>2]=c,s=t+c|0,f[n+8>>2]=s,Ye(c,0,t),f[n+4>>2]=s}s=f[i>>2],(t=f[i+4>>2]-s>>2)>>>0<a>>>0?st(i,a-t|0):t>>>0<=a>>>0||(f[i+4>>2]=s+(a<<2));r:if(l)if(e){for(m=-4&e,h=3&e,y=e-1>>>0<3,t=1,a=0;;){if(L(r,u[r+84|0]?a:f[f[r+68>>2]+(a<<2)>>2],o[r+24|0],c)){if(k=f[i>>2],_=0,s=f[n>>2],e=0,t=0,!y)for(;p=e<<2,f[(A=(b<<2)+k|0)>>2]=f[s+p>>2],f[A+4>>2]=f[s+(4|p)>>2],f[A+8>>2]=f[s+(8|p)>>2],f[A+12>>2]=f[s+(12|p)>>2],e=e+4|0,b=b+4|0,(0|m)!=(0|(t=t+4|0)););if(h)for(;f[(b<<2)+k>>2]=f[s+(e<<2)>>2],e=e+1|0,b=b+1|0,(0|(_=_+1|0))!=(0|h););if(t=l>>>0>(a=a+1|0)>>>0,(0|a)!=(0|l))continue}break}c=f[n>>2]}else for(e=0,t=1;;){if(!L(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],c))break r;if(t=l>>>0>(e=e+1|0)>>>0,(0|e)==(0|l))break}else t=0;c&&ee(c),e=1^t}else{if(c=f[r+48>>2],l=f[f[r>>2]>>2],t=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,r=0,e=a<<2){if((0|e)<0)break t;b=(t=ge(r=br(e),c+l|0,e))+e|0,t=t+(e>>2<<2)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=t,f[i+4>>2]=b,f[i>>2]=r,e=1}I=n+16|0,e&=1;break e}ii(),E()}return 0|e}function he(e){var t,r=0,i=0,n=0,o=0;if(f[(e|=0)>>2]=8364,(r=f[196+(t=e+232|0)>>2])&&(f[t+200>>2]=r,ee(r)),i=f[t+184>>2]){if((0|i)==(0|(r=f[t+188>>2])))r=i;else{for(;(o=f[(n=r-12|0)>>2])&&(f[r-8>>2]=o,ee(o)),(0|i)!=(0|(r=n)););r=f[t+184>>2]}f[t+188>>2]=i,ee(r)}if((r=f[t+156>>2])&&(f[t+160>>2]=r,ee(r)),i=f[t+136>>2],f[t+136>>2]=0,i){if(r=f[(n=i-4|0)>>2])for(r=i+(r<<4)|0;(0|i)!=(0|(r=r-16|0)););ee(n)}if(i=f[e+216>>2]){if((0|i)==(0|(r=f[e+220>>2])))r=i;else{for(;(n=f[r-12>>2])&&(f[r-8>>2]=n,ee(n)),(n=f[r-28>>2])&&(f[r-24>>2]=n,ee(n)),(n=f[r-40>>2])&&(f[r-36>>2]=n,ee(n)),Gt(r-140|0),(0|i)!=(0|(r=r-144|0)););r=f[e+216>>2]}f[e+220>>2]=i,ee(r)}if((r=f[e+196>>2])&&(f[e+200>>2]=r,ee(r)),(r=f[e+184>>2])&&(f[e+188>>2]=r,ee(r)),(r=f[e+172>>2])&&(f[e+176>>2]=r,ee(r)),(r=f[e+160>>2])&&(f[e+164>>2]=r,ee(r)),r=f[e+144>>2])for(;i=f[r>>2],ee(r),r=i;);return r=f[e+136>>2],f[e+136>>2]=0,r&&ee(r),(r=f[e+120>>2])&&ee(r),(r=f[e+108>>2])&&ee(r),(r=f[e+96>>2])&&ee(r),(r=f[e+72>>2])&&(f[e+76>>2]=r,ee(r)),(r=f[e+60>>2])&&ee(r),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),(r=f[e+36>>2])&&(f[e+40>>2]=r,ee(r)),(r=f[e+24>>2])&&(f[e+28>>2]=r,ee(r)),(r=f[e+12>>2])&&(f[e+16>>2]=r,ee(r)),r=f[e+8>>2],f[e+8>>2]=0,r&&Mt(r),0|e}function ke(e,t){e|=0;var r,i=0,n=0,a=0,s=0,c=0,l=0,A=0,p=0,d=0;if(I=r=I-16|0,i=f[20+(t|=0)>>2],i=(c=(n=f[t+16>>2])+4|0)>>>0<4?i+1|0:i,!((0|(a=f[t+12>>2]))<=(0|i)&c>>>0>b[t+8>>2]|(0|i)>(0|a))&&(n=n+f[t>>2]|0,n=u[0|n]|u[n+1|0]<<8|u[n+2|0]<<16|u[n+3|0]<<24,f[t+16>>2]=c,f[t+20>>2]=i,!((0|n)<0)&&(Re(e+76|0,n),f[(i=r)>>2]=0,f[i+4>>2]=0,o[i+5|0]=0,o[i+6|0]=0,o[i+7|0]=0,o[i+8|0]=0,o[i+9|0]=0,o[i+10|0]=0,o[i+11|0]=0,o[i+12|0]=0,Ie(i,t)))){if(n)for(a=1;s=1<<l,A=Wt(i),c=f[e+76>>2]+(l>>>3&536870908)|0,1&(a^=A)?s=f[c>>2]&(-1^s):s|=f[c>>2],a^=1,f[c>>2]=s,(0|n)!=(0|(l=l+1|0)););l=0,c=n=f[t+12>>2],a=i=f[t+20>>2],i=(A=(s=f[t+16>>2])+4|0)>>>0<4?i+1|0:i,(p=f[t+8>>2])>>>0<A>>>0&(0|i)>=(0|n)|(0|i)>(0|n)||(d=f[t>>2],n=u[0|(n=d+s|0)]|u[n+1|0]<<8|u[n+2|0]<<16|u[n+3|0]<<24,f[t+16>>2]=A,f[t+20>>2]=i,i=a,s=a=s+8|0,a=i=a>>>0<8?i+1|0:i,s>>>0>p>>>0&(0|i)>=(0|c)|(0|i)>(0|c)||(i=u[0|(i=A+d|0)]|u[i+1|0]<<8|u[i+2|0]<<16|u[i+3|0]<<24,f[t+16>>2]=s,f[t+20>>2]=a,(0|i)<(0|n)||(f[e+16>>2]=i,f[e+12>>2]=n,!(t=(i>>31)-((n>>31)+(i>>>0<n>>>0)|0)|0)&(i=i-n|0)>>>0>2147483646|t||(l=1,t=i+1|0,f[e+20>>2]=t,i=t>>>1|0,f[e+24>>2]=i,f[e+28>>2]=0-i,1&t||(f[e+24>>2]=i-1)))))}return I=r+16|0,0|l}function me(e,t){var r=0,i=0,n=0,o=0,a=0;o=-1,i=-1,-1!=(0|t)&&(o=((i=t+1|0)>>>0)%3|0?i:t-2|0,i=t-1|0,(t>>>0)%3|0||(i=t+2|0));e:{t:{r:switch(f[e+168>>2]){case 0:case 1:n=f[e+148>>2],r=1,a=(t=f[e+156>>2])+((-1!=(0|o)?f[f[n>>2]+(o<<2)>>2]:-1)<<2)|0,f[a>>2]=f[a>>2]+1,t=((-1!=(0|i)?f[f[n>>2]+(i<<2)>>2]:-1)<<2)+t|0;break t;case 5:n=f[e+148>>2],r=-1,r=(-1!=(0|t)?f[f[n>>2]+(t<<2)>>2]:r)<<2,t=f[e+156>>2],f[(r=r+t|0)>>2]=f[r>>2]+1,r=((-1!=(0|o)?f[f[n>>2]+(o<<2)>>2]:-1)<<2)+t|0,f[r>>2]=f[r>>2]+1,r=2,t=((-1!=(0|i)?f[f[n>>2]+(i<<2)>>2]:-1)<<2)+t|0;break t;case 3:n=f[e+148>>2],r=-1,r=(-1!=(0|t)?f[f[n>>2]+(t<<2)>>2]:r)<<2,t=f[e+156>>2],f[(r=r+t|0)>>2]=f[r>>2]+1,r=((-1!=(0|o)?f[f[n>>2]+(o<<2)>>2]:-1)<<2)+t|0,f[r>>2]=f[r>>2]+2,r=1,t=((-1!=(0|i)?f[f[n>>2]+(i<<2)>>2]:-1)<<2)+t|0;break t;case 7:break r;default:break e}n=f[e+148>>2],r=-1,r=(-1!=(0|t)?f[f[n>>2]+(t<<2)>>2]:r)<<2,t=f[e+156>>2],f[(r=r+t|0)>>2]=f[r>>2]+2,r=((-1!=(0|o)?f[f[n>>2]+(o<<2)>>2]:-1)<<2)+t|0,f[r>>2]=f[r>>2]+2,r=2,t=((-1!=(0|i)?f[f[n>>2]+(i<<2)>>2]:-1)<<2)+t|0}f[t>>2]=f[t>>2]+r}r=e,i=f[e+180>>2],t=f[f[e+156>>2]+((-1!=(0|o)?f[f[f[e+148>>2]>>2]+(o<<2)>>2]:-1)<<2)>>2],e=f[e+176>>2],f[r+172>>2]=(0|e)>(0|t)?0:((0|t)>(0|i)?i:t)-e|0}function ye(e,t,r){var i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0;if((i=f[e+8>>2])-(n=f[e>>2])>>2>>>0>=t>>>0){if(o=t>>>0>(s=(a=f[e+4>>2])-n>>2)>>>0?s:t){if(l=o-1|0,c=7&o)for(i=n;f[i>>2]=f[r>>2],o=o-1|0,i=i+4|0,(0|(u=u+1|0))!=(0|c););else i=n;if(!(l>>>0<7))for(;f[i>>2]=f[r>>2],f[i+4>>2]=f[r>>2],f[i+8>>2]=f[r>>2],f[i+12>>2]=f[r>>2],f[i+16>>2]=f[r>>2],f[i+20>>2]=f[r>>2],f[i+24>>2]=f[r>>2],f[i+28>>2]=f[r>>2],i=i+32|0,o=o-8|0;);}if(t>>>0>s>>>0){if(i=e,e=t-s|0)for(e=(e<<2)+a|0;f[a>>2]=f[r>>2],(0|e)!=(0|(a=a+4|0)););else e=a;return void(f[i+4>>2]=e)}f[e+4>>2]=n+(t<<2)}else if(n&&(f[e+4>>2]=n,ee(n),f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,i=0),t>>>0>=1073741824||(n=i>>1,(i=i>>2>>>0<536870911?t>>>0>n>>>0?t:n:1073741823)>>>0>=1073741824))ii(),E();else{if(n=br(i<<=2),f[e>>2]=n,f[e+8>>2]=i+n,r=f[r>>2],i=n,s=1+((a=(t<<=2)-4|0)>>>2|0)&7)for(;f[i>>2]=r,i=i+4|0,(0|s)!=(0|(o=o+1|0)););if(t=t+n|0,a>>>0>=28)for(;f[i+28>>2]=r,f[i+24>>2]=r,f[i+20>>2]=r,f[i+16>>2]=r,f[i+12>>2]=r,f[i+8>>2]=r,f[i+4>>2]=r,f[i>>2]=r,(0|t)!=(0|(i=i+32|0)););f[e+4>>2]=t}}function ve(e,t,r){var i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0;if((o=f[e+8>>2])-(n=f[e+4>>2])>>2>>>0>=t>>>0){if(t){if(i=n,s=1+((a=(t<<2)-4|0)>>>2|0)&7)for(;f[i>>2]=f[r>>2],i=i+4|0,(0|s)!=(0|(c=c+1|0)););if(n=(t<<2)+n|0,!(a>>>0<28))for(;f[i>>2]=f[r>>2],f[i+4>>2]=f[r>>2],f[i+8>>2]=f[r>>2],f[i+12>>2]=f[r>>2],f[i+16>>2]=f[r>>2],f[i+20>>2]=f[r>>2],f[i+24>>2]=f[r>>2],f[i+28>>2]=f[r>>2],(0|n)!=(0|(i=i+32|0)););}f[e+4>>2]=n}else{e:{if((i=(n=(l=n-(a=f[e>>2])|0)>>2)+t|0)>>>0<1073741824){if(u=(o=o-a|0)>>1,o=o>>2>>>0<536870911?i>>>0>u>>>0?i:u:1073741823){if(o>>>0>=1073741824)break e;s=br(o<<2)}if(i=n=(n<<2)+s|0,b=1+((u=(t<<=2)-4|0)>>>2|0)&7)for(i=n;f[i>>2]=f[r>>2],i=i+4|0,(0|b)!=(0|(c=c+1|0)););if(t=t+n|0,u>>>0>=28)for(;f[i>>2]=f[r>>2],f[i+4>>2]=f[r>>2],f[i+8>>2]=f[r>>2],f[i+12>>2]=f[r>>2],f[i+16>>2]=f[r>>2],f[i+20>>2]=f[r>>2],f[i+24>>2]=f[r>>2],f[i+28>>2]=f[r>>2],(0|t)!=(0|(i=i+32|0)););return(0|l)>0&&ge(s,a,l),f[e+8>>2]=(o<<2)+s,f[e+4>>2]=t,f[e>>2]=s,void(a&&ee(a))}ii(),E()}Lt(1326),E()}}function ge(e,t,r){var i,n=0,a=0;if(r>>>0>=512)return B(0|e,0|t,0|r),e;i=e+r|0;e:if(3&(e^t))if(i>>>0<4)r=e;else if((n=i-4|0)>>>0<e>>>0)r=e;else for(r=e;o[0|r]=u[0|t],o[r+1|0]=u[t+1|0],o[r+2|0]=u[t+2|0],o[r+3|0]=u[t+3|0],t=t+4|0,n>>>0>=(r=r+4|0)>>>0;);else{t:if(3&e)if(r)for(r=e;;){if(o[0|r]=u[0|t],t=t+1|0,!(3&(r=r+1|0)))break t;if(!(r>>>0<i>>>0))break}else r=e;else r=e;if(!((n=-4&i)>>>0<64||(a=n+-64|0)>>>0<r>>>0))for(;f[r>>2]=f[t>>2],f[r+4>>2]=f[t+4>>2],f[r+8>>2]=f[t+8>>2],f[r+12>>2]=f[t+12>>2],f[r+16>>2]=f[t+16>>2],f[r+20>>2]=f[t+20>>2],f[r+24>>2]=f[t+24>>2],f[r+28>>2]=f[t+28>>2],f[r+32>>2]=f[t+32>>2],f[r+36>>2]=f[t+36>>2],f[r+40>>2]=f[t+40>>2],f[r+44>>2]=f[t+44>>2],f[r+48>>2]=f[t+48>>2],f[r+52>>2]=f[t+52>>2],f[r+56>>2]=f[t+56>>2],f[r+60>>2]=f[t+60>>2],t=t- -64|0,a>>>0>=(r=r- -64|0)>>>0;);if(r>>>0>=n>>>0)break e;for(;f[r>>2]=f[t>>2],t=t+4|0,n>>>0>(r=r+4|0)>>>0;);}if(r>>>0<i>>>0)for(;o[0|r]=u[0|t],t=t+1|0,(0|i)!=(0|(r=r+1|0)););return e}function we(e){var t,r=0,i=0,n=0;if(f[(e|=0)>>2]=8312,t=f[e+368>>2],f[e+368>>2]=0,t){if(r=f[(n=t-4|0)>>2])for(i=(r<<4)+t|0;(0|t)!=(0|(i=i-16|0)););ee(n)}if(n=f[e+216>>2]){if((0|n)==(0|(i=f[e+220>>2])))r=n;else{for(;(r=f[i-12>>2])&&(f[i-8>>2]=r,ee(r)),(r=f[i-28>>2])&&(f[i-24>>2]=r,ee(r)),(r=f[i-40>>2])&&(f[i-36>>2]=r,ee(r)),Gt(i-140|0),(0|n)!=(0|(i=i-144|0)););r=f[e+216>>2]}f[e+220>>2]=n,ee(r)}if((r=f[e+196>>2])&&(f[e+200>>2]=r,ee(r)),(r=f[e+184>>2])&&(f[e+188>>2]=r,ee(r)),(r=f[e+172>>2])&&(f[e+176>>2]=r,ee(r)),(r=f[e+160>>2])&&(f[e+164>>2]=r,ee(r)),i=f[e+144>>2])for(;r=f[i>>2],ee(i),i=r,r;);return r=f[e+136>>2],f[e+136>>2]=0,r&&ee(r),(r=f[e+120>>2])&&ee(r),(r=f[e+108>>2])&&ee(r),(r=f[e+96>>2])&&ee(r),(r=f[e+72>>2])&&(f[e+76>>2]=r,ee(r)),(r=f[e+60>>2])&&ee(r),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),(r=f[e+36>>2])&&(f[e+40>>2]=r,ee(r)),(r=f[e+24>>2])&&(f[e+28>>2]=r,ee(r)),(r=f[e+12>>2])&&(f[e+16>>2]=r,ee(r)),r=f[e+8>>2],f[e+8>>2]=0,r&&Mt(r),0|e}function Ee(e,t,r,i){var n,o=0,a=0,f=0,s=0,c=0,u=0,l=0,b=0;n=r;e:{t:{r:{i:{n:{o:{a:{f:{s:{c:{u:{if(t){if(!n)break u;if(!i)break c;if((r=k(i)-k(t)|0)>>>0<=31)break s;break r}if(1==(0|i)|i>>>0>1)break r;e=(e>>>0)/(n>>>0)|0,C=0;break e}if(!e)break f;if(!i)break a;if(i-1&i)break a;e=t>>>Cr(i)|0,C=0;break e}if(!(n-1&n))break o;o=0-(f=(k(n)+33|0)-k(t)|0)|0;break i}f=r+1|0,o=63-r|0;break i}e=(t>>>0)/(i>>>0)|0,C=0;break e}if((r=k(i)-k(t)|0)>>>0<31)break n;break r}if(1==(0|n))break t;i=31&(r=Cr(n)),(63&r)>>>0>=32?(r=0,e=t>>>i|0):(r=t>>>i|0,e=((1<<i)-1&t)<<32-i|e>>>i),C=r;break e}f=r+1|0,o=63-r|0}if(a=31&(r=63&f),r>>>0>=32?(r=0,c=t>>>a|0):(r=t>>>a|0,c=((1<<a)-1&t)<<32-a|e>>>a),a=r,o=31&(r=63&o),r>>>0>=32?(r=e<<o,e=0):(r=(1<<o)-1&e>>>32-o|t<<o,e<<=o),t=r,f)for(r=i-1|0,l=-1!=(0|(o=n-1|0))?r+1|0:r;c=(r=c<<1|t>>>31)-(u=n&(s=l-((a=a<<1|c>>>31)+(r>>>0>o>>>0)|0)>>31))|0,a=a-((i&s)+(r>>>0<u>>>0)|0)|0,t=t<<1|e>>>31,e=b|e<<1,b=s&=1,f=f-1|0;);C=t<<1|e>>>31,e=s|e<<1;break e}e=0,t=0}C=t}return e}function Te(e,t){var r=0,i=0,n=0;r=(0|e)==(0|t),o[t+12|0]=r;e:if(!r)for(;;){if(i=f[t+8>>2],u[i+12|0])break e;t:{if(r=f[i+8>>2],(0|i)!=(0|(n=f[r>>2]))){if(!(u[n+12|0]|!n))break t;f[i>>2]==(0|t)?(e=f[t+4>>2],f[i>>2]=e,e&&(f[e+8>>2]=i,r=f[i+8>>2]),f[t+8>>2]=r,e=f[i+8>>2],f[(((0|i)!=f[e>>2])<<2)+e>>2]=t,f[t+4>>2]=i,f[i+8>>2]=t,r=f[t+8>>2]):t=i,o[t+12|0]=1,o[r+12|0]=0,e=f[r+4>>2],t=f[e>>2],f[r+4>>2]=t,t&&(f[t+8>>2]=r),f[e+8>>2]=f[r+8>>2],t=f[r+8>>2],f[((f[t>>2]!=(0|r))<<2)+t>>2]=e,f[e>>2]=r,t=r+8|0}else{if(!(!(n=f[r+4>>2])|u[n+12|0]))break t;f[i>>2]!=(0|t)?(t=f[i+4>>2],e=f[t>>2],f[i+4>>2]=e,e&&(f[e+8>>2]=i,r=f[i+8>>2]),f[t+8>>2]=r,e=f[i+8>>2],f[(((0|i)!=f[e>>2])<<2)+e>>2]=t,f[t>>2]=i,f[i+8>>2]=t,r=f[t+8>>2]):t=i,o[t+12|0]=1,o[r+12|0]=0,e=f[r>>2],t=f[e+4>>2],f[r>>2]=t,t&&(f[t+8>>2]=r),f[e+8>>2]=f[r+8>>2],t=f[r+8>>2],f[((f[t>>2]!=(0|r))<<2)+t>>2]=e,f[e+4>>2]=r,t=r+8|0}f[t>>2]=e;break e}if(o[i+12|0]=1,i=(0|e)==(0|r),o[r+12|0]=i,o[n+12|0]=1,t=r,i)break}}function Be(e,t,r){e|=0,t|=0,r|=0;var i,n=0,a=0,s=0,c=0,u=0,l=_(0),b=0,p=0,d=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,E=0;if(I=i=I-16|0,9==f[r+28>>2]){n=f[e+4>>2],a=(c=o[r+24|0])<<2,s=br((1073741823&c)!=(0|c)?-1:a),f[(p=i+8|0)>>2]=1065353216,l=A[e+20>>2],(0|(n=-1<<n^-1))>0&&(A[p>>2]=l/_(0|n));e:if((k=(0|n)>0)&&(b=f[r+80>>2]))if(n=0,(0|c)<=0){if(1!=(0|b))for(e=-2&b,t=0;ge(f[f[r+64>>2]>>2]+n|0,s,a),ge((n=n+a|0)+f[f[r+64>>2]>>2]|0,s,a),n=n+a|0,(0|e)!=(0|(t=t+2|0)););if(!(1&b))break e;ge(f[f[r+64>>2]>>2]+n|0,s,a)}else for(m=f[f[t>>2]>>2]+f[t+48>>2]|0,w=-2&c,E=1&c;;){if(d=f[e+8>>2],l=A[p>>2],t=0,h=0,1!=(0|c))for(;y=(n<<2)+m|0,A[(u=t<<2)+s>>2]=_(l*_(f[y>>2]))+A[u+d>>2],A[(u|=4)+s>>2]=_(l*_(f[y+4>>2]))+A[u+d>>2],t=t+2|0,n=n+2|0,(0|w)!=(0|(h=h+2|0)););if(E&&(A[(t<<=2)+s>>2]=_(l*_(f[(n<<2)+m>>2]))+A[t+d>>2],n=n+1|0),ge(f[f[r+64>>2]>>2]+v|0,s,a),v=a+v|0,(0|(g=g+1|0))==(0|b))break}ee(s)}return I=i+16|0,0|k}function xe(e,t,r){var i=0,n=0,o=0,a=0,s=0,c=0,u=0;i=(r>>>0)/3|0,a=f[(f[f[e+8>>2]+96>>2]+d(i,12)|0)+(r-d(i,3)<<2)>>2],n=f[f[e+12>>2]+4>>2];e:if((0|(i=f[n+4>>2]))==f[n+8>>2]){t:{if((i=1+(u=(c=i-(s=f[n>>2])|0)>>2)|0)>>>0<1073741824){if(o=c>>1,o=u>>>0<536870911?i>>>0>o>>>0?i:o:1073741823){if(o>>>0>=1073741824)break t;i=br(o<<2)}else i=0;f[(u=i+(u<<2)|0)>>2]=a,(0|c)>0&&ge(i,s,c),f[n+8>>2]=i+(o<<2),f[n+4>>2]=u+4,f[n>>2]=i,s&&ee(s);break e}ii(),E()}Lt(1326),E()}else f[i>>2]=a,f[n+4>>2]=i+4;n=f[e+4>>2];e:{t:{if((0|(i=f[n+4>>2]))==f[n+8>>2]){if((i=1+(a=(c=i-(s=f[n>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(o=c>>1,o=a>>>0<536870911?i>>>0>o>>>0?i:o:1073741823){if(o>>>0>=1073741824)break e;i=br(o<<2)}else i=0;f[(a=i+(a<<2)|0)>>2]=r,(0|c)>0&&ge(i,s,c),f[n+8>>2]=i+(o<<2),f[n+4>>2]=a+4,f[n>>2]=i,s&&ee(s)}else f[i>>2]=r,f[n+4>>2]=i+4;return e=f[e+4>>2],f[f[e+12>>2]+(t<<2)>>2]=f[e+24>>2],void(f[e+24>>2]=f[e+24>>2]+1)}ii(),E()}Lt(1326),E()}function Re(e,t){var r,i=0,n=0,o=0,a=0,s=0,c=0;I=r=I-16|0;e:{t:if((n=f[e+4>>2])>>>0<t>>>0){if((o=t-n|0)>>>0>(i=(s=f[e+8>>2])<<5)>>>0|n>>>0>i-o>>>0){if(f[r+8>>2]=0,f[r>>2]=0,f[r+4>>2]=0,(0|t)<0)break e;i>>>0<=1073741822?(i=t+31&-32,t=(t=s<<6)>>>0<i>>>0?i:t):t=2147483647,at(r,t),n=f[e+4>>2],f[r+4>>2]=n+o,c=f[e>>2],t=f[r>>2],(0|n)<=0||(t=je(t,c,s=(i=n>>>5|0)<<2)+s|0,(0|(a=n-(i<<5)|0))<=0?a=0:(i=-1>>>32-a|0,f[t>>2]=f[t>>2]&(-1^i)|i&f[c+s>>2]),c=f[e>>2]),f[e>>2]=f[r>>2],f[r>>2]=c,i=f[e+4>>2],f[e+4>>2]=f[r+4>>2],f[r+4>>2]=i,i=f[e+8>>2],f[e+8>>2]=f[r+8>>2],f[r+8>>2]=i,c&&ee(c)}else f[e+4>>2]=t,a=31&n,t=f[e>>2]+(n>>>3&536870908)|0;if(!o)break t;if(a&&(e=(i=32-a|0)>>>0>o>>>0?o:i,f[t>>2]=f[t>>2]&(-1<<a&-1>>>i-e^-1),o=o-e|0,t=t+4|0),e=Ye(t,0,i=o>>>5<<2),!(t=31&o))break t;f[(e=e+i|0)>>2]=f[e>>2]&(-1>>>32-t^-1)}else f[e+4>>2]=t;return void(I=r+16|0)}ii(),E()}function Ne(e,t){var r=0,i=0,n=0,a=0,s=0,c=0,l=0,A=0;if((i=u[e+11|0]>>>7|0?f[e+4>>2]:u[e+11|0])>>>0<t>>>0)return I=c=I-16|0,(a=t-i|0)&&(l=(s=(t=u[e+11|0]>>>7|0)?f[e+4>>2]:u[e+11|0])+a|0,(t=t?(2147483647&f[e+8>>2])-1|0:10)-s>>>0<a>>>0&&(I=i=I-16|0,(r=l-t|0)>>>0<=-17-t>>>0?(A=u[e+11|0]>>>7|0?f[e>>2]:e,t>>>0<2147483623?(f[i+8>>2]=t<<1,f[i+12>>2]=t+r,I=r=I-16|0,I=r+16|0,r=i+8|0,r=(r=f[(b[(n=i+12|0)>>2]<b[r>>2]?r:n)>>2])>>>0>=11?11==(0|(r=(n=r+16&-16)-1|0))?n:r:10):r=-18,r=br(n=r+1|0),s&&Lr(r,A,s),10!=(0|t)&&ee(A),f[e>>2]=r,f[e+8>>2]=-2147483648|n,I=i+16|0):(oi(),E())),i=s+(t=u[e+11|0]>>>7|0?f[e>>2]:e)|0,a&&Ye(i,0,a),u[e+11|0]>>>7|0?f[e+4>>2]=l:o[e+11|0]=l,o[c+15|0]=0,o[t+l|0]=u[c+15|0]),void(I=c+16|0);I=i=I-16|0,u[e+11|0]>>>7|0?(a=f[e>>2],o[i+15|0]=0,o[t+a|0]=u[i+15|0],f[e+4>>2]=t):(o[i+14|0]=0,o[e+t|0]=u[i+14|0],o[e+11|0]=t),I=i+16|0}function Ie(e,t){var r,i=0,n=0,a=0,s=0,c=0,l=0,A=0,p=0,d=0;I=r=I-16|0;e:if(!((0|(a=f[t+20>>2]))>=(0|(i=f[t+12>>2]))&(n=f[t+16>>2])>>>0>=b[t+8>>2]|(0|i)<(0|a))&&(o[e+12|0]=u[n+f[t>>2]|0],a=f[t+20>>2],a=(i=f[t+16>>2]+1|0)?a:a+1|0,f[t+16>>2]=i,f[t+20>>2]=a,function e(t,r,i){var n=0,o=0,a=0,s=0,c=0;t:if(!(t>>>0>5||(a=f[i+20>>2],n=a,s=f[i+12>>2],o=f[i+16>>2],(0|n)>=(0|s)&o>>>0>=b[i+8>>2]|(0|n)>(0|s)))){if(n=u[o+f[i>>2]|0],a=(o=o+1|0)?a:a+1|0,f[i+16>>2]=o,f[i+20>>2]=a,128&n){if(!e(t+1|0,r,i))break t;n=127&n|f[r>>2]<<7}f[r>>2]=n,c=1}return c}(1,r+12|0,t)&&(n=(a=f[t+8>>2])-(i=c=f[t+16>>2])|0,i=i>>>0>a>>>0,a=f[t+20>>2],!((0|(s=f[t+12>>2]-(i+a|0)|0))<=0&n>>>0<(i=f[r+12>>2])>>>0|(0|s)<0|(0|i)<=0)))){n=c+f[t>>2]|0,f[e>>2]=n,p=e;t:if((A=u[0|(l=(s=i-1|0)+n|0)])>>>0<=63)f[e+4>>2]=s,e=63&u[0|l];else{r:switch((A>>>6|0)-1|0){case 0:if(i>>>0<2)break e;f[e+4>>2]=i-2,e=u[1+(n=(i+n|0)-2|0)|0]<<8&16128|u[0|n];break t;case 1:break r;default:break e}if(i>>>0<3)break e;f[e+4>>2]=i-3,e=u[2+(n=(i+n|0)-3|0)|0]<<16&4128768|u[n+1|0]<<8|u[0|n]}e=e+4096|0,f[p+8>>2]=e,e>>>0>1048575||(e=a,e=(n=i+c|0)>>>0<i>>>0?e+1|0:e,f[t+16>>2]=n,f[t+20>>2]=e,d=1)}return I=r+16|0,d}function Ce(e,t,r){t|=0,r|=0;var i=0,n=0,a=0,s=0,c=0,l=0,A=0;return(i=(a=f[12+(e|=0)>>2])-(c=f[e+8>>2])>>2)>>>0<(t=o[t+24|0])>>>0?(st(e+8|0,t-i|0),c=f[e+8>>2],a=f[e+12>>2]):t>>>0>=i>>>0||(a=(t<<2)+c|0,f[e+12>>2]=a),t=0,l=f[r+20>>2],a=i=a-c|0,s=(n=f[r+16>>2])+i|0,A=f[r+12>>2],l=i>>>0>s>>>0?l+1|0:l,s>>>0>b[r+8>>2]&(0|A)<=(0|l)|(0|l)>(0|A)||(ge(c,n+f[r>>2]|0,i),i=f[r+20>>2],i=(n=a+f[r+16>>2]|0)>>>0<a>>>0?i+1|0:i,s=n,f[r+16>>2]=n,f[r+20>>2]=i,n=f[r+12>>2],i=(a=s+4|0)>>>0<4?i+1|0:i,a>>>0>b[r+8>>2]&(0|i)>=(0|n)|(0|i)>(0|n)||(i=s+f[r>>2]|0,f[e+20>>2]=u[0|i]|u[i+1|0]<<8|u[i+2|0]<<16|u[i+3|0]<<24,i=f[r+20>>2],a=(n=(s=f[r+16>>2])+4|0)>>>0<4?i+1|0:i,A=n,f[r+16>>2]=n,f[r+20>>2]=a,(0|a)>=(0|(n=f[r+12>>2]))&A>>>0>=b[r+8>>2]|(0|a)>(0|n)||(n=u[A+f[r>>2]|0],i=(a=s+5|0)>>>0<5?i+1|0:i,f[r+16>>2]=a,f[r+20>>2]=i,n-1>>>0>29||(f[e+4>>2]=n,t=1)))),0|t}function De(e,t){var r,i=0,n=0,a=0,s=0,c=0;I=r=I-16|0;e:{t:{if(t){if(f[e+88>>2]=0,f[e+92>>2]=0,i=f[e+84>>2],f[e+84>>2]=0,i&&ee(i),f[e+76>>2]=0,f[e+80>>2]=0,i=f[e+72>>2],f[e+72>>2]=0,i&&ee(i),i=f[t>>2],n=f[t+4>>2],o[r+15|0]=0,Je(e,n-i>>2,r+15|0),i=f[t+28>>2],n=f[t+24>>2],o[r+14|0]=0,Je(e+12|0,i-n>>2,r+14|0),ye(e+28|0,f[t+4>>2]-f[t>>2]>>2,10316),a=(n=f[t+28>>2]-f[t+24>>2]|0)>>2,i=f[e+52>>2],!(a>>>0<=f[e+60>>2]-i>>2>>>0)){if((0|n)<0)break t;s=f[e+56>>2],c=(n=br(n))+(a<<2)|0,s=(a=s-i|0)+n|0,(0|a)>0&&ge(n,i,a),f[e+60>>2]=c,f[e+56>>2]=s,f[e+52>>2]=n,i&&ee(i)}if(a=(n=f[t+28>>2]-f[t+24>>2]|0)>>2,i=f[e+40>>2],!(a>>>0<=f[e+48>>2]-i>>2>>>0)){if((0|n)<0)break e;s=f[e+44>>2],c=(n=br(n))+(a<<2)|0,s=(a=s-i|0)+n|0,(0|a)>0&&ge(n,i,a),f[e+48>>2]=c,f[e+44>>2]=s,f[e+40>>2]=n,i&&ee(i)}o[e+24|0]=1,f[e+64>>2]=t}return void(I=r+16|0)}Lt(1326),E()}Lt(1326),E()}function Me(e,t,r){e|=0,t|=0,r|=0;var i=0,n=_(0),a=_(0),l=_(0),b=_(0),A=_(0),p=0,d=_(0),k=_(0),m=_(0),v=_(0),g=0;if(!(9!=f[r+28>>2]|3!=u[r+24|0])&&!((e=f[e+4>>2])-31>>>0<4294967267)&&(g=1,p=f[r+80>>2]))for(d=_(_(2)/_((1<<e)-2|0)),r=f[f[r>>2]>>2]+f[r+48>>2]|0,e=f[f[t>>2]>>2]+f[t+48>>2]|0,t=0;l=_(0),k=_(0),m=_(0),n=_(_(_(f[e>>2])*d)+_(-1)),a=_(_(_(f[e+4>>2])*d)+_(-1)),A=_(_(_(1)-_(h(n)))-_(h(a))),b=_(y(_(-A),_(0))),v=_(-b),a=_(a+(a<_(0)?b:v)),n=_(n+(n<_(0)?b:v)),+(b=_(_(a*a)+_(_(A*A)+_(n*n))))<1e-6||(l=_(_(1)/_(w(b))),m=_(a*l),k=_(n*l),l=_(A*l)),e=e+8|0,s(m),i=c(2),o[r+8|0]=i,o[r+9|0]=i>>>8,o[r+10|0]=i>>>16,o[r+11|0]=i>>>24,s(k),i=c(2),o[r+4|0]=i,o[r+5|0]=i>>>8,o[r+6|0]=i>>>16,o[r+7|0]=i>>>24,s(l),i=c(2),o[0|r]=i,o[r+1|0]=i>>>8,o[r+2|0]=i>>>16,o[r+3|0]=i>>>24,r=r+12|0,(0|p)!=(0|(t=t+1|0)););return 0|g}function Ge(e,t,r,i){var n,o=0,a=0,s=0,c=0,u=0,l=0,b=0,p=0;u=+A[t>>2],l=+A[t+4>>2],b=+A[t+8>>2],(s=h(u)+h(l)+h(b))>1e-6?(l*=s=1/s,u*=s,o=s*b<0):(u=1,l=0,o=0),n=f[e+16>>2],s=v(u*(b=+(0|n))+.5),c=(a=(p=h(s)<2147483648?~~s:-2147483648)>>31)+p^a,s=v(l*b+.5),c=(0|(t=n-(c+((a=h(s)<2147483648?~~s:-2147483648)+(t=a>>31)^t)|0)|0))<0?0:t,o=o?0-c|0:c,a=a+(t>>31&((0|a)>0?t:0-t|0))|0,(0|p)>=0?(t=o+n|0,e=f[e+8>>2],o=a+n|0):(t=a>>31,t^=t+a,e=f[e+8>>2],t=(0|o)<0?t:e-t|0,o=(0|a)<0?c:e-c|0),t|o&&(0|e)!=(0|t)|o&&t|(a=(0|e)!=(0|o))?(0|t)<=(0|n)|o?(0|t)>=(0|n)|a?(0|e)!=(0|t)|(0|o)>=(0|n)?t?e=o:(t=0,e=(0|o)<=(0|n)?o:(n<<1)-o|0):(t=e,e=(n<<1)-o|0):t=(n<<1)-t|0:(t=(n<<1)-t|0,e=0):t=e,f[r>>2]=e,f[i>>2]=t}function Ue(e,t){var r,i,n,a=0,s=0,c=0;i=f[e>>2],f[(a=i+(t>>>3&536870908)|0)>>2]=f[a>>2]|1<<t,r=f[e+64>>2],s=-1,(c=-1==(0|t))||(s=-1,-1!=(0|(a=((a=t+1|0)>>>0)%3|0?a:t-2|0))&&(s=f[f[r>>2]+(a<<2)>>2])),a=f[e+12>>2],f[(n=(s>>>3&536870908)+a|0)>>2]=f[n>>2]|1<<s;e:{if(c)e=a+536870908|0,t=f[a+536870908>>2],a=-2147483648;else{t:{if((t>>>0)%3|0)c=t-1|0;else if(s=-1,-1==(0|(c=t+2|0)))break t;s=f[f[r>>2]+(c<<2)>>2]}if(f[(c=(s>>>3&536870908)+a|0)>>2]=f[c>>2]|1<<s,s=-1,-1==(0|(t=f[f[r+12>>2]+(t<<2)>>2])))break e;o[e+24|0]=0,f[(e=(t>>>3&536870908)+i|0)>>2]=f[e>>2]|1<<t,-1!=(0|(e=((e=t+1|0)>>>0)%3|0?e:t-2|0))&&(s=f[f[r>>2]+(e<<2)>>2]),f[(e=a+(s>>>3&536870908)|0)>>2]=f[e>>2]|1<<s;t:{if((t>>>0)%3|0)t=t-1|0;else if(e=-1,-1==(0|(t=t+2|0)))break t;e=f[f[r>>2]+(t<<2)>>2]}t=1<<e,a=f[(e=a+(e>>>3&536870908)|0)>>2]}f[e>>2]=t|a}}function Ve(e,t){var r=0,i=0;r=f[t+8>>2],f[e+4>>2]=f[t+4>>2],f[e+8>>2]=r,f[e+20>>2]=f[t+20>>2],r=f[t+16>>2],f[e+12>>2]=f[t+12>>2],f[e+16>>2]=r;e:{t:{if((0|e)!=(0|t)){if(r=f[t+28>>2]){if(f[e+32>>2]<<5>>>0>=r>>>0)i=f[e+24>>2];else{if((i=f[e+24>>2])&&(ee(i),f[e+32>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,r=f[t+28>>2]),(0|r)<0)break t;i=br((r=1+(r-1>>>5|0)|0)<<2),f[e+32>>2]=r,f[e+28>>2]=0,f[e+24>>2]=i,r=f[t+28>>2]}je(i,f[t+24>>2],4+(r-1>>>3&536870908)|0),r=f[t+28>>2]}else r=0;if(f[e+28>>2]=r,r=f[t+40>>2]){if(f[e+44>>2]<<5>>>0>=r>>>0)i=f[e+36>>2];else{if((i=f[e+36>>2])&&(ee(i),f[e+44>>2]=0,f[e+36>>2]=0,f[e+40>>2]=0,r=f[t+40>>2]),(0|r)<0)break e;i=br((r=1+(r-1>>>5|0)|0)<<2),f[e+44>>2]=r,f[e+40>>2]=0,f[e+36>>2]=i,r=f[t+40>>2]}je(i,f[t+36>>2],4+(r-1>>>3&536870908)|0),t=f[t+40>>2]}else t=0;f[e+40>>2]=t}return}ii(),E()}ii(),E()}function Se(e,t){var r,i=0,n=0,o=0,a=0,s=0,c=0;I=r=I-16|0;e:if(dt(1,r+8|0,t)&&(i=f[t+8>>2],o=f[t+16>>2],s=f[r+12>>2],n=f[t+20>>2],!((0|s)==(0|(a=f[t+12>>2]-(n+(i>>>0<o>>>0)|0)|0))&(i-o|0)>>>0<(i=f[r+8>>2])>>>0|a>>>0<s>>>0||(n=n+s|0,n=(a=i+o|0)>>>0<o>>>0?n+1|0:n,f[t+16>>2]=a,f[t+20>>2]=n,(0|i)<=0)))){n=o+f[t>>2]|0,f[e+40>>2]=n,s=e;t:if((t=u[0|(o=n+(a=i-1|0)|0)])>>>0<=63)f[e+44>>2]=a,e=63&u[0|o];else{r:switch((t>>>6|0)-1|0){case 0:if(i>>>0<2)break e;f[e+44>>2]=i-2,e=u[1+(t=(i+n|0)-2|0)|0]<<8&16128|u[0|t];break t;case 1:if(i>>>0<3)break e;f[e+44>>2]=i-3,e=u[2+(t=(i+n|0)-3|0)|0]<<16&4128768|u[t+1|0]<<8|u[0|t];break t}f[e+44>>2]=i-4,e=u[2+(t=(i+n|0)-4|0)|0]<<16|u[t+3|0]<<24&1056964608|u[t+1|0]<<8|u[0|t]}e=e+16384|0,f[s+48>>2]=e,c=e>>>0<4194304}return I=r+16|0,c}function Fe(e){var t,r=0,i=0;r=f[e+8>>2],t=f[e>>2];e:{if(u[e+12|0]){t:{if(-1!=(0|r)&&-1!=(0|(r=((i=r+1|0)>>>0)%3|0?i:r-2|0))&&-1!=(0|(r=f[f[t+12>>2]+(r<<2)>>2]))){if(r=((i=r+1|0)>>>0)%3|0?i:r-2|0,f[e+8>>2]=r,-1!=(0|r))break t}else f[e+8>>2]=-1;r=-1;r:if(-1!=(0|(i=f[e+4>>2]))){if((i>>>0)%3|0)i=i-1|0;else if(r=-1,-1==(0|(i=i+2|0)))break r;r=-1,-1!=(0|(i=f[f[t+12>>2]+(i<<2)>>2]))&&(r=i-1|0,(i>>>0)%3|0||(r=i+2|0))}return o[e+12|0]=0,void(f[e+8>>2]=r)}if((0|r)!=f[e+4>>2])break e;return void(f[e+8>>2]=-1)}i=-1;t:if(-1!=(0|r)){if((r>>>0)%3|0)r=r-1|0;else if(i=-1,-1==(0|(r=r+2|0)))break t;i=-1,-1!=(0|(r=f[f[t+12>>2]+(r<<2)>>2]))&&(i=r-1|0,(r>>>0)%3|0||(i=r+2|0))}f[e+8>>2]=i}}function We(e){var t,r=0,i=0;t=br(32),r=u[1619]|u[1620]<<8,o[t+24|0]=r,o[t+25|0]=r>>>8,r=u[1615]|u[1616]<<8|u[1617]<<16|u[1618]<<24,i=u[1611]|u[1612]<<8|u[1613]<<16|u[1614]<<24,o[t+16|0]=i,o[t+17|0]=i>>>8,o[t+18|0]=i>>>16,o[t+19|0]=i>>>24,o[t+20|0]=r,o[t+21|0]=r>>>8,o[t+22|0]=r>>>16,o[t+23|0]=r>>>24,r=u[1607]|u[1608]<<8|u[1609]<<16|u[1610]<<24,i=u[1603]|u[1604]<<8|u[1605]<<16|u[1606]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1599]|u[1600]<<8|u[1601]<<16|u[1602]<<24,i=u[1595]|u[1596]<<8|u[1597]<<16|u[1598]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+26|0]=0,f[e>>2]=-1,Vt(e+4|0,t,26),ee(t)}function je(e,t,r){var i=0,n=0;e:if((0|e)!=(0|t)){if(t-(n=e+r|0)>>>0<=0-(r<<1)>>>0)return ge(e,t,r);if(i=3&(e^t),e>>>0<t>>>0){if(i)i=e;else{if(3&e)for(i=e;;){if(!r)break e;if(o[0|i]=u[0|t],t=t+1|0,r=r-1|0,!(3&(i=i+1|0)))break}else i=e;if(!(r>>>0<=3))for(;f[i>>2]=f[t>>2],t=t+4|0,i=i+4|0,(r=r-4|0)>>>0>3;);}if(r)for(;o[0|i]=u[0|t],i=i+1|0,t=t+1|0,r=r-1|0;);}else{if(!i){if(3&n)for(;;){if(!r)break e;if(o[0|(i=(r=r-1|0)+e|0)]=u[t+r|0],!(3&i))break}if(!(r>>>0<=3))for(;f[(r=r-4|0)+e>>2]=f[t+r>>2],r>>>0>3;);}if(!r)break e;for(;o[(r=r-1|0)+e|0]=u[t+r|0],r;);}}return e}function Oe(e,t,r){var i,n,o=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0;I=i=I-16|0;e:{if((0|(s=f[e+24>>2]))!=(0|(n=f[e+28>>2])))for(;;){f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,o=Xt(f[s>>2],t,i),l=(e=u[i+11|0])<<24>>24,b=3;t:{r:{i:{n:if(o&&(b=0,a=(o=u[r+11|0])<<24>>24,(0|(A=(0|l)<0?f[i+4>>2]:e))==(0|((0|a)<0?f[r+4>>2]:o)))){c=(0|a)<0?f[r>>2]:r,a=f[i>>2];o:{if(!(o=(0|l)<0)){if(!l)break o;if(o=i,u[0|c]!=(255&a))break t;for(;;){if(!(e=e-1|0))break o;if(a=u[c+1|0],c=c+1|0,(0|a)!=u[0|(o=o+1|0)])break}break n}if(A&&xt(o?a:i,c,A))break i}p=f[s>>2],b=1}if((0|l)>=0)break r}ee(f[i>>2])}switch(0|b){case 0:case 3:break t;default:break e}}if((0|n)==(0|(s=s+4|0)))break}p=0}return I=i+16|0,p}function Ze(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0;if((i=f[e+8>>2])-(r=f[e+4>>2])>>2>>>0>=t>>>0)return t&&(r=Ye(r,0,t<<=2)+t|0),void(f[e+4>>2]=r);e:{t:{r:{if((n=(o=r-(a=f[e>>2])>>2)+t|0)>>>0<1073741824){if(s=(i=i-a|0)>>1,n=i>>2>>>0<536870911?n>>>0>s>>>0?n:s:1073741823){if(n>>>0>=1073741824)break r;c=br(n<<2)}if(o=(t=Ye(i=(o<<2)+c|0,0,o=t<<2))+o|0,n=(n<<2)+c|0,(0|r)==(0|a))break t;for(;t=f[(r=r-4|0)>>2],f[r>>2]=0,f[(i=i-4|0)>>2]=t,(0|r)!=(0|a););if(f[e+8>>2]=n,t=f[e+4>>2],f[e+4>>2]=o,r=f[e>>2],f[e>>2]=i,(0|t)==(0|r))break e;for(;e=f[(t=t-4|0)>>2],f[t>>2]=0,e&&_i[f[f[e>>2]+4>>2]](e),(0|t)!=(0|r););break e}ii(),E()}Lt(1326),E()}f[e+8>>2]=n,f[e+4>>2]=o,f[e>>2]=t}r&&ee(r)}function Pe(e,t){e|=0;var r,i,n=0,o=0,a=0,s=0,c=0,l=0,b=0;return c=o=f[12+(t|=0)>>2],a=n=f[t+20>>2],n=(r=(s=f[t+16>>2])+4|0)>>>0<4?n+1|0:n,(i=f[t+8>>2])>>>0<r>>>0&(0|n)>=(0|o)|(0|n)>(0|o)||(l=f[t>>2],o=u[0|(o=l+s|0)]|u[o+1|0]<<8|u[o+2|0]<<16|u[o+3|0]<<24,f[t+16>>2]=r,f[t+20>>2]=n,n=a,s=a=s+8|0,a=n=a>>>0<8?n+1|0:n,s>>>0>i>>>0&(0|n)>=(0|c)|(0|n)>(0|c)||(n=u[0|(n=r+l|0)]|u[n+1|0]<<8|u[n+2|0]<<16|u[n+3|0]<<24,f[t+16>>2]=s,f[t+20>>2]=a,(0|n)<(0|o)||(f[e+16>>2]=n,f[e+12>>2]=o,!(c=(n>>31)-((o>>31)+(n>>>0<o>>>0)|0)|0)&(n=n-o|0)>>>0>2147483646|c||(n=n+1|0,f[e+20>>2]=n,o=n>>>1|0,f[e+24>>2]=o,f[e+28>>2]=0-o,1&n||(f[e+24>>2]=o-1),b=Ie(e+112|0,t))))),0|b}function Ye(e,t,r){var i=0,n=0,a=0;if(r&&(o[0|e]=t,o[(n=e+r|0)-1|0]=t,!(r>>>0<3||(o[e+2|0]=t,o[e+1|0]=t,o[n-3|0]=t,o[n-2|0]=t,r>>>0<7||(o[e+3|0]=t,o[n-4|0]=t,r>>>0<9||(a=(n=0-e&3)+e|0,i=d(255&t,16843009),f[a>>2]=i,f[(r=(t=r-n&-4)+a|0)-4>>2]=i,t>>>0<9||(f[a+8>>2]=i,f[a+4>>2]=i,f[r-8>>2]=i,f[r-12>>2]=i,t>>>0<25||(f[a+24>>2]=i,f[a+20>>2]=i,f[a+16>>2]=i,f[a+12>>2]=i,f[r-16>>2]=i,f[r-20>>2]=i,f[r-24>>2]=i,f[r-28>>2]=i,(r=(r=t)-(t=4&a|24)|0)>>>0<32))))))))for(i=Jt(i,0,1,1),n=C,t=t+a|0;f[t+24>>2]=i,f[t+28>>2]=n,f[t+16>>2]=i,f[t+20>>2]=n,f[t+8>>2]=i,f[t+12>>2]=n,f[t>>2]=i,f[t+4>>2]=n,t=t+32|0,(r=r-32|0)>>>0>31;);return e}function ze(e,t){var r=0,i=0,n=0,o=0,a=0;i=-1,o=-1,n=-1;e:{t:if(-1!=(0|t)){if(a=1,o=f[f[f[e+4>>2]+12>>2]+(t<<2)>>2],(0|(r=((r=t+1|0)>>>0)%3|0?r:t-2|0))>=0&&(n=(r>>>0)/3|0,n=f[(f[f[e>>2]+96>>2]+d(n,12)|0)+(r-d(n,3)<<2)>>2]),-1!=(0|o)&&(a=0,(0|(r=((o>>>0)%3|0?-1:2)+o|0))<0||(i=(r>>>0)/3|0,i=f[(f[f[e>>2]+96>>2]+d(i,12)|0)+(r-d(i,3)<<2)>>2])),r=-1,(0|i)!=(0|n))break e;if(n=-1,(0|(t=((t>>>0)%3|0?-1:2)+t|0))>=0){if(i=(t>>>0)/3|0,i=f[(f[f[e>>2]+96>>2]+d(i,12)|0)+(t-d(i,3)<<2)>>2],a)break t}else if(i=-1,a)break t;(0|(t=((t=o+1|0)>>>0)%3|0?t:o-2|0))<0||(r=f[f[e>>2]+96>>2],n=f[(r+d(e=(t>>>0)/3|0,12)|0)+(t-d(e,3)<<2)>>2])}r=(0|i)==(0|n)?o:-1}return r}function Je(e,t,r){var i,n=0,o=0,a=0;I=i=I-16|0,f[e+4>>2]=0;e:{t:if(t){if((n=(a=f[e+8>>2])<<5)>>>0>=t>>>0)f[e+4>>2]=t;else{if(f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,(0|t)<0)break e;at(i,n=n>>>0<=1073741822?(n=a<<6)>>>0<(o=t+31&-32)>>>0?o:n:2147483647),o=f[e>>2],f[e>>2]=f[i>>2],f[i>>2]=o,n=f[e+4>>2],f[e+4>>2]=t,f[i+4>>2]=n,n=f[e+8>>2],f[e+8>>2]=f[i+8>>2],f[i+8>>2]=n,o&&ee(o)}if(n=(o=t>>>5|0)<<2,e=f[e>>2],u[0|r]){if(e=Ye(e,255,n),!(t&=31))break t;f[(e=e+(o<<2)|0)>>2]=f[e>>2]|-1>>>32-t}else e=Ye(e,0,n),(t&=31)&&(f[(e=e+(o<<2)|0)>>2]=f[e>>2]&(-1>>>32-t^-1))}return void(I=i+16|0)}ii(),E()}function Qe(e,t,r){var i,n=0,o=0,a=0,s=0;if((i=(a=r-t|0)>>2)>>>0<=(n=f[e+8>>2])-(o=f[e>>2])>>2>>>0){if((0|(n=i>>>0>(s=(n=(a=f[e+4>>2])-o|0)>>2)>>>0?t+n|0:r))!=(0|t))for(;f[o>>2]=f[t>>2],o=o+4|0,(0|n)!=(0|(t=t+4|0)););return i>>>0>s>>>0?((0|(t=r-n|0))>0&&(a=ge(a,n,t)+t|0),void(f[e+4>>2]=a)):void(f[e+4>>2]=o)}if(o&&(f[e+4>>2]=o,ee(o),f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,n=0),!((0|a)<0||(r=n>>1,(r=n>>2>>>0<536870911?r>>>0<i>>>0?i:r:1073741823)>>>0>=1073741824)))return r=br(o=r<<2),f[e>>2]=r,f[e+4>>2]=r,f[e+8>>2]=r+o,a&&(r=ge(r,t,a)+a|0),void(f[e+4>>2]=r);ii(),E()}function Le(e,t){e|=0;var r,i,n,o=0,a=0,s=0,c=0,l=0;return s=f[12+(t|=0)>>2],c=o=f[t+20>>2],o=(a=(r=f[t+16>>2])+4|0)>>>0<4?o+1|0:o,n=a,(i=f[t+8>>2])>>>0<a>>>0&(0|o)>=(0|s)|(0|o)>(0|s)||(a=r+f[t>>2]|0,a=u[0|a]|u[a+1|0]<<8|u[a+2|0]<<16|u[a+3|0]<<24,f[t+16>>2]=n,f[t+20>>2]=o,o=c,(c=r+8|0)>>>0>i>>>0&(0|(o=c>>>0<8?o+1|0:o))>=(0|s)|(0|o)>(0|s)||(f[t+16>>2]=c,f[t+20>>2]=o,1&a&&((o=31^k(a))-30>>>0<4294967267||(f[e+8>>2]=o+1,o=-2-(s=-2<<o)|0,f[e+16>>2]=o,f[e+12>>2]=-1^s,f[e+24>>2]=(0|o)/2,A[e+20>>2]=_(2)/_(0|o),l=Ie(e+96|0,t))))),0|l}function Xe(e){var t=0,r=0,i=0,n=0;r=1;e:if(!((0|(i=f[e+140>>2]))<=0)){for(t=i<<4,r=br((0|i)!=(268435455&i)?-1:4|t),f[r>>2]=i,i=(r=r+4|0)+t|0,t=r;f[t>>2]=0,f[t+4>>2]=0,o[t+5|0]=0,o[t+6|0]=0,o[t+7|0]=0,o[t+8|0]=0,o[t+9|0]=0,o[t+10|0]=0,o[t+11|0]=0,o[t+12|0]=0,(0|i)!=(0|(t=t+16|0)););if(n=f[e+136>>2],f[e+136>>2]=r,n){if(r=f[(i=n-4|0)>>2])for(t=(r<<4)+n|0;(0|n)!=(0|(t=t-16|0)););ee(i)}if(r=1,!(f[e+140>>2]<=0))for(t=0;;){if(!(r=Ie(f[e+136>>2]+(t<<4)|0,e)))break e;if(!((0|(t=t+1|0))<f[e+140>>2]))break}}return r}function He(e,t){var r,i=0,n=0,a=0,s=0;return f[e+64>>2]||(i=br(32),f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,n=f[e+64>>2],f[e+64>>2]=i,n&&((i=f[n>>2])&&(f[n+4>>2]=i,ee(i)),ee(n))),a=f[e+64>>2],n=(i=f[e+28>>2]-1|0)>>>0<=10?f[10180+(i<<2)>>2]:-1,n=i=d(n,o[e+24|0]),(a=Ot(a,0,Jt(i,r=i>>31,t,0),C))&&(i=f[e+64>>2],f[e>>2]=i,s=f[i+20>>2],f[e+8>>2]=f[i+16>>2],f[e+12>>2]=s,s=f[i+24>>2],i=f[i+28>>2],f[e+48>>2]=0,f[e+52>>2]=0,f[e+40>>2]=n,f[e+44>>2]=r,f[e+16>>2]=s,f[e+20>>2]=i,f[e+80>>2]=t),a}function qe(e,t,r){var i=0,n=0,o=0,a=0,s=0,c=0,l=0;o=e+4|0;e:{if(e=f[e+4>>2])for(c=(i=(n=u[r+11|0])<<24>>24<0)?f[r>>2]:r,n=i?f[r+4>>2]:n;;){t:{r:{i:{n:{o:{a:if(s=(l=(r=(i=(r=u[e+27|0])<<24>>24<0)?f[e+20>>2]:r)>>>0<n>>>0)?r:n){if(a=e+16|0,!(a=xt(c,i=i?f[a>>2]:a,s))){if(r>>>0>n>>>0)break a;break o}if((0|a)>=0)break o}else if(r>>>0<=n>>>0)break n;if(r=f[e>>2])break t;return f[t>>2]=e,e}if(r=xt(i,c,s))break i}if(l)break r;break e}if((0|r)>=0)break e}if(o=e+4|0,!(r=f[e+4>>2]))break e;e=o}o=e,e=r}return f[t>>2]=o,o}return f[t>>2]=e,o}function $e(e,t){var r=0;return r=f[t+4>>2],f[e>>2]=f[t>>2],f[e+4>>2]=r,r=f[t+60>>2],f[e+56>>2]=f[t+56>>2],f[e+60>>2]=r,r=f[t+52>>2],f[e+48>>2]=f[t+48>>2],f[e+52>>2]=r,r=f[t+44>>2],f[e+40>>2]=f[t+40>>2],f[e+44>>2]=r,r=f[t+36>>2],f[e+32>>2]=f[t+32>>2],f[e+36>>2]=r,r=f[t+28>>2],f[e+24>>2]=f[t+24>>2],f[e+28>>2]=r,r=f[t+20>>2],f[e+16>>2]=f[t+16>>2],f[e+20>>2]=r,r=f[t+12>>2],f[e+8>>2]=f[t+8>>2],f[e+12>>2]=r,f[e+88>>2]=0,f[e+64>>2]=0,f[e+68>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,o[e+77|0]=0,o[e+78|0]=0,o[e+79|0]=0,o[e+80|0]=0,o[e+81|0]=0,o[e+82|0]=0,o[e+83|0]=0,o[e+84|0]=0,e}function Ke(e,t){var r,i=0,n=0,o=0,a=0,s=0,c=0,l=0;r=e+4|0;e:{t:if(e=f[e+4>>2]){for(c=(i=(n=u[t+11|0])<<24>>24<0)?f[t>>2]:t,o=i?f[t+4>>2]:n,i=r;(n=(a=(s=(l=(t=u[e+27|0])<<24>>24<0)?f[e+20>>2]:t)>>>0>o>>>0)?o:s)&&(t=e+16|0,t=xt(l?f[t>>2]:t,c,n))||(t=o>>>0>s>>>0?-1:a),i=(0|t)<0?i:e,e=f[(t>>>29&4)+e>>2];);if((0|i)!=(0|r)){if(!((t=(n=(a=(e=u[i+27|0])<<24>>24<0)?f[i+20>>2]:e)>>>0<o>>>0?n:o)&&(e=i+16|0,e=xt(c,a?f[e>>2]:e,t)))){if(n>>>0>o>>>0)break t;break e}if((0|e)>=0)break e}}i=r}return i}function et(e,t,r){var i=0,n=0,o=0,a=0;e:{if(!((0|t)<0|(0|r)<0)){if(!(t>>>0>1431655765)){if(ye(e,i=d(t,3),10256),ye(e+12|0,i,10260),i=f[e+24>>2],!(f[e+32>>2]-i>>2>>>0>=r>>>0)){if(r>>>0>=1073741824)break e;n=f[e+28>>2],o=(r=br(o=r<<2))+o|0,a=(n=n-i|0)+r|0,(0|n)>0&&ge(r,i,n),f[e+32>>2]=o,f[e+28>>2]=a,f[e+24>>2]=r,i&&ee(i)}f[e+80>>2]=0,f[e+84>>2]=0,r=f[e+76>>2],f[e+76>>2]=0,r&&ee(r),f[e+68>>2]=0,f[e+72>>2]=0,e=f[(r=e- -64|0)>>2],f[r>>2]=0,e&&ee(e)}i=t>>>0<1431655766}return i}Lt(1326),E()}function tt(e){var t=0,r=0,i=0,n=0,a=0;if(i=f[e+8>>2],!u[i+84|0]&&!(!(t=f[e+16>>2])|!u[t+84|0]||(r=f[i+72>>2],n=f[i+68>>2],o[t+84|0]=0,r=r-n>>2,a=f[t+68>>2],r>>>0>(n=f[t+72>>2]-a>>2)>>>0?(ve(t+68|0,r-n|0,2032),i=f[e+8>>2]):r>>>0>=n>>>0||(f[t+72>>2]=a+(r<<2)),(t=u[i+84|0])||(0|(r=f[i+68>>2]))==f[i+72>>2])))if(n=f[f[e+16>>2]+68>>2],t)f[n>>2]=0;else for(t=0;f[(a=t<<2)+n>>2]=f[r+a>>2],t=t+1|0,r=f[i+68>>2],t>>>0<f[i+72>>2]-r>>2>>>0;);return f[e+16>>2]}function rt(e,t){var r=0,i=0,n=0,o=0,a=0,s=0;if((0|(r=f[e+4>>2]))!=f[e+8>>2])return i=f[t+4>>2],f[r>>2]=f[t>>2],f[r+4>>2]=i,f[r+8>>2]=f[t+8>>2],void(f[e+4>>2]=r+12);e:{if((r=1+(i=(0|(a=r-(o=f[e>>2])|0))/12|0)|0)>>>0<357913942){if(n=i<<1,n=i>>>0<178956970?r>>>0>n>>>0?r:n:357913941){if(n>>>0>=357913942)break e;r=br(d(n,12))}else r=0;return i=r+d(i,12)|0,s=f[t+4>>2],f[i>>2]=f[t>>2],f[i+4>>2]=s,f[i+8>>2]=f[t+8>>2],t=i+d((0|a)/-12|0,12)|0,(0|a)>0&&ge(t,o,a),f[e+8>>2]=r+d(n,12),f[e+4>>2]=i+12,f[e>>2]=t,void(o&&ee(o))}ii(),E()}Lt(1326),E()}function it(e,t){t|=0;var r=0,i=0,n=0,o=0;e:if((0|(r=f[216+(e|=0)>>2]))!=f[e+220>>2]){for(;;){t:if(!((0|(r=f[d(n,144)+r>>2]))<0||(i=f[e+4>>2],o=f[i+8>>2],(0|r)>=f[i+12>>2]-o>>2||(i=0,r=f[(r<<2)+o>>2],(0|_i[f[f[r>>2]+24>>2]](r))<=0)))){for(;;){if((0|_i[f[f[r>>2]+20>>2]](r,i))!=(0|t)){if(i=i+1|0,(0|_i[f[f[r>>2]+24>>2]](r))>(0|i))continue;break t}break}e=f[e+216>>2]+d(n,144)|0,n=u[e+100|0]?e+4|0:0;break e}if(n=n+1|0,r=f[e+216>>2],!(n>>>0<(f[e+220>>2]-r|0)/144>>>0))break}return 0}return 0|n}function nt(e,t,r,i,n,a,s){var c,l=0,A=0;if(I=c=I-16|0,(-1^t)-17>>>0>=r>>>0)return A=u[e+11|0]>>>7|0?f[e>>2]:e,t>>>0<2147483623?(f[c+8>>2]=t<<1,f[c+12>>2]=t+r,I=r=I-16|0,I=r+16|0,r=c+8|0,r=(r=f[(b[(l=c+12|0)>>2]<b[r>>2]?r:l)>>2])>>>0>=11?11==(0|(r=(l=r+16&-16)-1|0))?l:r:10):r=-18,r=br(l=r+1|0),a&&Lr(r,s,a),(i=i-n|0)&&Lr(r+a|0,n+A|0,i),10!=(0|t)&&ee(A),f[e>>2]=r,f[e+8>>2]=-2147483648|l,t=e,e=i+a|0,f[t+4>>2]=e,o[c+7|0]=0,o[e+r|0]=u[c+7|0],void(I=c+16|0);oi(),E()}function ot(e,t){t|=0;var r=0,i=0,n=0,o=0;if((0|(r=f[216+(e|=0)>>2]))!=f[e+220>>2])for(;;){e:if(!((0|(r=f[d(n,144)+r>>2]))<0||(i=f[e+4>>2],o=f[i+8>>2],(0|r)>=f[i+12>>2]-o>>2||(i=0,r=f[(r<<2)+o>>2],(0|_i[f[f[r>>2]+24>>2]](r))<=0)))){for(;;){if((0|_i[f[f[r>>2]+20>>2]](r,i))!=(0|t)){if(i=i+1|0,(0|_i[f[f[r>>2]+24>>2]](r))>(0|i))continue;break e}break}return 104+(f[e+216>>2]+d(n,144)|0)|0}if(n=n+1|0,r=f[e+216>>2],!(n>>>0<(f[e+220>>2]-r|0)/144>>>0))break}return e+184|0}function at(e,t){var r,i=0,n=0,o=0,a=0,s=0,c=0;I=r=I-16|0;e:{if(!(f[e+8>>2]<<5>>>0>=t>>>0)){if(f[r+8>>2]=0,f[r>>2]=0,f[r+4>>2]=0,(0|t)<0)break e;n=br((a=1+(t-1>>>5|0)|0)<<2),f[r+8>>2]=a,f[r>>2]=n,o=f[e>>2],t=f[e+4>>2],f[r+4>>2]=t,f[((t>>>0<33?0:t-1>>>5|0)<<2)+n>>2]=0,(0|t)<=0||(c=je(n,o,i=(s=t>>>5|0)<<2),(0|(t=t-(s<<5)|0))<=0||(t=-1>>>32-t|0,f[(i=i+c|0)>>2]=f[i>>2]&(-1^t)|t&f[(s<<2)+o>>2])),f[e+8>>2]=a,f[e>>2]=n,o&&ee(o)}return void(I=r+16|0)}ii(),E()}function ft(e){var t,r=0,i=0;if(f[(e|=0)>>2]=10332,(r=f[e+68>>2])&&(f[e+72>>2]=r,ee(r)),(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),(r=f[e+44>>2])&&(f[e+48>>2]=r,ee(r)),(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),(r=f[e+20>>2])&&(f[e+24>>2]=r,ee(r)),t=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&Zt(r),(0|t)!=(0|i););r=f[e+8>>2]}f[e+12>>2]=t,ee(r)}return r=f[e+4>>2],f[e+4>>2]=0,r&&Rt(r),0|e}function st(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0;if((n=f[e+8>>2])-(r=f[e+4>>2])>>2>>>0>=t>>>0)return t&&(r=Ye(r,0,t<<=2)+t|0),void(f[e+4>>2]=r);e:{if((i=(s=(a=r-(o=f[e>>2])|0)>>2)+t|0)>>>0<1073741824){if(r=0,c=(n=n-o|0)>>1,i=n>>2>>>0<536870911?i>>>0>c>>>0?i:c:1073741823){if(i>>>0>=1073741824)break e;r=br(i<<2)}return t=Ye((s<<2)+r|0,0,t<<=2)+t|0,(0|a)>0&&ge(r,o,a),f[e+8>>2]=(i<<2)+r,f[e+4>>2]=t,f[e>>2]=r,void(o&&ee(o))}ii(),E()}Lt(1326),E()}function ct(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0;if((n=f[e+8>>2])-(r=f[e+4>>2])>>3>>>0>=t>>>0)return t&&(r=Ye(r,0,t<<=3)+t|0),void(f[e+4>>2]=r);e:{if((i=(s=(a=r-(o=f[e>>2])|0)>>3)+t|0)>>>0<536870912){if(r=0,c=(n=n-o|0)>>2,i=n>>3>>>0<268435455?i>>>0>c>>>0?i:c:536870911){if(i>>>0>=536870912)break e;r=br(i<<3)}return t=Ye((s<<3)+r|0,0,t<<=3)+t|0,(0|a)>0&&ge(r,o,a),f[e+8>>2]=(i<<3)+r,f[e+4>>2]=t,f[e>>2]=r,void(o&&ee(o))}ii(),E()}Lt(1326),E()}function ut(e,t){var r,i=0,n=0,o=0,a=0,s=0;if(r=f[e>>2],(e=f[r+4>>2])>>>0<(i=f[r+8>>2])>>>0)return f[e>>2]=f[t>>2],void(f[r+4>>2]=e+4);e:{if((e=1+(n=(a=e-(o=f[r>>2])|0)>>2)|0)>>>0<1073741824){if(s=n<<2,n=(i=i-o|0)>>1,i=i>>2>>>0<536870911?e>>>0>n>>>0?e:n:1073741823){if(i>>>0>=1073741824)break e;e=br(i<<2)}else e=0;return f[(n=s+e|0)>>2]=f[t>>2],(0|a)>0&&ge(e,o,a),f[r+8>>2]=e+(i<<2),f[r+4>>2]=n+4,f[r>>2]=e,void(o&&ee(o))}ii(),E()}Lt(1326),E()}function lt(e,t){var r=0,i=0,n=0,o=0,a=0,s=0;e:{t:{if((o=(r=f[e+4>>2])-(n=f[e>>2])|0)>>>0<t>>>0){if((a=t-o|0)>>>0<=(i=f[e+8>>2])-r>>>0)return a&&(r=Ye(r,0,a)+a|0),void(f[e+4>>2]=r);if((0|t)<0)break e;if(r=0,s=(i=i-n|0)<<1,(i=i>>>0<1073741823?t>>>0>s>>>0?t:s:2147483647)&&(r=br(i)),Ye(r+o|0,0,a),(0|o)>0&&ge(r,n,o),f[e+8>>2]=r+i,f[e+4>>2]=t+r,f[e>>2]=r,!n)break t;return void ee(n)}t>>>0>=o>>>0||(f[e+4>>2]=t+n)}return}ii(),E()}function bt(e,t){var r=0,i=0,n=0,o=0,a=0,s=0;if((n=f[e+8>>2])-(r=f[e+4>>2])>>1>>>0>=t>>>0)return t&&(r=Ye(r,0,t<<=1)+t|0),void(f[e+4>>2]=r);e:{if((0|(i=(s=(a=r-(o=f[e>>2])|0)>>1)+t|0))>=0){if(r=0,i=(n=n-o|0)>>1>>>0<1073741823?i>>>0>n>>>0?i:n:2147483647){if((0|i)<0)break e;r=br(i<<1)}return t=Ye((s<<1)+r|0,0,t<<=1)+t|0,(0|a)>0&&ge(r,o,a),f[e+8>>2]=(i<<1)+r,f[e+4>>2]=t,f[e>>2]=r,void(o&&ee(o))}ii(),E()}Lt(1326),E()}function At(e){var t=0,r=0,i=0,n=0,o=0;if((0|(t=f[e+4>>2]))!=f[e+8>>2])return f[t>>2]=f[2088],void(f[e+4>>2]=t+4);e:{if((t=1+(i=(o=t-(n=f[e>>2])|0)>>2)|0)>>>0<1073741824){if(r=o>>1,r=i>>>0<536870911?t>>>0>r>>>0?t:r:1073741823){if(r>>>0>=1073741824)break e;t=br(r<<2)}else t=0;return f[(i=t+(i<<2)|0)>>2]=f[2088],(0|o)>0&&ge(t,n,o),f[e+8>>2]=t+(r<<2),f[e+4>>2]=i+4,f[e>>2]=t,void(n&&ee(n))}ii(),E()}Lt(1326),E()}function pt(e,t){var r=0,i=0,n=0,o=0;i=f[e+12>>2],(r=f[e+16>>2]-i>>2)>>>0<t>>>0?st(e+12|0,t-r|0):t>>>0>=r>>>0||(f[e+16>>2]=i+(t<<2));e:{if(r=f[e>>2],!(f[e+8>>2]-r>>2>>>0>=t>>>0)){if(t>>>0>=1073741824)break e;i=f[e+4>>2],n=(t=br(n=t<<2))+n|0,o=(i=i-r|0)+t|0,(0|i)>0&&ge(t,r,i),f[e+8>>2]=n,f[e+4>>2]=o,f[e>>2]=t,r&&ee(r)}return}Lt(1326),E()}function dt(e,t,r){var i=0,n=0,a=0,s=0;e:if(!(e>>>0>10||(0|(i=f[r+20>>2]))>=(0|(n=f[r+12>>2]))&(a=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|n))){if(n=o[a+f[r>>2]|0],i=(a=a+1|0)?i:i+1|0,f[r+16>>2]=a,f[r+20>>2]=i,(0|n)<0){if(!dt(e+1|0,t,r))break e;r=f[t>>2],e=f[t+4>>2]<<7|r>>>25,r=127&n|r<<7}else e=0,r=255&n;f[t>>2]=r,f[t+4>>2]=e,s=1}return s}function _t(e,t,r,i){o[e+53|0]=1;e:if(f[e+4>>2]==(0|r)){o[e+52|0]=1;t:{if(!(r=f[e+16>>2])){if(f[e+36>>2]=1,f[e+24>>2]=i,f[e+16>>2]=t,1!=f[e+48>>2])break e;if(1==(0|i))break t;break e}if((0|t)==(0|r)){if(2==(0|(r=f[e+24>>2]))&&(f[e+24>>2]=i,r=i),1!=f[e+48>>2])break e;if(1==(0|r))break t;break e}f[e+36>>2]=f[e+36>>2]+1}o[e+54|0]=1}}function ht(e,t,r){t|=0,r|=0;var i,n=0;I=i=I-16|0,f[4+(e|=0)>>2]=t,t=f[t+64>>2],n=f[t>>2],t=f[t+4>>2],o[i+15|0]=0,Je(e+24|0,(t-n>>2>>>0)/3|0,i+15|0),t=f[e+4>>2],n=f[t+56>>2],t=f[t+52>>2],o[i+14|0]=0,Je(e+36|0,n-t>>2,i+14|0),t=f[r+12>>2],f[e+16>>2]=f[r+8>>2],f[e+20>>2]=t,t=f[r+4>>2],f[e+8>>2]=f[r>>2],f[e+12>>2]=t,I=i+16|0}function kt(e){f[e>>2]=0,f[e+4>>2]=0,f[e+28>>2]=0,f[e+32>>2]=0,o[e+24|0]=1,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,f[e+36>>2]=0,f[e+40>>2]=0,f[e+44>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,f[e+56>>2]=0,f[e+60>>2]=0,f[e+64>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,f[e+68>>2]=e}function mt(e,t){var r,i,n,o=0,s=0;f[e+144>>2]=t,o=f[32+(0|_i[f[f[t>>2]+32>>2]](t))>>2],r=f[o>>2]+f[o+16>>2]|0,s=f[32+(0|_i[f[f[t>>2]+32>>2]](t))>>2],o=(o=f[s+8>>2])-(s=f[s+16>>2])|0,i=e,n=l[f[32+(0|_i[f[f[t>>2]+32>>2]](t))>>2]+38>>1],a[i+38>>1]=n,f[e>>2]=r,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=o,f[e+12>>2]=0}function yt(e){var t;f[e>>2]=0,f[e+4>>2]=0,f[e+56>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,f[e+40>>2]=0,f[e+44>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,f[(t=e- -64|0)>>2]=0,f[t+4>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+60>>2]=e}function vt(e,t,r){var i=0,n=0,o=0,a=0,s=0;e:if(!(e>>>0>5||(0|(i=o=f[r+20>>2]))>=(0|(a=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|a))){if(i=u[n+f[r>>2]|0],o=(n=n+1|0)?o:o+1|0,f[r+16>>2]=n,f[r+20>>2]=o,128&i){if(!vt(e+1|0,t,r))break e;i=127&i|f[t>>2]<<7}f[t>>2]=i,s=1}return s}function gt(e,t,r){var i=0,n=0,o=0,a=0,s=0;e:if(!(e>>>0>5||(0|(i=o=f[r+20>>2]))>=(0|(a=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|a))){if(i=u[n+f[r>>2]|0],o=(n=n+1|0)?o:o+1|0,f[r+16>>2]=n,f[r+20>>2]=o,128&i){if(!gt(e+1|0,t,r))break e;i=127&i|f[t>>2]<<7}f[t>>2]=i,s=1}return s}function wt(e,t,r){var i=0,n=0,o=0,a=0,s=0;e:if(!(e>>>0>5||(0|(i=o=f[r+20>>2]))>=(0|(a=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|a))){if(i=u[n+f[r>>2]|0],o=(n=n+1|0)?o:o+1|0,f[r+16>>2]=n,f[r+20>>2]=o,128&i){if(!wt(e+1|0,t,r))break e;i=127&i|f[t>>2]<<7}f[t>>2]=i,s=1}return s}function Et(e,t,r){var i=0,n=0,o=0,a=0,s=0;e:if(!(e>>>0>5||(0|(i=o=f[r+20>>2]))>=(0|(a=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|a))){if(i=u[n+f[r>>2]|0],o=(n=n+1|0)?o:o+1|0,f[r+16>>2]=n,f[r+20>>2]=o,128&i){if(!Et(e+1|0,t,r))break e;i=127&i|f[t>>2]<<7}f[t>>2]=i,s=1}return s}function Tt(e,t,r){var i=0,n=0,o=0,a=0,s=0;e:if(!(e>>>0>5||(0|(i=o=f[r+20>>2]))>=(0|(a=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|a))){if(i=u[n+f[r>>2]|0],o=(n=n+1|0)?o:o+1|0,f[r+16>>2]=n,f[r+20>>2]=o,128&i){if(!Tt(e+1|0,t,r))break e;i=127&i|f[t>>2]<<7}f[t>>2]=i,s=1}return s}function Bt(e,t,r){var i=0,n=0,o=0,a=0,s=0;e:if(!(e>>>0>5||(0|(i=o=f[r+20>>2]))>=(0|(a=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|a))){if(i=u[n+f[r>>2]|0],o=(n=n+1|0)?o:o+1|0,f[r+16>>2]=n,f[r+20>>2]=o,128&i){if(!Bt(e+1|0,t,r))break e;i=127&i|f[t>>2]<<7}f[t>>2]=i,s=1}return s}function xt(e,t,r){var i=0,n=0;e:{t:{if(r>>>0>=4){if(3&(e|t))break t;for(;;){if(f[e>>2]!=f[t>>2])break t;if(t=t+4|0,e=e+4|0,!((r=r-4|0)>>>0>3))break}}if(!r)break e}for(;;){if((0|(i=u[0|e]))==(0|(n=u[0|t]))){if(t=t+1|0,e=e+1|0,r=r-1|0)continue;break e}break}return i-n|0}return 0}function Rt(e){var t=0,r=0,i=0;if(e){if(i=f[e+24>>2]){if((0|(r=f[e+28>>2]))==(0|i))t=i;else{for(;t=f[(r=r-4|0)>>2],f[r>>2]=0,t&&(rr(t+12|0,f[t+16>>2]),ur(t,f[t+4>>2]),ee(t)),(0|i)!=(0|r););t=f[e+24>>2]}f[e+28>>2]=i,ee(t)}rr(e+12|0,f[e+16>>2]),ur(e,f[e+4>>2]),ee(e)}}function Nt(e){var t=0,r=0,i=0;e:{if(3&(t=e))for(;;){if(!u[0|t])break e;if(!(3&(t=t+1|0)))break}for(;r=t,t=t+4|0,!((-1^(i=f[r>>2]))&i-16843009&-2139062144););if(!(255&i))return r-e|0;for(;i=u[r+1|0],r=t=r+1|0,i;);}return t-e|0}function It(e,t,r){e|=0,t|=0;var i,n,o,a,s=0,c=0;return(a=f[8+(r|=0)>>2])>>>0>(n=f[r+16>>2])>>>0&(0|(s=o=f[r+12>>2]))>=(0|(i=f[r+20>>2]))|(0|i)<(0|s)&&(t=u[n+f[r>>2]|0],s=(c=n+1|0)?i:i+1|0,f[r+16>>2]=c,f[r+20>>2]=s,f[e+4>>2]=t),n>>>0<a>>>0&(0|i)<=(0|o)|(0|i)<(0|o)}function Ct(e,t,r){var i=0;if(!r)return f[e+4>>2]==f[t+4>>2];if((0|e)==(0|t))return 1;i=f[e+4>>2],e=u[0|i],r=f[t+4>>2];e:if(!(!e|(0|(t=u[0|r]))!=(0|e)))for(;;){if(t=u[r+1|0],!(e=u[i+1|0]))break e;if(r=r+1|0,i=i+1|0,(0|e)!=(0|t))break}return(0|e)==(0|t)}function Dt(e,t){var r=0,i=0,n=0,o=0;e:{if(r=f[e>>2],!(f[e+8>>2]-r>>2>>>0>=t>>>0)){if(t>>>0>=1073741824)break e;i=f[e+4>>2],n=(t=br(n=t<<2))+n|0,o=(i=i-r|0)+t|0,(0|i)>0&&ge(t,r,i),f[e+8>>2]=n,f[e+4>>2]=o,f[e>>2]=t,r&&ee(r)}return}Lt(1326),E()}function Mt(e){var t=0;e&&((t=f[e+76>>2])&&(f[e+80>>2]=t,ee(t)),(t=f[e- -64>>2])&&(f[e+68>>2]=t,ee(t)),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),(t=f[e+24>>2])&&(f[e+28>>2]=t,ee(t)),(t=f[e+12>>2])&&(f[e+16>>2]=t,ee(t)),(t=f[e>>2])&&(f[e+4>>2]=t,ee(t)),ee(e))}function Gt(e){var t=0;(t=f[e+84>>2])&&(f[e+88>>2]=t,ee(t)),(t=f[e+72>>2])&&(f[e+76>>2]=t,ee(t)),(t=f[e+52>>2])&&(f[e+56>>2]=t,ee(t)),(t=f[e+40>>2])&&(f[e+44>>2]=t,ee(t)),(t=f[e+28>>2])&&(f[e+32>>2]=t,ee(t)),(t=f[e+12>>2])&&ee(t),(e=f[e>>2])&&ee(e)}function Ut(e){var t,r=0,i=0;if((0|(r=f[e+4>>2]))!=(0|(t=f[e>>2])))for(;(i=f[r-12>>2])&&(f[r-8>>2]=i,ee(i)),(i=f[r-28>>2])&&(f[r-24>>2]=i,ee(i)),(i=f[r-40>>2])&&(f[r-36>>2]=i,ee(i)),Gt(r-140|0),(0|t)!=(0|(r=r-144|0)););f[e+4>>2]=t}function Vt(e,t,r){var i=0,n=0;e:{if(r>>>0<=10)o[(i=e)+11|0]=r;else{if(r>>>0>4294967279)break e;i=r>>>0>=11?11==(0|(i=(n=r+16&-16)-1|0))?n:i:10,i=br(n=i+1|0),f[e>>2]=i,f[e+8>>2]=-2147483648|n,f[e+4>>2]=r}return void Lr(i,t,r+1|0)}oi(),E()}function St(e,t,r){var i,n,o=0,a=0,s=0;for(I=i=(I=n=I-16|0)-16|0,t=t-e>>2;t;)f[i+12>>2]=e,o=t>>>1|0,f[i+12>>2]=f[i+12>>2]+(o<<2),s=(-1^o)+t|0,t=o,o=f[i+12>>2],t=(a=b[o>>2]<b[r>>2])?s:t,e=a?o+4|0:e;return I=i+16|0,I=n+16|0,e}function Ft(e,t){var r,i;return i=br(40),f[i>>2]=-1,f[16+(r=i+8|0)>>2]=0,f[r+20>>2]=0,f[r+8>>2]=0,f[r>>2]=0,f[r+4>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,_i[f[f[e>>2]+16>>2]](e,i),e=f[t+88>>2],f[t+88>>2]=i,e&&((t=f[e+8>>2])&&(f[e+12>>2]=t,ee(t)),ee(e)),1}function Wt(e){var t,r,i=0,n=0,o=0;return o=u[e+12|0],(n=f[e+8>>2])>>>0>4095||(0|(i=f[e+4>>2]))<=0||(i=i-1|0,f[e+4>>2]=i,n=u[i+f[e>>2]|0]|n<<8),i=d(o=0-o&255,n>>>8|0),r=(t=255&n)>>>0<o>>>0,f[e+8>>2]=r?i+t|0:n-(i+o|0)|0,r}function jt(e,t){return f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1804,f[e+12>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+40>>2]=0,f[e>>2]=2044,f[e+44>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,f[e+56>>2]=0,f[e+60>>2]=t,e}function Ot(e,t,r,i){if(t){if((0|i)<0)return 0;!i&f[e+4>>2]-f[e>>2]>>>0>=r>>>0||lt(e,r),r&&je(f[e>>2],t,r)}else{if((0|i)<0)return 0;lt(e,r)}return t=f[e+28>>2],t=(r=f[e+24>>2]+1|0)?t:t+1|0,f[e+24>>2]=r,f[e+28>>2]=t,1}function Zt(e){var t=0,r=0;(e|=0)&&(t=f[e+88>>2],f[e+88>>2]=0,t&&((r=f[t+8>>2])&&(f[t+12>>2]=r,ee(r)),ee(t)),(t=f[e+68>>2])&&(f[e+72>>2]=t,ee(t)),t=f[e+64>>2],f[e+64>>2]=0,t&&((r=f[t>>2])&&(f[t+4>>2]=r,ee(r)),ee(t)),ee(e))}function Pt(e,t){var r,i=0,n=0;if((r=Nt(t))>>>0<4294967280){e:{if(r>>>0>=11)i=br(n=r+16&-16),f[e+8>>2]=-2147483648|n,f[e>>2]=i,f[e+4>>2]=r;else if(o[e+11|0]=r,i=e,!r)break e;ge(i,t,r)}return o[r+i|0]=0,e}oi(),E()}function Yt(e,t,r,i){var n,o=0,a=0;return n=(a=t^i)>>31,a>>=31,e=Ee((e^=o=t>>31)-o|0,o=(t^o)-((e>>>0<o>>>0)+o|0)|0,(t=r^(e=i>>31))-e|0,(e^i)-((e>>>0>t>>>0)+e|0)|0)^a,C=(n^C)-((e>>>0<a>>>0)+n|0)|0,t=e-a|0}function zt(e,t,r){var i,n=0;I=i=I-16|0,(n=2147483647&f[e+8>>2])>>>0>r>>>0?(n=f[e>>2],f[e+4>>2]=r,Lr(n,t,r),o[i+15|0]=0,o[r+n|0]=u[i+15|0]):nt(e,n-1|0,1+(r-n|0)|0,e=f[e+4>>2],e,r,t),I=i+16|0}function Jt(e,t,r,i){var n,o,a,f,s=0,c=0;return f=d(s=r>>>16|0,c=e>>>16|0),s=(65535&(c=((a=d(n=65535&r,o=65535&e))>>>16|0)+d(c,n)|0))+d(s,o)|0,C=(d(t,r)+f|0)+d(e,i)+(c>>>16)+(s>>>16)|0,65535&a|s<<16}function Qt(e,t,r){var i;if(!(i=f[e+16>>2]))return f[e+36>>2]=1,f[e+24>>2]=r,void(f[e+16>>2]=t);e:{if((0|t)==(0|i)){if(2!=f[e+24>>2])break e;return void(f[e+24>>2]=r)}o[e+54|0]=1,f[e+24>>2]=2,f[e+36>>2]=f[e+36>>2]+1}}function Lt(e){var t,r,i,n,o;t=0|N(8),f[t>>2]=11024,f[t>>2]=11068,i=br((r=Nt(e))+13|0),f[i+8>>2]=0,f[i+4>>2]=r,f[i>>2]=r,n=t,o=ge(i+12|0,e,r+1|0),f[n+4>>2]=o,f[t>>2]=11116,R(0|t,11148,13),E()}function Xt(e,t,r){var i=0;return(0|(i=e+4|0))==(0|(e=Ke(e,t)))?0:((0|(t=f[e+32>>2]))!=(0|(i=f[e+28>>2]))&&(Ne(r,t-i|0),ge(lr(r),r=f[e+28>>2],f[e+32>>2]-r|0)),(0|t)!=(0|i))}function Ht(e,t){var r,i=0;if(r=f[e+8>>2],e=f[e+12>>2]-r|0)for(i=(e>>=2)>>>0>1?e:1,e=0;;){if(f[f[(e<<2)+r>>2]+60>>2]==(0|t))return e;if((0|i)==(0|(e=e+1|0)))break}return-1}function qt(e){return f[e+8>>2]=0,f[e+12>>2]=0,f[e>>2]=0,f[e+40>>2]=0,f[e+44>>2]=0,f[e+28>>2]=9,o[e+24|0]=1,f[e+56>>2]=-1,f[e+60>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,e}function $t(e){f[e+40>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=10064,f[e+12>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+32>>2]=0,a[e+36>>1]=0,f[e+44>>2]=0,f[e>>2]=8108}function Kt(e,t,r){var i=0;return t&&(t=0,!function e(t,r,i){var n=0,a=0,s=0,c=0;e:if(!(t>>>0>10||(0|(n=f[i+20>>2]))>=(0|(a=f[i+12>>2]))&(s=f[i+16>>2])>>>0>=b[i+8>>2]|(0|n)>(0|a))){if(a=o[s+f[i>>2]|0],n=(s=s+1|0)?n:n+1|0,f[i+16>>2]=s,f[i+20>>2]=n,(0|a)<0){if(!e(t+1|0,r,i))break e;i=f[r>>2],t=f[r+4>>2]<<7|i>>>25,i=127&a|i<<7}else t=0,i=255&a;f[r>>2]=i,f[r+4>>2]=t,c=1}return c}(1,r,e))||(o[e+36|0]=1,f[e+32>>2]=0,r=(t=f[e+16>>2])+f[e>>2]|0,f[e+24>>2]=r,i=e,e=f[e+8>>2],f[i+28>>2]=r+(e-t|0),t=1),t}function er(e){var t,r;return(e=(t=f[2853])+(r=e+3&-4)|0)>>>0<=t>>>0&&r||e>>>0>hi()<<16>>>0&&!(0|x(0|e))?(f[2879]=48,-1):(f[2853]=e,t)}function tr(e,t,r){var i;I=i=I-16|0,r>>>0<=10?(o[e+11|0]=r,Lr(e,t,r),o[i+15|0]=0,o[e+r|0]=u[i+15|0]):nt(e,10,r-10|0,e=u[e+11|0],e,r,t),I=i+16|0}function rr(e,t){t&&(rr(e,f[t>>2]),rr(e,f[t+4>>2]),e=f[t+28>>2],f[t+28>>2]=0,e&&(rr(e+12|0,f[e+16>>2]),ur(e,f[e+4>>2]),ee(e)),o[t+27|0]<0&&ee(f[t+16>>2]),ee(t))}function ir(e){var t=0;return!f[(e|=0)- -64>>2]|!f[e+68>>2]|!f[e+44>>2]|!f[e+48>>2]||!f[e+52>>2]|!f[e+56>>2]||(t=-1!=f[e+92>>2]),0|t}function nr(e){var t=0;return f[(e|=0)>>2]=2164,t=f[e+20>>2],f[e+20>>2]=0,t&&_i[f[f[t>>2]+4>>2]](t),f[e>>2]=1948,t=f[e+16>>2],f[e+16>>2]=0,t&&Zt(t),0|e}function or(e){var t=0;return!f[48+(e|=0)>>2]|!f[e+52>>2]|!f[e+28>>2]|!f[e+32>>2]||!f[e+36>>2]|!f[e+40>>2]||(t=-1!=f[e+76>>2]),0|t}function ar(e){var t=0;return f[(e|=0)>>2]=8652,(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),f[e>>2]=8904,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),0|e}function fr(e){var t=0;f[(e|=0)>>2]=2164,t=f[e+20>>2],f[e+20>>2]=0,t&&_i[f[f[t>>2]+4>>2]](t),f[e>>2]=1948,t=f[e+16>>2],f[e+16>>2]=0,t&&Zt(t),ee(e)}function sr(e,t){var r=0;return r=-1,-1==(0|t)|(0|t)>4||(t=d(t,12)+e|0,e=f[t+20>>2],(f[t+24>>2]-e|0)<=0||(r=f[e>>2])),r}function cr(e,t,r,i,n,a,s){f[e>>2]=0,f[e+56>>2]=t,f[e+48>>2]=0,f[e+52>>2]=0,f[e+40>>2]=a,f[e+44>>2]=s,o[e+32|0]=n,f[e+28>>2]=i,o[e+24|0]=r}function ur(e,t){t&&(ur(e,f[t>>2]),ur(e,f[t+4>>2]),(e=f[t+28>>2])&&(f[t+32>>2]=e,ee(e)),o[t+27|0]<0&&ee(f[t+16>>2]),ee(t))}function lr(e){return(u[e+11|0]>>>7|0?f[e+4>>2]:u[e+11|0])||(pi(),E()),u[e+11|0]>>>7|0&&(e=f[e>>2]),e}function br(e){var t=0;e=e||1;e:{for(;;){if(t=M(e))break e;if(!(t=f[2880]))break;_i[0|t]()}T(),E()}return t}function Ar(e,t){t&&(Ar(e,f[t>>2]),Ar(e,f[t+4>>2]),o[t+39|0]<0&&ee(f[t+28>>2]),o[t+27|0]<0&&ee(f[t+16>>2]),ee(t))}function pr(e){var t,r;return f[(e|=0)>>2]=11068,t=f[e+4>>2]-12|0,r=f[t+8>>2]-1|0,f[t+8>>2]=r,(0|r)<0&&ee(t),0|e}function dr(e,t){e|=0;var r=0;e:switch(0|(t|=0)){case 1:t=1;case 0:f[e+28>>2]=t,r=1}return 0|r}function _r(e,t,r){return t|=0,r|=0,f[4+(e|=0)>>2]=t,t=f[f[f[t+4>>2]+8>>2]+(r<<2)>>2],f[e+12>>2]=r,f[e+8>>2]=t,1}function hr(e){var t=0;return!f[60+(e|=0)>>2]|!f[e+44>>2]|!f[e+48>>2]|!f[e+52>>2]||(t=0!=f[e+56>>2]),0|t}function kr(e,t){var r,i;lt(e,t),r=t=f[e+28>>2],i=t+1|0,t=f[e+24>>2]+1|0,f[e+24>>2]=t,f[e+28>>2]=t?r:i}function mr(e){var t=0;return!f[52+(e|=0)>>2]|!f[e+44>>2]|!f[e+48>>2]||(t=0!=f[e+56>>2]),0|t}function yr(e,t){e|=0;var r=0;return f[56+(t|=0)>>2]|!t|3!=u[t+24|0]||(f[e+60>>2]=t,r=1),0|r}function vr(e,t){e|=0;var r=0;return f[56+(t|=0)>>2]|3!=u[t+24|0]||(f[e- -64>>2]=t,r=1),0|r}function gr(e,t){e|=0;var r=0;return f[56+(t|=0)>>2]|3!=u[t+24|0]||(f[e+48>>2]=t,r=1),0|r}function wr(e){var t;f[(e|=0)>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)}function Er(e){for(var t=0;e;)e&=e-1,t=t+1|0;return t}function Tr(){var e;return e=br(12),f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,0|e}function Br(e){var t=0;(e|=0)&&((t=f[e>>2])&&(f[e+4>>2]=t,ee(t)),ee(e))}function xr(e){var t;return(-1>>>(t=31&e)&-2)<<t|(-1<<(e=0-e&31)&-2)>>>e}function Rr(e,t){return t|=0,0|_i[f[f[(e|=0)>>2]+12>>2]](e,t)}function Nr(e,t){return t|=0,f[f[(e|=0)>>2]+(t<<2)>>2]}function Ir(e,t,r){return 0|ae(e|=0,t|=0,r|=0)}function Cr(e){return e?31-k(e-1^e)|0:32}function Dr(e){return f[e>>2]=10332,Ye(e+4|0,0,80),e}function Mr(e){return f[12+(e|=0)>>2]-f[e+8>>2]>>2}function Gr(e){(e|=0)&&_i[f[f[e>>2]+4>>2]](e)}function Ur(e,t){return t|=0,f[4+(e|=0)>>2]=t,1}function Vr(e){return f[4+(e|=0)>>2]-f[e>>2]>>1}function Sr(e){return f[4+(e|=0)>>2]-f[e>>2]>>2}function Fr(e){return f[4+(e|=0)>>2]-f[e>>2]|0}function Wr(e){return f[28+(e|=0)>>2]}function jr(e){return f[80+(e|=0)>>2]}function Or(e,t){return 1}function Zr(e,t){return-1}function Pr(e){return f[8+(e|=0)>>2]}function Yr(e){return f[4+(e|=0)>>2]}function zr(e,t){return 6}function Jr(e,t){return 0}function Qr(e){return f[(e|=0)>>2]}function Lr(e,t,r){r&&ge(e,t,r)}function Xr(e){(e|=0)&&ee(e)}function Hr(e){return 0|(e|=0)}function qr(e){return 1}function $r(e){return 4}function Kr(e){return 5}function ei(e){return 0}function ti(e){return 2}function ri(e){return 6}function ii(){Lt(1266),E()}function ni(e){ee(e|=0)}function oi(){Lt(1313),E()}function ai(e){E()}function fi(){return-1}function si(){return 1}function ci(){pi(),E()}function ui(){return 0}function li(){return 3}function bi(){return 4}function Ai(){return 2}function pi(){T(),E()}function di(e){}n(t=u,1028,"YAQAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAABALAAAOAQAAPwGAAAAAAAA0AQAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAAAoAAAAXAAAAGAAAAE41ZHJhY28zMEF0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybUUAAAAAQCwAAKQEAAD8BgAAX19uZXh0X3ByaW1lIG92ZXJmbG93AHZlY3RvcgBzdGQ6OmV4Y2VwdGlvbgBza2lwX2F0dHJpYnV0ZV90cmFuc2Zvcm0AYmFzaWNfc3RyaW5nAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUARFJBQ08AVXNpbmcgaW5jb21wYXRpYmxlIGRlY29kZXIgZm9yIHRoZSBpbnB1dCBnZW9tZXRyeS4ARmFpbGVkIHRvIGRlY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0aGUgZGVjb2Rlci4AVW5zdXBwb3J0ZWQgbWlub3IgdmVyc2lvbi4AVW5zdXBwb3J0ZWQgbWFqb3IgdmVyc2lvbi4ASW5wdXQgaXMgbm90IGEgbWVzaC4AVW5zdXBwb3J0ZWQgZ2VvbWV0cnkgdHlwZS4ATm90IGEgRHJhY28gZmlsZS4AVW5zdXBwb3J0ZWQgZW5jb2RpbmcgbWV0aG9kLgBGYWlsZWQgdG8gZGVjb2RlIG1ldGFkYXRhLgBGYWlsZWQgdG8gZGVjb2RlIGdlb21ldHJ5IGRhdGEuAFB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsZWQhAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUAABgsAADeBgAAAAAAAIgHAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAABONWRyYWNvMTdBdHRyaWJ1dGVzRGVjb2RlckUATjVkcmFjbzI2QXR0cmlidXRlc0RlY29kZXJJbnRlcmZhY2VFAAAAABgsAABYBwAAQCwAADwHAACABwAAAAAAAOgHAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAABONWRyYWNvMjZTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlckUAAAAAGCwAAMAHAAD/////AAAAAGAIAAAuAAAALwAAABsAAAAwAAAAMQAAAB4AAAAfAAAAIAAAADIAAAAzAAAANAAAADUAAAA2AAAATjVkcmFjbzM3U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJzQ29udHJvbGxlckUAQCwAADAIAACIBwAAAAAAANQIAAA3AAAAOAAAADkAAAAoAAAAKQAAACoAAAA6AAAALAAAADsAAAA8AAAAPQAAAD4AAAA/AAAATjVkcmFjbzMzU2VxdWVudGlhbEludGVnZXJBdHRyaWJ1dGVEZWNvZGVyRQBALAAAqAgAAOgHAAAAAAAAYAsAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMzdQcmVkaWN0aW9uU2NoZW1lVHlwZWREZWNvZGVySW50ZXJmYWNlSWlpRUUATjVkcmFjbzMyUHJlZGljdGlvblNjaGVtZURlY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNVByZWRpY3Rpb25TY2hlbWVJbnRlcmZhY2VFABgsAAAECwAAQCwAANkKAAAoCwAAQCwAAKUKAAAwCwAAQCwAAFEKAAA8CwAAQCwAALsJAABICwAAQCwAABgJAABUCwAAAAAAAFQLAABAAAAATAAAACIAAABDAAAAIgAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAACIAAAAAAAAASAsAAEAAAABNAAAAIgAAAEMAAAAiAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAAIgAAAAAAAADIDAAATgAAAE8AAABQAAAAQwAAAFEAAABFAAAARgAAAEcAAABIAAAASQAAAFIAAABTAAAATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAQCwAABQMAABUCwAAAAAAALQNAABUAAAAVQAAAFYAAABDAAAAVwAAAFgAAABZAAAAWgAAAEgAAABJAAAAWwAAAFwAAABONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAABALAAADA0AAFQLAAAAAAAAoA4AAF0AAABeAAAAXwAAAEMAAABgAAAAYQAAAGIAAABjAAAASAAAAEkAAABkAAAAZQAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAAEAsAAD4DQAAVAsAAAAAAAAoEAAAZgAAAGcAAABoAAAAaQAAAGoAAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAABgsAABzDwAAQCwAAMgOAAAgEAAAAAAAACAQAABmAAAAawAAACIAAABpAAAAIgAAAAAAAAC0EQAAQAAAAGwAAABtAAAAQwAAAG4AAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABvAAAATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAQCwAAB4RAABICwAAQCwAAIgQAACoEQAAAAAAAKgRAABAAAAAcAAAACIAAABDAAAAIgAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAACIAAAAAAAAA2BIAAHEAAAByAAAAcwAAAEMAAAB0AAAARQAAAEYAAABHAAAASAAAAEkAAAB1AAAAdgAAAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAEAsAAAwEgAAqBEAAAAAAAC4EwAAdwAAAHgAAAB5AAAAQwAAAHoAAAB7AAAAfAAAAH0AAABIAAAASQAAAH4AAAB/AAAATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAQCwAABwTAACoEQAAAAAAAJQUAACAAAAAgQAAAIIAAABDAAAAgwAAAIQAAACFAAAAhgAAAEgAAABJAAAAhwAAAIgAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAEAsAAD8EwAAqBEAAAAAAAAAFgAAiQAAAIoAAACLAAAAjAAAAI0AAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAGCwAAFoVAABALAAAvBQAAPgVAAAAAAAA+BUAAIkAAACOAAAAIgAAAIwAAAAiAAAAAAAAALwWAABAAAAAjwAAAJAAAABDAAAAkQAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAJIAAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAAAAAEAsAABgFgAASAsAAAAAAAAwFwAAkwAAAJQAAACVAAAAKAAAACkAAACWAAAAOgAAACwAAAA7AAAAlwAAAJgAAACZAAAAmgAAAE41ZHJhY28zMlNlcXVlbnRpYWxOb3JtYWxBdHRyaWJ1dGVEZWNvZGVyRQAAQCwAAAQXAADUCAAAAAAAAGQZAACbAAAAnAAAAJ0AAACeAAAAnwAAAKAAAAChAAAAogAAAKMAAACkAAAApQAAAKYAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQAAQCwAAN8YAAA8CwAAQCwAADEYAABMGQAAQCwAAHQXAABYGQAAAAAAABwbAACnAAAAqAAAAKkAAACqAAAAqwAAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAGCwAAE8aAABALAAAjBkAABQbAAAAAAAAwBwAAKwAAACtAAAArgAAAJ4AAACvAAAAsAAAALEAAACyAAAAowAAAKQAAACzAAAAtAAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAABALAAAEBwAAEwZAABALAAAYBsAALQcAAAAAAAAXB4AALUAAAC2AAAAtwAAALgAAAC5AAAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFABgsAACeHQAAQCwAAOgcAABUHgAAAAAAABQfAAC6AAAAuwAAALwAAACeAAAAvQAAAL4AAAC/AAAAwAAAAKMAAACkAAAAwQAAAMIAAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAAAAAEAsAACgHgAATBkAAAAAAACYHwAAwwAAAMQAAADFAAAAKAAAACkAAADGAAAAOgAAACwAAAA7AAAAxwAAAD0AAAA+AAAAyAAAAMkAAADKAAAATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZURlY29kZXJFAAAAAEAsAABkHwAA1AgAAAAAAAD4HwAAywAAAMwAAADNAAAAzgAAACIAAADPAAAA0AAAANEAAADSAAAA0wAAANQAAADVAAAAIgAAAE41ZHJhY28xMU1lc2hEZWNvZGVyRQAAAEAsAADgHwAAvCcAAAAAAABkIAAA1gAAANcAAADNAAAA2AAAANkAAADPAAAA0AAAANEAAADaAAAA2wAAANwAAADdAAAA3gAAAE41ZHJhY28yMk1lc2hFZGdlYnJlYWtlckRlY29kZXJFAAAAAEAsAABAIAAA+B8AAAAAAABYIQAA3wAAAOAAAADhAAAA4gAAAOMAAADkAAAA5QAAAOYAAADnAAAA6AAAAP////8AAAAAuCEAAOkAAADqAAAA6wAAAOwAAADtAAAA7gAAAO8AAADwAAAA8QAAAPIAAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zMU1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbERlY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VicmVha2VyRGVjb2RlckltcGxJbnRlcmZhY2VFAAAAGCwAACAhAABALAAA1CAAAFAhAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zOE1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbFZhbGVuY2VEZWNvZGVyRUVFAABALAAAZCEAAFAhAAAAAAAAtCIAAPMAAAD0AAAA9QAAAE41ZHJhY28xOURlcHRoRmlyc3RUcmF2ZXJzZXJJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUAGCwAAEUiAABALAAA2CEAAKwiAAAAAAAArCIAAPYAAAD3AAAA9Q=="),n(t,8932,"AQAAAAMAAAAFAAAABwAAAAAAAAC4IwAA+AAAAPkAAAD6AAAA+wAAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUAAAAAGCwAAJMjAABALAAADCMAALAjAAD/////AAAAAKgkAAD8AAAA/QAAAP4AAABONWRyYWNvMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQAAGCwAAEUkAABALAAA3CMAAKAkAAAAAAAAoCQAAP8AAAAAAQAA/gAAAAAAAABgJQAAAQEAAAIBAAADAQAABAEAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAAAAQCwAAOAkAACwIwAAAAAAAOAlAAAFAQAABgEAAP4AAABONWRyYWNvMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBALAAAgCUAAKAkAAAAAAAAkCYAAAcBAAAIAQAACQEAAAoBAABONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzE5RGVwdGhGaXJzdFRyYXZlcnNlcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTMl9FRUVFRUUAAEAsAAAEJgAAsCM="),n(t,9892,"/CYAAMsAAAALAQAAzQAAAM4AAAAMAQAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAAA0BAABONWRyYWNvMjFNZXNoU2VxdWVudGlhbERlY29kZXJFAEAsAADcJgAA+B8AAAAAAAA8JwAADgEAAA8BAAAQAQAAEQEAAE41ZHJhY28xNUxpbmVhclNlcXVlbmNlckUAAABALAAAICcAALAjAAAAAAAAvCcAAMsAAAASAQAAEwEAAM4AAAAiAAAAFAEAANAAAADRAAAA0g=="),n(t,10112,"RmFpbGVkIHRvIHBhcnNlIERyYWNvIGhlYWRlci4ATjVkcmFjbzE3UG9pbnRDbG91ZERlY29kZXJFAAAAGCwAAJ4nAAABAAAAAQAAAAIAAAACAAAABAAAAAQAAAAIAAAACAAAAAQAAAAIAAAAAQ=="),n(t,10243,"wAAAAMAAAADAAAAAwP//////////AAAAAEAoAAAVAQAAFgEAABcBAAAYAQAATjVkcmFjbzRNZXNoRQAAAEAsAAAwKAAAhCgAAP////8AAAAAAAAAAIQoAAAZAQAAGgEAABsBAAAcAQAATjVkcmFjbzEwUG9pbnRDbG91ZEUAAAAAGCwAAGwo"),n(t,10388,"AgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAAwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OQ=="),n(t,10980,"CgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUAypo7AAAAACwrAAAdAQAAHgEAAB8BAABTdDlleGNlcHRpb24AAAAAGCwAABwrAAAAAAAAWCsAAA0AAAAgAQAAIQEAAFN0MTFsb2dpY19lcnJvcgBALAAASCsAACwrAAAAAAAAjCsAAA0AAAAiAQAAIQEAAFN0MTJsZW5ndGhfZXJyb3IAAAAAQCwAAHgrAABYKwAAU3Q5dHlwZV9pbmZvAAAAABgsAACYKwAATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAAAAAQCwAALArAACoKwAATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAAAAQCwAAOArAADUKwAAAAAAAAQsAAAjAQAAJAEAACUBAAAmAQAAJwEAACgBAAApAQAAKgEAAAAAAACILAAAIwEAACsBAAAlAQAAJgEAACcBAAAsAQAALQEAAC4BAABOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UAAAAAQCwAAGAsAAAELA=="),n(t,11413,"L1A=");var _i=function(e){return e.set=function(e,t){this[e]=t},e.get=function(e){return this[e]},e}([null,Hr,ni,ti,function(e,t){e|=0;var r=0;return!(t=f[88+(t|=0)>>2])|2!=f[t>>2]||(r=e,e=f[t+8>>2],f[r+4>>2]=u[0|e]|u[e+1|0]<<8|u[e+2|0]<<16|u[e+3|0]<<24,r=1),0|r},function(e,t){e|=0;var r,i=0;f[(t|=0)>>2]=2,i=f[t+8>>2],(r=f[t+12>>2]-i|0)>>>0<=4294967291&&(kr(t+8|0,r+4|0),i=f[t+8>>2]),t=i+r|0,e=f[e+4>>2],o[0|t]=e,o[t+1|0]=e>>>8,o[t+2|0]=e>>>16,o[t+3|0]=e>>>24},function(e,t,r,i){e|=0,t|=0,r|=0;var n,o=0,a=0,s=0,c=0,l=0,b=0,p=0;if(s=f[80+(i|=0)>>2],I=n=I-48|0,!((e=f[e+4>>2])-31>>>0<4294967267))if(c=f[f[i>>2]>>2]+f[i+48>>2]|0,f[n+16>>2]=e,e=-1<<e,f[n+20>>2]=-1^e,e=-2-e|0,f[n+24>>2]=e,f[n+32>>2]=(0|e)/2,A[n+28>>2]=_(2)/_(0|e),(0|(a=f[r>>2]))==f[r+4>>2])if(s)for(i=0,e=0;l=n+36|0,r=f[f[t>>2]>>2],o=f[t+40>>2],ge(l,r+(a=f[t+48>>2]+Jt(o,f[t+44>>2],u[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],0)|0)|0,o),Ge(n+16|0,l,n+12|0,n+8|0),f[(r=i<<2)+c>>2]=f[n+12>>2],f[(4|r)+c>>2]=f[n+8>>2],i=i+2|0,o=1,(0|s)!=(0|(e=e+1|0)););else o=1;else for(e=0,i=0;o=f[(i<<2)+a>>2],s=n+36|0,l=f[f[t>>2]>>2],p=f[t+48>>2],a=f[t+44>>2],b=f[t+40>>2],u[t+84|0]||(o=f[f[t+68>>2]+(o<<2)>>2]),ge(s,(o=Jt(b,a,o,0)+p|0)+l|0,b),Ge(n+16|0,s,n+12|0,n+8|0),f[(a=e<<2)+c>>2]=f[n+12>>2],f[(4|a)+c>>2]=f[n+8>>2],o=1,e=e+2|0,i=i+1|0,a=f[r>>2],i>>>0<f[r+4>>2]-a>>2>>>0;);return I=n+48|0,0|o},Me,function(e,t){t|=0;var r,i=0;return I=r=I-16|0,-1!=(0|(e=f[4+(e|=0)>>2]))&&(o[r+15|0]=e,i=f[t+20>>2],!!f[t+16>>2]&(0|i)>=0|(0|i)>0||de(t,f[t+4>>2],r+15|0,r+16|0)),I=r+16|0,-1!=(0|e)|0},It,function(e,t,r){var i,n,a,s,c,u;return t|=0,r|=0,I=i=I+-64|0,n=0|_i[f[f[(e|=0)>>2]+44>>2]](e,t),e=0|_i[f[f[e>>2]+40>>2]](e,t),a=qt(i),s=f[t+56>>2],c=n<<24>>24,u=e,e=(e=e-1|0)>>>0<=10?f[10180+(e<<2)>>2]:-1,cr(a,s,c,u,0,e=d(e,n),e>>31),He(e=$e(br(96),a),r),o[e+84|0]=1,f[e+72>>2]=f[e+68>>2],f[e+60>>2]=f[t+60>>2],I=i- -64|0,0|e},zr,function(e,t){return 2},pr,function(e){var t;return f[(e|=0)>>2]=1140,(t=f[e+8>>2])&&(f[e+12>>2]=t,ee(t)),0|e},function(e){var t;f[(e|=0)>>2]=1140,(t=f[e+8>>2])&&(f[e+12>>2]=t,ee(t)),ee(e)},qr,function(e,t){e|=0;var r=0,i=0,n=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0;if(!(!(r=f[88+(t|=0)>>2])|1!=f[r>>2])){if(i=f[r+8>>2],f[e+4>>2]=u[0|i]|u[i+1|0]<<8|u[i+2|0]<<16|u[i+3|0]<<24,i=o[t+24|0],n=f[e+8>>2],i>>>0>(a=f[e+12>>2]-n>>2)>>>0?(st(e+8|0,i-a|0),i=o[t+24|0],n=f[e+8>>2]):i>>>0>=a>>>0||(f[e+12>>2]=(i<<2)+n),A=1,a=f[r+8>>2],(0|i)<=0)t=4;else{if(c=3&i,i-1>>>0<3)t=4,i=0;else for(p=-4&i,i=0,t=4;r=t+a|0,f[(s=i<<2)+n>>2]=u[0|r]|u[r+1|0]<<8|u[r+2|0]<<16|u[r+3|0]<<24,f[(4|s)+n>>2]=u[r+4|0]|u[r+5|0]<<8|u[r+6|0]<<16|u[r+7|0]<<24,f[(8|s)+n>>2]=u[r+8|0]|u[r+9|0]<<8|u[r+10|0]<<16|u[r+11|0]<<24,f[(12|s)+n>>2]=u[r+12|0]|u[r+13|0]<<8|u[r+14|0]<<16|u[r+15|0]<<24,i=i+4|0,t=t+16|0,(0|p)!=(0|(l=l+4|0)););if(c)for(;r=t+a|0,f[(i<<2)+n>>2]=u[0|r]|u[r+1|0]<<8|u[r+2|0]<<16|u[r+3|0]<<24,i=i+1|0,t=t+4|0,(0|(b=b+1|0))!=(0|c););}r=e,e=t+a|0,f[r+20>>2]=u[0|e]|u[e+1|0]<<8|u[e+2|0]<<16|u[e+3|0]<<24}return 0|A},function(e,t){e|=0;var r,i=0,n=0,a=0,s=0;if(f[(t|=0)>>2]=1,r=t+8|0,i=f[t+8>>2],(n=f[t+12>>2]-i|0)>>>0<=4294967291&&(kr(r,n+4|0),i=f[r>>2]),i=i+n|0,n=f[e+4>>2],o[0|i]=n,o[i+1|0]=n>>>8,o[i+2|0]=n>>>16,o[i+3|0]=n>>>24,(0|(i=f[e+8>>2]))!=f[e+12>>2])for(n=0;s=(n<<2)+i|0,i=f[t+8>>2],(a=f[t+12>>2]-i|0)>>>0<=4294967291&&(kr(r,a+4|0),i=f[r>>2]),i=i+a|0,a=f[s>>2],o[0|i]=a,o[i+1|0]=a>>>8,o[i+2|0]=a>>>16,o[i+3|0]=a>>>24,n=n+1|0,i=f[e+8>>2],n>>>0<f[e+12>>2]-i>>2>>>0;);(i=(i=f[t+12>>2])-(t=f[t+8>>2])|0)>>>0<=4294967291&&(kr(r,i+4|0),t=f[r>>2]),t=t+i|0,e=f[e+20>>2],o[0|t]=e,o[t+1|0]=e>>>8,o[t+2|0]=e>>>16,o[t+3|0]=e>>>24},function(e,t,r,i){e|=0,t|=0,r|=0,i|=0;var n,a=_(0),s=0,c=0,l=0,b=0,p=0,d=_(0),k=0,m=0,y=0,g=0,w=0,E=0,T=0,B=0,x=0,R=0,N=0,C=0,D=0,M=0;if(f[r>>2]==f[r+4>>2]){if(c=f[i+80>>2],I=R=I-16|0,p=f[e+4>>2],l=f[i+48>>2],i=f[f[i>>2]>>2],b=o[t+24|0],f[(r=R+8|0)>>2]=1065353216,x=r,A[r>>2]=_(-1<<p^-1)/A[e+20>>2],N=br((0|b)!=(1073741823&b)?-1:b<<2),!(!c|(0|b)<=0))if(T=i+l|0,D=f[t>>2],r=f[t+48>>2],M=f[t+44>>2],C=f[t+40>>2],u[t+84|0])for(y=-2&b,B=1&b,t=0;;){if(w=ge(N,(l=f[D>>2])+(i=Jt(C,M,g,s)+r|0)|0,C),d=A[x>>2],k=f[e+8>>2],i=0,m=0,1!=(0|b))for(;l=T+(t<<2)|0,a=_(v(_(_(d*_(A[(E=i<<2)+w>>2]-A[k+E>>2]))+_(.5)))),p=_(h(a))<_(2147483648)?~~a:-2147483648,f[l>>2]=p,a=_(v(_(_(d*_(A[(p=4|E)+w>>2]-A[k+p>>2]))+_(.5)))),p=_(h(a))<_(2147483648)?~~a:-2147483648,f[l+4>>2]=p,i=i+2|0,t=t+2|0,(0|y)!=(0|(m=m+2|0)););if(B&&(l=T+(t<<2)|0,a=_(v(_(_(d*_(A[(i<<=2)+w>>2]-A[i+k>>2]))+_(.5)))),i=_(h(a))<_(2147483648)?~~a:-2147483648,f[l>>2]=i,t=t+1|0),g=i=g+1|0,!((0|c)!=(0|i)|(s=i?s:s+1|0)))break}else for(y=f[t+68>>2],B=-2&b,p=1&b,t=0;;){if(w=ge(N,(s=f[D>>2])+(i=Jt(C,M,f[y+(g<<2)>>2],0)+r|0)|0,C),d=A[x>>2],k=f[e+8>>2],i=0,m=0,1!=(0|b))for(;s=T+(t<<2)|0,a=_(v(_(_(d*_(A[(E=i<<2)+w>>2]-A[k+E>>2]))+_(.5)))),l=_(h(a))<_(2147483648)?~~a:-2147483648,f[s>>2]=l,a=_(v(_(_(d*_(A[(l=4|E)+w>>2]-A[k+l>>2]))+_(.5)))),l=_(h(a))<_(2147483648)?~~a:-2147483648,f[s+4>>2]=l,i=i+2|0,t=t+2|0,(0|B)!=(0|(m=m+2|0)););if(p&&(s=T+(t<<2)|0,a=_(v(_(_(d*_(A[(i<<=2)+w>>2]-A[i+k>>2]))+_(.5)))),i=_(h(a))<_(2147483648)?~~a:-2147483648,f[s>>2]=i,t=t+1|0),(0|c)==(0|(g=g+1|0)))break}return ee(N),I=R+16|0,1}if(I=R=I-16|0,x=f[e+4>>2],c=f[i+48>>2],s=f[f[i>>2]>>2],n=o[t+24|0],f[(i=R+8|0)>>2]=1065353216,l=i,A[i>>2]=_(-1<<x^-1)/A[e+20>>2],N=br((0|n)!=(1073741823&n)?-1:n<<2),D=f[r>>2],!(!(r=f[r+4>>2]-D|0)|(0|n)<=0))if(T=s+c|0,M=f[t>>2],i=f[t+48>>2],C=f[t+44>>2],g=f[t+40>>2],E=(r>>=2)>>>0>1?r:1,u[t+84|0])for(p=-2&n,x=1&n,t=0;;){if(k=ge(N,(s=f[M>>2])+(r=Jt(g,C,f[D+(m<<2)>>2],0)+i|0)|0,g),d=A[l>>2],y=f[e+8>>2],r=0,b=0,1!=(0|n))for(;s=T+(t<<2)|0,a=_(v(_(_(d*_(A[(B=r<<2)+k>>2]-A[y+B>>2]))+_(.5)))),c=_(h(a))<_(2147483648)?~~a:-2147483648,f[s>>2]=c,a=_(v(_(_(d*_(A[(c=4|B)+k>>2]-A[y+c>>2]))+_(.5)))),c=_(h(a))<_(2147483648)?~~a:-2147483648,f[s+4>>2]=c,r=r+2|0,t=t+2|0,(0|p)!=(0|(b=b+2|0)););if(x&&(s=T+(t<<2)|0,a=_(v(_(_(d*_(A[(r<<=2)+k>>2]-A[r+y>>2]))+_(.5)))),r=_(h(a))<_(2147483648)?~~a:-2147483648,f[s>>2]=r,t=t+1|0),(0|E)==(0|(m=m+1|0)))break}else for(B=f[t+68>>2],p=-2&n,x=1&n,t=0;;){if(w=ge(N,(s=f[M>>2])+(r=Jt(g,C,f[B+(f[D+(m<<2)>>2]<<2)>>2],0)+i|0)|0,g),d=A[l>>2],k=f[e+8>>2],r=0,b=0,1!=(0|n))for(;s=T+(t<<2)|0,a=_(v(_(_(d*_(A[(y=r<<2)+w>>2]-A[k+y>>2]))+_(.5)))),c=_(h(a))<_(2147483648)?~~a:-2147483648,f[s>>2]=c,a=_(v(_(_(d*_(A[(c=4|y)+w>>2]-A[k+c>>2]))+_(.5)))),c=_(h(a))<_(2147483648)?~~a:-2147483648,f[s+4>>2]=c,r=r+2|0,t=t+2|0,(0|p)!=(0|(b=b+2|0)););if(x&&(s=T+(t<<2)|0,a=_(v(_(_(d*_(A[(r<<=2)+w>>2]-A[r+k>>2]))+_(.5)))),r=_(h(a))<_(2147483648)?~~a:-2147483648,f[s>>2]=r,t=t+1|0),(0|E)==(0|(m=m+1|0)))break}return ee(N),I=R+16|0,1},Be,function(e,t){t|=0;var r,i,n=0,a=0;return I=r=I-16|0,-1!=(0|(i=f[4+(e|=0)>>2]))&&(n=f[t+20>>2],!!f[t+16>>2]&(0|n)>=0|(0|n)>0||(de(t,f[t+4>>2],f[e+8>>2],f[e+12>>2]),n=f[t+20>>2],!!f[t+16>>2]&(0|n)>=0|(0|n)>0||(n=e+20|0,de(t,f[t+4>>2],n,n+4|0),n=f[t+20>>2],a=f[t+16>>2],o[r+15|0]=f[e+4>>2],!!a&(0|n)>=0|(0|n)>0||de(t,f[t+4>>2],r+15|0,r+16|0)))),I=r+16|0,-1!=(0|i)|0},Ce,zr,function(e,t){return o[24+(t|=0)|0]},function(e){var t=0;return f[(e|=0)>>2]=1804,(t=f[e+16>>2])&&(f[e+20>>2]=t,ee(t)),(t=f[e+4>>2])&&(f[e+8>>2]=t,ee(t)),0|e},ai,function(e,t,r){return t|=0,r|=0,f[32+(e|=0)>>2]=r,f[e+28>>2]=t,1},ue,function(e,t){t|=0;var r=0;return 0|_i[f[f[(e|=0)>>2]+36>>2]](e,t)&&0|_i[f[f[e>>2]+40>>2]](e,t)&&(r=0|_i[f[f[e>>2]+44>>2]](e)),0|r},function(e,t){return t|=0,f[f[4+(e|=0)>>2]+(t<<2)>>2]},function(e){return f[8+(e|=0)>>2]-f[e+4>>2]>>2},Wr,Jr,function(){E()},Or,qr,function(e){var t;return f[(e|=0)>>2]=1948,t=f[e+16>>2],f[e+16>>2]=0,t&&Zt(t),0|e},function(e){var t;f[(e|=0)>>2]=1948,t=f[e+16>>2],f[e+16>>2]=0,t&&Zt(t),ee(e)},_r,function(e,t){return t|=0,f[12+(e|=0)>>2]=-1,f[e+8>>2]=t,1},function(e,t,r){t|=0,r|=0;var i,n=0;return i=f[8+(e|=0)>>2],o[i+24|0]<=0||He(i,f[t+4>>2]-f[t>>2]>>2)&&(n=0|_i[f[f[e>>2]+32>>2]](e,t,r)),0|n},function(e,t,r){return 1},Or,function(e,t){e|=0;var r=0,i=0,n=0,o=0,a=0;if((0|_i[f[f[(t|=0)>>2]+20>>2]](t))<=0)return 1;e:{for(;;){if(-1==(0|(i=sr(f[f[e+4>>2]+4>>2],0|_i[f[f[t>>2]+24>>2]](t,n)))))break e;if(o=f[e+4>>2],r=0,(0|i)<0||(a=f[o+4>>2],(0|i)>=f[a+12>>2]-f[a+8>>2]>>2||(r=f[f[o+8>>2]+(f[f[o+20>>2]+(i<<2)>>2]<<2)>>2],r=0|_i[f[f[r>>2]+32>>2]](r,i))),!r)break e;if(!(0|_i[f[f[t>>2]+28>>2]](t,r)))break e;if(n=n+1|0,!((0|_i[f[f[t>>2]+20>>2]](t))>(0|n)))break}return 1}return 0},function(e,t,r){e|=0,r|=0;var i,n,o=0,a=0,s=0,c=0,u=0,l=0,A=0,p=0;if(o=f[(t|=0)>>2],t=f[t+4>>2],n=br((0|(i=f[f[e+8>>2]+40>>2]))>=0?i:-1),s=1,!((0|(c=t-o|0))<=0||(t=0,s=0,o=0+f[r+20>>2]|0,o=(a=i+(u=f[r+16>>2])|0)>>>0<i>>>0?o+1|0:o,l=a,a=f[r+12>>2],l>>>0>b[r+8>>2]&(0|a)<=(0|o)|(0|o)>(0|a)))){for(s=(0|(A=c>>2))>1?A:1;a=ge(n,u+f[r>>2]|0,i),f[r+16>>2]=l,f[r+20>>2]=o,ge(f[f[f[e+8>>2]+64>>2]>>2]+t|0,a,i),(0|s)!=(0|(p=p+1|0))&&(t=t+i|0,o=0+f[r+20>>2]|0,o=(a=i+(u=f[r+16>>2])|0)>>>0<i>>>0?o+1|0:o,l=a,c=a,(0|(a=f[r+12>>2]))>=(0|o)&b[r+8>>2]>=c>>>0|(0|o)<(0|a)););s=(0|p)>=(0|A)}return ee(n),0|s},function(e){var t,r=0,i=0;if(f[(e|=0)>>2]=2044,r=f[e+60>>2],f[e+60>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),t=f[e+36>>2]){if((0|(i=f[e+40>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|t)!=(0|i););r=f[e+36>>2]}f[e+40>>2]=t,ee(r)}return f[e>>2]=1804,(r=f[e+16>>2])&&(f[e+20>>2]=r,ee(r)),(r=f[e+4>>2])&&(f[e+8>>2]=r,ee(r)),0|e},function(e){var t,r=0,i=0;if(f[(e|=0)>>2]=2044,r=f[e+60>>2],f[e+60>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),t=f[e+36>>2]){if((0|(i=f[e+40>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|t)!=(0|i););r=f[e+36>>2]}f[e+40>>2]=t,ee(r)}f[e>>2]=1804,(r=f[e+16>>2])&&(f[e+20>>2]=r,ee(r)),(r=f[e+4>>2])&&(f[e+8>>2]=r,ee(r)),ee(e)},function(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0,l=0,A=0,p=0,d=0,_=0;if(ue(e|=0,t|=0)){if(c=e+36|0,(a=0|_i[f[f[e>>2]+24>>2]](e))>>>0>(r=(i=f[e+40>>2])-(n=f[e+36>>2])>>2)>>>0)Ze(c,a-r|0);else if(!(r>>>0<=a>>>0)){if((0|(n=n+(a<<2)|0))!=(0|i))for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|i)!=(0|n););f[e+40>>2]=n}e:if((0|a)<=0)n=0;else if(n=1,!((0|(r=f[t+20>>2]))>=(0|(i=f[t+12>>2]))&(o=f[t+16>>2])>>>0>=b[t+8>>2]|(0|r)>(0|i)))for(i=0;;){if(s=u[o+f[t>>2]|0],r=(o=o+1|0)?r:r+1|0,f[t+16>>2]=o,f[t+20>>2]=r,o=0|_i[f[f[e>>2]+48>>2]](e,s),l=(s=i<<2)+f[e+36>>2]|0,r=f[l>>2],f[l>>2]=o,r&&_i[f[f[r>>2]+4>>2]](r),!(r=f[f[c>>2]+s>>2]))break e;if(p=r,d=0|_i[f[f[e>>2]+28>>2]](e),_=0|_i[f[f[e>>2]+20>>2]](e,i),A=f[f[r>>2]+8>>2],!(0|_i[A](0|p,0|d,0|_)))break e;if(n=(0|a)>(0|(i=i+1|0)),(0|i)==(0|a))break e;if(o=f[t+16>>2],r=f[t+20>>2],s=f[t+12>>2],!(o>>>0<b[t+8>>2]&(0|r)<=(0|s)|(0|r)<(0|s)))break}e=!n}else e=0;return 0|e},function(e,t){t|=0;var r=0,i=0,n=0,o=0,a=0;if((r=f[60+(e|=0)>>2])&&(f[r+4>>2]=e+48,0|_i[f[f[r>>2]+12>>2]](r))){e:if(!((0|(r=0|_i[f[f[e>>2]+24>>2]](e)))<=0)){for(;;){if(o=f[4+(0|_i[f[f[e>>2]+28>>2]](e))>>2],a=0|_i[f[f[e>>2]+20>>2]](e,i),n=f[e+60>>2],0|_i[f[f[n>>2]+8>>2]](n,f[f[o+8>>2]+(a<<2)>>2])){if((0|r)!=(0|(i=i+1|0)))continue;break e}break}return 0}i=0,0|_i[f[f[e>>2]+36>>2]](e,t)&&0|_i[f[f[e>>2]+40>>2]](e,t)&&(i=0|_i[f[f[e>>2]+44>>2]](e))}return 0|i},function(e,t){t|=0;var r,i=0;return r=f[16+(e|=0)>>2],i=0,f[e+20>>2]-r>>2<=(0|t)||(i=0,(0|(t=f[(t<<2)+r>>2]))<0||(i=tt(f[f[e+36>>2]+(t<<2)>>2]))),0|i},function(e,t){t|=0;var r,i=0,n=0,o=0,a=0;if(i=1,!((0|(r=0|_i[f[f[(e|=0)>>2]+24>>2]](e)))<=0)&&(n=f[f[e+36>>2]>>2],o=e+48|0,i=0,0|_i[f[f[n>>2]+16>>2]](n,o,t))){for(n=1;(0|r)!=(0|(i=n))&&(n=i+1|0,a=f[f[e+36>>2]+(i<<2)>>2],0|_i[f[f[a>>2]+16>>2]](a,o,t)););i=(0|i)>=(0|r)}return 0|i},function(e,t){t|=0;var r,i=0,n=0,o=0,a=0;if(i=1,!((0|(r=0|_i[f[f[(e|=0)>>2]+24>>2]](e)))<=0)&&(n=f[f[e+36>>2]>>2],o=e+48|0,i=0,0|_i[f[f[n>>2]+20>>2]](n,o,t))){for(n=1;(0|r)!=(0|(i=n))&&(n=i+1|0,a=f[f[e+36>>2]+(i<<2)>>2],0|_i[f[f[a>>2]+20>>2]](a,o,t)););i=(0|i)>=(0|r)}return 0|i},function(e){var t,r,i=0,n=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0;I=t=I-16|0,k=1;e:if((0|(r=0|_i[f[f[(e|=0)>>2]+24>>2]](e)))<=0)k=0;else for(y=e+48|0;;){t:{if(f[40+(0|_i[f[f[e>>2]+28>>2]](e))>>2]&&(i=f[(s=_<<2)+f[e+36>>2]>>2],a=f[i+8>>2],l=tt(i))){i=f[40+(0|_i[f[f[e>>2]+28>>2]](e))>>2],b=f[a+56>>2],n=br(32),f[t>>2]=n,f[t+4>>2]=24,f[t+8>>2]=-2147483616,o[n+24|0]=0,c=u[1308]|u[1309]<<8|u[1310]<<16|u[1311]<<24,a=u[1304]|u[1305]<<8|u[1306]<<16|u[1307]<<24,o[n+16|0]=a,o[n+17|0]=a>>>8,o[n+18|0]=a>>>16,o[n+19|0]=a>>>24,o[n+20|0]=c,o[n+21|0]=c>>>8,o[n+22|0]=c>>>16,o[n+23|0]=c>>>24,c=u[1300]|u[1301]<<8|u[1302]<<16|u[1303]<<24,a=u[1296]|u[1297]<<8|u[1298]<<16|u[1299]<<24,o[n+8|0]=a,o[n+9|0]=a>>>8,o[n+10|0]=a>>>16,o[n+11|0]=a>>>24,o[n+12|0]=c,o[n+13|0]=c>>>8,o[n+14|0]=c>>>16,o[n+15|0]=c>>>24,c=u[1292]|u[1293]<<8|u[1294]<<16|u[1295]<<24,a=u[1288]|u[1289]<<8|u[1290]<<16|u[1291]<<24,o[0|n]=a,o[n+1|0]=a>>>8,o[n+2|0]=a>>>16,o[n+3|0]=a>>>24,o[n+4|0]=c,o[n+5|0]=c>>>8,o[n+6|0]=c>>>16,o[n+7|0]=c>>>24,p=c=i+16|0;r:if(A=f[c>>2]){for(;p=(a=(0|b)>f[A+16>>2])?p:A,A=f[(a<<2)+A>>2];);if(!((0|c)==(0|p)|(0|b)<f[p+16>>2])&&(A=f[p+24>>2]))for(a=p+20|0;;){i:{n:{o:{if(p=(m=(h=(b=(c=u[A+27|0])<<24>>24<0)?f[A+20>>2]:c)>>>0<24)?h:24){c=A+16|0;a:{if(!(c=xt(n,b=b?f[c>>2]:c,p))){if(h>>>0<=24)break a;break i}if((0|c)<0)break i}if(!(c=xt(b,n,p)))break o;if((0|c)<0)break n;i=a;break r}if(h>>>0>24)break i}if(!m){i=a;break r}}A=A+4|0}if(!(A=f[A>>2]))break}}if(A=0,(0|(a=i+4|0))!=(0|(i=Ke(i,t)))){for(a=o[i+39|0]<0?f[i+28>>2]:i+28|0,p=0,c=0;a=(i=a)+1|0,32==(0|(n=o[0|i]))|n-9>>>0<5;);r:{i:{n:switch((n=o[0|i])-43|0){case 0:break i;case 2:break n;default:break r}c=1}n=o[0|a],i=a}if(n-48>>>0<10)for(;p=48+(d(p,10)-o[0|i]|0)|0,a=o[i+1|0],i=i+1|0,a-48>>>0<10;);-1!=(0|(i=c?p:0-p|0))&&(A=0!=(0|i))}if(o[t+11|0]<0&&ee(f[t>>2]),A){s=f[f[f[e+36>>2]+s>>2]+8>>2],f[s+64>>2]||(n=i=br(32),f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,a=f[s+64>>2],f[s+64>>2]=i,a&&((i=f[a>>2])&&(f[a+4>>2]=i,ee(i)),ee(a),n=f[s+64>>2]),f[s>>2]=n,i=f[n+20>>2],f[s+8>>2]=f[n+16>>2],f[s+12>>2]=i,a=f[n+24>>2],i=f[n+28>>2],f[s+48>>2]=0,f[s+52>>2]=0,f[s+40>>2]=0,f[s+44>>2]=0,f[s+16>>2]=a,f[s+20>>2]=i);r:if(o[s+24|0]=u[l+24|0],f[s+28>>2]=f[l+28>>2],o[s+32|0]=u[l+32|0],i=f[l+44>>2],f[s+40>>2]=f[l+40>>2],f[s+44>>2]=i,i=f[l+52>>2],f[s+48>>2]=f[l+48>>2],f[s+52>>2]=i,f[s+56>>2]=f[l+56>>2],i=f[l+12>>2],f[s+8>>2]=f[l+8>>2],f[s+12>>2]=i,i=f[l+20>>2],f[s+16>>2]=f[l+16>>2],f[s+20>>2]=i,f[s+60>>2]=f[l+60>>2],(a=f[l>>2])?(n=0,(i=f[s>>2])&&(Ot(n=i,i=f[a>>2],f[a+4>>2]-i|0,0),n=1)):(f[s>>2]=0,n=1),n){o[s+84|0]=u[l+84|0],f[s+80>>2]=f[l+80>>2],(0|s)!=(0|l)&&Qe(s+68|0,f[l+68>>2],f[l+72>>2]);i:{n:{if(b=f[l+88>>2]){if(i=br(40),a=f[b>>2],f[i+16>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[i>>2]=a,n=f[b+12>>2]-f[b+8>>2]|0){if((0|n)<0)break i;a=br(n),f[i+8>>2]=a,f[i+12>>2]=a,f[i+16>>2]=n+a,n=f[b+8>>2],(0|(c=f[b+12>>2]-n|0))>0&&(a=ge(a,n,c)+c|0),f[i+12>>2]=a}if(a=f[b+36>>2],f[i+32>>2]=f[b+32>>2],f[i+36>>2]=a,a=f[b+28>>2],f[i+24>>2]=f[b+24>>2],f[i+28>>2]=a,n=f[s+88>>2],f[s+88>>2]=i,n)break n;break r}if(n=f[s+88>>2],f[s+88>>2]=0,!n)break r}(i=f[n+8>>2])&&(f[n+12>>2]=i,ee(i)),ee(n);break r}ii(),E()}break t}}if(i=f[f[e+36>>2]+(_<<2)>>2],!(0|_i[f[f[i>>2]+24>>2]](i,y)))break e}if(k=(0|r)>(0|(_=_+1|0)),(0|_)==(0|r))break}return I=t+16|0,1&(-1^k)},function(e,t){e|=0,e=0;e:switch(0|(t|=0)){case 0:return e=br(20),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,0|e;case 1:return e=br(24),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,f[e+20>>2]=0,f[e>>2]=2164,0|e;case 2:return e=br(48),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,f[e+20>>2]=0,f[e>>2]=2164,f[e+32>>2]=0,f[e+36>>2]=0,f[e+28>>2]=-1,f[e+24>>2]=1140,f[e>>2]=7976,f[e+40>>2]=0,f[e+44>>2]=0,0|e;case 3:e=br(32),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,f[e+20>>2]=0,f[e>>2]=2164,f[e+28>>2]=-1,f[e+24>>2]=1032,f[e>>2]=5840}return 0|e},nr,fr,_r,function(e,t){return t|=0,0|_i[f[f[(e|=0)>>2]+48>>2]](e,f[t+4>>2]-f[t>>2]>>2)},function(e,t,r){e|=0,t|=0;var i,n,a=0,s=0,c=0,u=0,l=0,b=0,A=0;e:if(!((0|(a=i=f[12+(r|=0)>>2]))<=(0|(s=f[r+20>>2]))&(n=f[r+8>>2])>>>0<=(c=f[r+16>>2])>>>0|(0|a)<(0|s))){if(l=f[r>>2],b=o[l+c|0],a=s,a=(u=c+1|0)?a:a+1|0,f[r+16>>2]=u,f[r+20>>2]=a,-2!=(0|b)){if((0|a)>=(0|i)&u>>>0>=n>>>0|(0|a)>(0|i))break e;if(a=o[u+l|0],s=(c=c+2|0)>>>0<2?s+1|0:s,f[r+16>>2]=c,f[r+20>>2]=s,(a-4&255)>>>0<251)break e;s=0|_i[f[f[e>>2]+40>>2]](e,b,a),a=f[e+20>>2],f[e+20>>2]=s,a&&_i[f[f[a>>2]+4>>2]](a)}(!(a=f[e+20>>2])||0|_i[f[f[e>>2]+28>>2]](e,a))&&(A=0|_i[f[f[e>>2]+36>>2]](e,t,r))}return 0|A},ae,function(e,t,r){e|=0,t|=0;var i,n=0,a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0,d=0;if(I=i=I-48|0,1==(0|(r|=0))){s=f[e+4>>2],e=f[e+12>>2],f[i+40>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,a=i+8|0;e:if(-2!=(0|t)){if(A=f[f[f[s+4>>2]+8>>2]+(e<<2)>>2],1==(0|_i[f[f[s>>2]+8>>2]](s))){I=b=I-32|0,c=f[f[f[s+4>>2]+8>>2]+(e<<2)>>2];t:{r:{if(!(1!=(0|_i[f[f[s>>2]+8>>2]](s))|t-1>>>0>5||!(l=0|_i[f[f[s>>2]+36>>2]](s))|!(u=0|_i[f[f[s>>2]+44>>2]](s,e))))if(r=0|_i[f[f[s>>2]+40>>2]](s,e)){e=f[s+44>>2],f[b+12>>2]=r,f[b+8>>2]=e,f[b+20>>2]=u,f[b+16>>2]=u+12,s=b+8|0,e=0;i:{n:switch(t-1|0){case 0:if(e=br(60),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t,t=f[a+24>>2],n=f[a+28>>2]-t|0){if((0|n)<0)break r;r=br(n),f[e+32>>2]=r,f[e+40>>2]=r+(n>>2<<2),p=e,d=ge(r,t,n)+n|0,f[p+36>>2]=d}t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,t=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=t,f[e>>2]=2280;break i;case 3:if(e=br(112),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t,t=f[a+24>>2],n=f[a+28>>2]-t|0){if((0|n)<0)break r;r=br(n),f[e+32>>2]=r,f[e+40>>2]=r+(n>>2<<2),p=e,d=ge(r,t,n)+n|0,f[p+36>>2]=d}t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,t=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=t,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=3044,f[e+68>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,f[e+96>>2]=0,f[e+100>>2]=0,f[e+104>>2]=0,f[e+108>>2]=0;break i;case 4:if(e=br(104),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t,t=f[a+24>>2],n=f[a+28>>2]-t|0){if((0|n)<0)break r;r=br(n),f[e+32>>2]=r,f[e+40>>2]=r+(n>>2<<2),p=e,d=ge(r,t,n)+n|0,f[p+36>>2]=d}t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,r=f[s+8>>2],t=f[s+12>>2],f[e+84>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=3292,f[e+52>>2]=r,f[e+56>>2]=t,t=f[s+4>>2],f[e+88>>2]=f[s>>2],f[e+92>>2]=t,t=f[s+12>>2],f[e+96>>2]=f[s+8>>2],f[e+100>>2]=t;break i;case 5:break n;default:break i}e=br(128),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t;n:{o:{if(r=f[a+28>>2]-f[a+24>>2]|0){if((0|r)<0)break o;t=br(r),f[e+32>>2]=t,f[e+36>>2]=t,f[e+40>>2]=t+(r>>2<<2),r=f[a+24>>2],(0|(n=f[a+28>>2]-r|0))>0&&(t=ge(t,r,n)+n|0),f[e+36>>2]=t}f[e>>2]=2932,t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,t=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=t,f[(t=e- -64|0)>>2]=0,f[t+4>>2]=0,f[e+60>>2]=4156,f[e>>2]=3528,t=f[s+4>>2],f[e+72>>2]=f[s>>2],f[e+76>>2]=t,t=f[s+12>>2],f[e+80>>2]=f[s+8>>2],f[e+84>>2]=t,f[e+104>>2]=1065353216,f[e+108>>2]=-1,f[e+96>>2]=-1,f[e+100>>2]=-1,f[e+88>>2]=1,f[e+92>>2]=-1,f[e+60>>2]=3764,f[e+112>>2]=0,f[e+116>>2]=0,o[e+117|0]=0,o[e+118|0]=0,o[e+119|0]=0,o[e+120|0]=0,o[e+121|0]=0,o[e+122|0]=0,o[e+123|0]=0,o[e+124|0]=0;break n}ii(),E()}}n=e}else{e=f[s+44>>2],f[b+12>>2]=l,f[b+8>>2]=e,f[b+20>>2]=u,f[b+16>>2]=u+12,s=b+8|0,e=0;i:{n:switch(t-1|0){case 0:if(e=br(60),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t,t=f[a+24>>2],n=f[a+28>>2]-t|0){if((0|n)<0)break r;r=br(n),f[e+32>>2]=r,f[e+40>>2]=r+(n>>2<<2),p=e,d=ge(r,t,n)+n|0,f[p+36>>2]=d}t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,t=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=t,f[e>>2]=4184;break i;case 3:if(e=br(112),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t,t=f[a+24>>2],n=f[a+28>>2]-t|0){if((0|n)<0)break r;r=br(n),f[e+32>>2]=r,f[e+40>>2]=r+(n>>2<<2),p=e,d=ge(r,t,n)+n|0,f[p+36>>2]=d}t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,t=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=t,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=4608,f[e+68>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,f[e+96>>2]=0,f[e+100>>2]=0,f[e+104>>2]=0,f[e+108>>2]=0;break i;case 4:if(e=br(104),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t,t=f[a+24>>2],n=f[a+28>>2]-t|0){if((0|n)<0)break r;r=br(n),f[e+32>>2]=r,f[e+40>>2]=r+(n>>2<<2),p=e,d=ge(r,t,n)+n|0,f[p+36>>2]=d}t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,r=f[s+8>>2],t=f[s+12>>2],f[e+84>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=4844,f[e+52>>2]=r,f[e+56>>2]=t,t=f[s+4>>2],f[e+88>>2]=f[s>>2],f[e+92>>2]=t,t=f[s+12>>2],f[e+96>>2]=f[s+8>>2],f[e+100>>2]=t;break i;case 5:break n;default:break i}e=br(128),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t;n:{o:{if(r=f[a+28>>2]-f[a+24>>2]|0){if((0|r)<0)break o;t=br(r),f[e+32>>2]=t,f[e+36>>2]=t,f[e+40>>2]=t+(r>>2<<2),r=f[a+24>>2],(0|(n=f[a+28>>2]-r|0))>0&&(t=ge(t,r,n)+n|0),f[e+36>>2]=t}f[e>>2]=4552,t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,t=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=t,f[(t=e- -64|0)>>2]=0,f[t+4>>2]=0,f[e+60>>2]=5652,f[e>>2]=5068,t=f[s+4>>2],f[e+72>>2]=f[s>>2],f[e+76>>2]=t,t=f[s+12>>2],f[e+80>>2]=f[s+8>>2],f[e+84>>2]=t,f[e+104>>2]=1065353216,f[e+108>>2]=-1,f[e+96>>2]=-1,f[e+100>>2]=-1,f[e+88>>2]=1,f[e+92>>2]=-1,f[e+60>>2]=5288,f[e+112>>2]=0,f[e+116>>2]=0,o[e+117|0]=0,o[e+118|0]=0,o[e+119|0]=0,o[e+120|0]=0,o[e+121|0]=0,o[e+122|0]=0,o[e+123|0]=0,o[e+124|0]=0;break n}ii(),E()}}n=e}I=b+32|0;break t}ii(),E()}if(n)break e}n=br(44),f[n+4>>2]=A,f[n>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],r=f[a+20>>2],t=f[a>>2],e=f[a+4>>2],f[n+40>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=l,f[n+28>>2]=r,f[n+16>>2]=c,f[n+20>>2]=u,f[n+8>>2]=t,f[n+12>>2]=e;t:{if(e=f[a+24>>2],r=f[a+28>>2]-e|0){if((0|r)<0)break t;t=br(r),f[n+32>>2]=t,f[n+40>>2]=t+(r>>2<<2),p=n,d=ge(t,e,r)+r|0,f[p+36>>2]=d}f[n>>2]=5680;break e}ii(),E()}(e=f[i+32>>2])&&(f[i+36>>2]=e,ee(e))}return I=i+48|0,0|n},function(e){return o[f[8+(e|=0)>>2]+24|0]},function(e,t){t|=0;var r,i=0,n=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0,d=0,_=0,h=0;r=e|=0;e:{t:{r:{i:{n:{o:{a:{f:switch(A=f[e+8>>2],f[A+28>>2]-1|0){case 4:break r;case 5:break i;case 2:break n;case 3:break o;case 0:break a;case 1:break f;default:break e}if(n=br((0|(i=o[A+24|0]))>=0?i:-1),e=f[r+16>>2],l=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!t)break t;if((0|i)>0){for(A=-4&i,d=3&i,s=i-1>>>0<3;;){if(e=0,u=0,!s)for(;b=l+(c<<2)|0,o[e+n|0]=f[b>>2],o[(1|e)+n|0]=f[b+4>>2],o[(2|e)+n|0]=f[b+8>>2],o[(3|e)+n|0]=f[b+12>>2],e=e+4|0,c=c+4|0,(0|A)!=(0|(u=u+4|0)););if(u=0,d)for(;o[e+n|0]=f[l+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|d)!=(0|(u=u+1|0)););if(ge(f[f[f[r+8>>2]+64>>2]>>2]+_|0,n,i),_=i+_|0,(0|(p=p+1|0))==(0|t))break}break t}if(ge(f[f[A+64>>2]>>2],n,i),1==(0|t))break t;if(l=1&(s=t-1|0),e=0,2!=(0|t))for(t=-2&s;ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),(0|t)!=(0|(c=c+2|0)););if(!l)break t;ge(f[f[f[r+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break t}if(n=br((0|(i=o[A+24|0]))>=0?i:-1),e=f[r+16>>2],l=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!t)break t;if((0|i)>0){for(A=-4&i,d=3&i,s=i-1>>>0<3;;){if(e=0,u=0,!s)for(;b=l+(c<<2)|0,o[e+n|0]=f[b>>2],o[(1|e)+n|0]=f[b+4>>2],o[(2|e)+n|0]=f[b+8>>2],o[(3|e)+n|0]=f[b+12>>2],e=e+4|0,c=c+4|0,(0|A)!=(0|(u=u+4|0)););if(u=0,d)for(;o[e+n|0]=f[l+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|d)!=(0|(u=u+1|0)););if(ge(f[f[f[r+8>>2]+64>>2]>>2]+_|0,n,i),_=i+_|0,(0|(p=p+1|0))==(0|t))break}break t}if(ge(f[f[A+64>>2]>>2],n,i),1==(0|t))break t;if(l=1&(s=t-1|0),e=0,2!=(0|t))for(t=-2&s;ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),(0|t)!=(0|(c=c+2|0)););if(!l)break t;ge(f[f[f[r+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break t}if(n=br((e=(s=o[A+24|0])+s|0)>>>0<s>>>0?-1:e),e=f[r+16>>2],l=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!t)break t;if(i=s<<1,(0|s)>0){for(A=-4&s,d=3&s,s=s-1>>>0<3;;){if(e=0,u=0,!s)for(;b=l+(c<<2)|0,a[(p=e<<1)+n>>1]=f[b>>2],a[(2|p)+n>>1]=f[b+4>>2],a[(4|p)+n>>1]=f[b+8>>2],a[(6|p)+n>>1]=f[b+12>>2],e=e+4|0,c=c+4|0,(0|A)!=(0|(u=u+4|0)););if(u=0,d)for(;a[(e<<1)+n>>1]=f[l+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|d)!=(0|(u=u+1|0)););if(ge(f[f[f[r+8>>2]+64>>2]>>2]+h|0,n,i),h=i+h|0,(0|(_=_+1|0))==(0|t))break}break t}if(ge(f[f[A+64>>2]>>2],n,i),1==(0|t))break t;if(l=1&(s=t-1|0),e=0,2!=(0|t))for(t=-2&s;ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),(0|t)!=(0|(c=c+2|0)););if(!l)break t;ge(f[f[f[r+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break t}if(n=br((e=(s=o[A+24|0])+s|0)>>>0<s>>>0?-1:e),e=f[r+16>>2],l=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!t)break t;if(i=s<<1,(0|s)>0){for(A=-4&s,d=3&s,s=s-1>>>0<3;;){if(e=0,u=0,!s)for(;b=l+(c<<2)|0,a[(p=e<<1)+n>>1]=f[b>>2],a[(2|p)+n>>1]=f[b+4>>2],a[(4|p)+n>>1]=f[b+8>>2],a[(6|p)+n>>1]=f[b+12>>2],e=e+4|0,c=c+4|0,(0|A)!=(0|(u=u+4|0)););if(u=0,d)for(;a[(e<<1)+n>>1]=f[l+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|d)!=(0|(u=u+1|0)););if(ge(f[f[f[r+8>>2]+64>>2]>>2]+h|0,n,i),h=i+h|0,(0|(_=_+1|0))==(0|t))break}break t}if(ge(f[f[A+64>>2]>>2],n,i),1==(0|t))break t;if(l=1&(s=t-1|0),e=0,2!=(0|t))for(t=-2&s;ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),(0|t)!=(0|(c=c+2|0)););if(!l)break t;ge(f[f[f[r+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break t}if(i=(s=o[A+24|0])<<2,n=br((0|s)!=(1073741823&s)?-1:i),e=f[r+16>>2],l=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!t)break t;if((0|s)>0){for(A=-4&s,d=3&s,s=s-1>>>0<3;;){if(e=0,u=0,!s)for(;b=l+(c<<2)|0,f[(p=e<<2)+n>>2]=f[b>>2],f[(4|p)+n>>2]=f[b+4>>2],f[(8|p)+n>>2]=f[b+8>>2],f[(12|p)+n>>2]=f[b+12>>2],e=e+4|0,c=c+4|0,(0|A)!=(0|(u=u+4|0)););if(u=0,d)for(;f[(e<<2)+n>>2]=f[l+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|d)!=(0|(u=u+1|0)););if(ge(f[f[f[r+8>>2]+64>>2]>>2]+h|0,n,i),h=i+h|0,(0|(_=_+1|0))==(0|t))break}break t}if(ge(f[f[A+64>>2]>>2],n,i),1==(0|t))break t;if(l=1&(s=t-1|0),e=0,2!=(0|t))for(t=-2&s;ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),(0|t)!=(0|(c=c+2|0)););if(!l)break t;ge(f[f[f[r+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break t}if(i=(s=o[A+24|0])<<2,n=br((0|s)!=(1073741823&s)?-1:i),e=f[r+16>>2],l=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,t)if((0|s)>0)for(A=-4&s,d=3&s,s=s-1>>>0<3;;){if(e=0,u=0,!s)for(;b=l+(c<<2)|0,f[(p=e<<2)+n>>2]=f[b>>2],f[(4|p)+n>>2]=f[b+4>>2],f[(8|p)+n>>2]=f[b+8>>2],f[(12|p)+n>>2]=f[b+12>>2],e=e+4|0,c=c+4|0,(0|A)!=(0|(u=u+4|0)););if(u=0,d)for(;f[(e<<2)+n>>2]=f[l+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|d)!=(0|(u=u+1|0)););if(ge(f[f[f[r+8>>2]+64>>2]>>2]+h|0,n,i),h=i+h|0,(0|(_=_+1|0))==(0|t))break}else if(ge(f[f[A+64>>2]>>2],n,i),1!=(0|t)){if(l=1&(s=t-1|0),e=0,2!=(0|t))for(t=-2&s;ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),(0|t)!=(0|(c=c+2|0)););l&&ge(f[f[f[r+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i)}}ee(n),n=1}return 0|n},function(e){var t;return f[(e|=0)>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},wr,qr,Yr,mr,ei,Zr,Jr,ei,qr,function(e,t){e|=0;var r,i,n,o=0,a=0,s=0,c=0,l=0,b=0;return i=a=f[12+(t|=0)>>2],s=o=f[t+20>>2],o=(r=(c=f[t+16>>2])+4|0)>>>0<4?o+1|0:o,(n=f[t+8>>2])>>>0<r>>>0&(0|o)>=(0|a)|(0|o)>(0|a)||(l=f[t>>2],a=u[0|(a=l+c|0)]|u[a+1|0]<<8|u[a+2|0]<<16|u[a+3|0]<<24,f[t+16>>2]=r,f[t+20>>2]=o,o=s,c=s=c+8|0,s=o=s>>>0<8?o+1|0:o,c>>>0>n>>>0&(0|o)>=(0|i)|(0|o)>(0|i)||(o=u[0|(o=r+l|0)]|u[o+1|0]<<8|u[o+2|0]<<16|u[o+3|0]<<24,f[t+16>>2]=c,f[t+20>>2]=s,(0|o)<(0|a)||(f[e+16>>2]=o,f[e+12>>2]=a,!(t=(o>>31)-((a>>31)+(o>>>0<a>>>0)|0)|0)&(o=o-a|0)>>>0>2147483646|t||(b=1,t=o+1|0,f[e+20>>2]=t,o=t>>>1|0,f[e+24>>2]=o,f[e+28>>2]=0-o,1&t||(f[e+24>>2]=o-1))))),0|b},function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s,c,u=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;if(f[8+(e|=0)>>2]=n,p=f[(i=e+32|0)>>2],(o=f[e+36>>2]-p>>2)>>>0<n>>>0?(st(i,n-o|0),p=f[i>>2],i=f[e+8>>2]):(n>>>0<o>>>0&&(f[e+36>>2]=(n<<2)+p),i=n),c=f[e+52>>2],a=f[e+48>>2],o=0,_=Ye(br(_=(1073741823&n)!=(0|n)?-1:n<<2),0,_),!((0|i)<=0)){for(;(0|(u=f[(i=o<<2)+_>>2]))>(0|(l=f[e+16>>2]))?f[i+p>>2]=l:(i=i+p|0,l=f[e+12>>2],f[i>>2]=(0|l)>(0|u)?l:u),(0|(i=f[e+8>>2]))>(0|(o=o+1|0)););if(!((0|i)<=0))for(o=0;;){i=(u=o<<2)+r|0,u=f[t+u>>2]+f[u+p>>2]|0,f[i>>2]=u;e:{if((0|u)>f[e+16>>2])u=u-f[e+20>>2]|0;else{if((0|u)>=f[e+12>>2])break e;u=u+f[e+20>>2]|0}f[i>>2]=u}if(!((0|(i=f[e+8>>2]))>(0|(o=o+1|0))))break}}if(o=f[e+56>>2],s=f[o>>2],(0|(o=f[o+4>>2]-s|0))>=5)for(m=(0|(o>>=2))>2?o:2,y=o>>>0>1?o:1,v=-2&n,g=1&n,p=1;;){e:{t:{if((0|p)!=(0|y)){if(k=d(n,p),-1==(0|(o=f[(p<<2)+s>>2]))|f[f[a>>2]+(o>>>3&536870908)>>2]>>>o&1)break t;if(-1==(0|(o=f[f[f[a+64>>2]+12>>2]+(o<<2)>>2])))break t;if(l=f[c>>2],u=f[a+28>>2],(0|(A=f[l+(f[u+(o<<2)>>2]<<2)>>2]))>=(0|p))break t;if((0|(b=f[l+(f[u+((((b=o+1|0)>>>0)%3|0?b:o-2|0)<<2)>>2]<<2)>>2]))>=(0|p))break t;if((0|(o=f[l+(f[u+(o+((o>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2]))>=(0|p))break t;if(!((0|n)<=0)){if(u=d(n,o),l=d(n,b),A=d(n,A),o=0,h=0,1!=(0|n))for(;f[_+(o<<2)>>2]=(f[(o+u<<2)+r>>2]+f[(o+l<<2)+r>>2]|0)-f[(o+A<<2)+r>>2],f[_+((b=1|o)<<2)>>2]=(f[(u+b<<2)+r>>2]+f[(l+b<<2)+r>>2]|0)-f[(A+b<<2)+r>>2],o=o+2|0,(0|v)!=(0|(h=h+2|0)););g&&(f[_+(o<<2)>>2]=(f[(o+u<<2)+r>>2]+f[(o+l<<2)+r>>2]|0)-f[(o+A<<2)+r>>2])}if((0|i)<=0)break e;for(l=f[e+32>>2],o=0;(0|(u=f[(i=o<<2)+_>>2]))>(0|(A=f[e+16>>2]))?f[i+l>>2]=A:(i=i+l|0,A=f[e+12>>2],f[i>>2]=(0|A)>(0|u)?A:u),(0|(i=f[e+8>>2]))>(0|(o=o+1|0)););if(o=0,(0|i)<=0)break e;for(A=(i=k<<2)+r|0,b=t+i|0;;){i=(u=o<<2)+A|0,u=f[u+b>>2]+f[u+l>>2]|0,f[i>>2]=u;r:{if((0|u)>f[e+16>>2])u=u-f[e+20>>2]|0;else{if((0|u)>=f[e+12>>2])break r;u=u+f[e+20>>2]|0}f[i>>2]=u}if(!((0|(i=f[e+8>>2]))>(0|(o=o+1|0))))break}break e}ci(),E()}if(!((0|i)<=0)){for(A=(d(p-1|0,n)<<2)+r|0,l=f[e+32>>2],o=0;(0|(u=f[(i=o<<2)+A>>2]))>(0|(b=f[e+16>>2]))?f[i+l>>2]=b:(i=i+l|0,b=f[e+12>>2],f[i>>2]=(0|b)>(0|u)?b:u),(0|(i=f[e+8>>2]))>(0|(o=o+1|0)););if(o=0,!((0|i)<=0))for(A=(i=k<<2)+r|0,b=t+i|0;;){i=(u=o<<2)+A|0,u=f[u+b>>2]+f[u+l>>2]|0,f[i>>2]=u;t:{if((0|u)>f[e+16>>2])u=u-f[e+20>>2]|0;else{if((0|u)>=f[e+12>>2])break t;u=u+f[e+20>>2]|0}f[i>>2]=u}if(!((0|(i=f[e+8>>2]))>(0|(o=o+1|0))))break}}}if((0|m)==(0|(p=p+1|0)))break}return ee(_),1},ai,ai,function(e){var t=0;return f[(e|=0)>>2]=3044,(t=f[e+96>>2])&&ee(t),(t=f[e+84>>2])&&ee(t),(t=f[e+72>>2])&&ee(t),(t=f[e+60>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},function(e){var t=0;f[(e|=0)>>2]=3044,(t=f[e+96>>2])&&ee(t),(t=f[e+84>>2])&&ee(t),(t=f[e+72>>2])&&ee(t),(t=f[e+60>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)},$r,mr,fe,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s,c,u,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,x=0,R=0,N=0,C=0,D=0,M=0,G=0,U=0,V=0,S=0,F=0;I=a=I+-64|0,f[8+(e|=0)>>2]=n,l=f[(o=e+32|0)>>2];e:{if((i=f[e+36>>2]-l>>2)>>>0<n>>>0)st(o,n-i|0),f[a+56>>2]=0,f[a+60>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a>>2]=0;else if(i>>>0>n>>>0&&(f[e+36>>2]=l+(n<<2)),f[a+56>>2]=0,f[a+60>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a>>2]=0,i=0,!n)break e;ve(a+16|0,n,a),b=f[a+28>>2],i=f[a+32>>2]}f[a>>2]=0;e:if((i=i-b>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[a+32>>2]=(n<<2)+b}else ve(a+16|12,n-i|0,a);f[a>>2]=0,o=f[a+40>>2];e:if((i=f[a+44>>2]-o>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[a+44>>2]=o+(n<<2)}else ve(a+40|0,n-i|0,a);f[a>>2]=0,o=f[a+52>>2];e:if((i=f[a+56>>2]-o>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[a+56>>2]=o+(n<<2)}else ve(a+52|0,n-i|0,a);if(b=0,!(f[e+8>>2]<=0)){for(A=f[e+32>>2],l=f[a+16>>2];(0|(o=f[(i=b<<2)+l>>2]))>(0|(h=f[e+16>>2]))?f[i+A>>2]=h:(i=i+A|0,h=f[e+12>>2],f[i>>2]=(0|h)>(0|o)?h:o),(0|(b=b+1|0))<(0|(i=f[e+8>>2])););if(!((0|i)<=0))for(i=0;;){o=(l=i<<2)+r|0,l=f[t+l>>2]+f[l+A>>2]|0,f[o>>2]=l;e:{if((0|l)>f[e+16>>2])l=l-f[e+20>>2]|0;else{if((0|l)>=f[e+12>>2])break e;l=l+f[e+20>>2]|0}f[o>>2]=l}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}u=f[e+52>>2],s=f[e+48>>2],c=br(16),f[(i=c)>>2]=0,f[i+4>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[a+8>>2]=0,f[a>>2]=0,f[a+4>>2]=0;e:{if(n){if(n>>>0>=1073741824)break e;B=br(i=n<<2),f[a>>2]=B,f[a+8>>2]=i+B,Ye(B,0,i)}y=1,i=f[e+56>>2],N=f[i>>2];t:if(!((0|(i=f[i+4>>2]-N|0))<5))for(G=(0|(i>>=2))>2?i:2,U=i>>>0>1?i:1,C=-2&n,D=1&n,V=-4&n,M=3&n,x=n-1|0,S=n<<2,h=1;;){r:{i:{n:{o:{if((0|h)!=(0|U)){i=((o=f[(h<<2)+N>>2])>>>0)%3|0;a:{f:if(-1!=(0|o)){A=0,R=0!=(0|i)|-1!=(0|(l=o+2|0)),k=1,m=1<<(v=i?o-1|0:l),g=v>>>5|0,F=f[s>>2],i=o;s:{for(;;){if(!(f[(i>>>3&536870908)+F>>2]>>>i&1||-1==(0|(l=f[f[f[s+64>>2]+12>>2]+(i<<2)>>2]))||(p=f[u>>2],b=f[s+28>>2],(0|(y=f[p+(f[b+(l<<2)>>2]<<2)>>2]))>=(0|h)||(0|(_=f[p+(f[b+((((_=l+1|0)>>>0)%3|0?_:l-2|0)<<2)>>2]<<2)>>2]))>=(0|h)||(0|(b=f[p+(f[b+(l+((l>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2]))>=(0|h)))){if(n){if(l=f[(a+16|0)+d(A,12)>>2],p=d(n,b),_=d(n,_),y=d(n,y),b=0,T=0,x)for(;f[l+(b<<2)>>2]=(f[(b+p<<2)+r>>2]+f[(b+_<<2)+r>>2]|0)-f[(b+y<<2)+r>>2],f[l+((w=1|b)<<2)>>2]=(f[(p+w<<2)+r>>2]+f[(_+w<<2)+r>>2]|0)-f[(y+w<<2)+r>>2],b=b+2|0,(0|C)!=(0|(T=T+2|0)););D&&(f[l+(b<<2)>>2]=(f[(b+p<<2)+r>>2]+f[(b+_<<2)+r>>2]|0)-f[(b+y<<2)+r>>2])}if(l=4,4==(0|(A=A+1|0)))break s}c:if(1&k){if(b=i-2|0,l=i+1|0,i=-1,-1==(0|(l=(l>>>0)%3|0?l:b))|f[f[s>>2]+(l>>>3&536870908)>>2]>>>l&1)break c;if(-1==(0|(l=f[f[f[s+64>>2]+12>>2]+(l<<2)>>2])))break c;i=((i=l+1|0)>>>0)%3|0?i:l-2|0}else{if((i>>>0)%3|0)b=i-1|0;else if(b=i+2|0,i=-1,-1==(0|b))break c;i=-1,f[f[s>>2]+(b>>>3&536870908)>>2]>>>b&1||-1!=(0|(l=f[f[f[s+64>>2]+12>>2]+(b<<2)>>2]))&&(i=(l>>>0)%3|0?l-1|0:l+2|0)}c:if((0|i)!=(0|o)){if(!(1&(1^k)|-1!=(0|i))){if(!R|m&f[f[s>>2]+(g<<2)>>2])break c;if(-1==(0|(i=f[f[f[s+64>>2]+12>>2]+(v<<2)>>2])))break c;k=0,i=(i>>>0)%3|0?i-1|0:i+2|0}if(-1!=(0|i))continue}break}if((0|(l=A))<=0)break f}for(n&&Ye(f[a>>2],0,S),w=((i=l-1|0)<<2)+c|0,T=i=d(i,12)+e|0,R=f[i- -64>>2],y=0,k=0,i=0;;){if(o=f[w>>2],f[w>>2]=o+1,o>>>0>=R>>>0)break t;if(!(f[f[T+60>>2]+(o>>>3&536870908)>>2]>>>o&1)&&(i=i+1|0,n)){if(A=f[a>>2],p=f[(a+16|0)+d(k,12)>>2],v=0,b=0,o=0,x>>>0>=3)for(;f[(m=(_=b<<2)+A|0)>>2]=f[m>>2]+f[p+_>>2],f[(g=(m=4|_)+A|0)>>2]=f[g>>2]+f[p+m>>2],f[(g=(m=8|_)+A|0)>>2]=f[g>>2]+f[p+m>>2],f[(m=(_|=12)+A|0)>>2]=f[m>>2]+f[p+_>>2],b=b+4|0,(0|V)!=(0|(o=o+4|0)););if(M)for(;f[(_=(o=b<<2)+A|0)>>2]=f[_>>2]+f[o+p>>2],b=b+1|0,(0|M)!=(0|(v=v+1|0)););}if((0|(k=k+1|0))==(0|l))break}if(o=k=d(n,h),!i)break a;if(!n)break i;if(o=f[a>>2],b=0,l=0,x)break o;break n}o=d(n,h)}if(f[e+8>>2]<=0)break r;for(k=(d(h-1|0,n)<<2)+r|0,A=f[e+32>>2],b=0;(0|(l=f[(i=b<<2)+k>>2]))>(0|(p=f[e+16>>2]))?f[i+A>>2]=p:(i=i+A|0,p=f[e+12>>2],f[i>>2]=(0|p)>(0|l)?p:l),(0|(b=b+1|0))<(0|(l=f[e+8>>2])););if(i=0,(0|l)<=0)break r;for(b=(o<<=2)+r|0,k=t+o|0;;){o=(l=i<<2)+b|0,l=f[l+k>>2]+f[l+A>>2]|0,f[o>>2]=l;a:{if((0|l)>f[e+16>>2])l=l-f[e+20>>2]|0;else{if((0|l)>=f[e+12>>2])break a;l=l+f[e+20>>2]|0}f[o>>2]=l}if(!((0|(i=i+1|0))<f[e+8>>2]))break}break r}ci(),E()}for(;f[(p=(A=b<<2)+o|0)>>2]=f[p>>2]/(0|i),f[(A=o+(4|A)|0)>>2]=f[A>>2]/(0|i),b=b+2|0,(0|C)!=(0|(l=l+2|0)););}D&&(f[(o=o+(b<<2)|0)>>2]=f[o>>2]/(0|i))}if(!(f[e+8>>2]<=0)){for(A=f[e+32>>2],b=0;(0|(o=f[(i=b<<2)+B>>2]))>(0|(l=f[e+16>>2]))?f[i+A>>2]=l:(i=i+A|0,l=f[e+12>>2],f[i>>2]=(0|l)>(0|o)?l:o),(0|(b=b+1|0))<(0|(o=f[e+8>>2])););if(i=0,!((0|o)<=0))for(b=(o=k<<2)+r|0,k=t+o|0;;){o=(l=i<<2)+b|0,l=f[l+k>>2]+f[l+A>>2]|0,f[o>>2]=l;i:{if((0|l)>f[e+16>>2])l=l-f[e+20>>2]|0;else{if((0|l)>=f[e+12>>2])break i;l=l+f[e+20>>2]|0}f[o>>2]=l}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}}if(y=1,(0|G)==(0|(h=h+1|0)))break}return(e=f[a>>2])&&ee(e),ee(c),(e=f[a+52>>2])&&(f[a+56>>2]=e,ee(e)),(e=f[a+40>>2])&&(f[a+44>>2]=e,ee(e)),(e=f[a+28>>2])&&(f[a+32>>2]=e,ee(e)),(e=f[a+16>>2])&&(f[a+20>>2]=e,ee(e)),I=a- -64|0,0|y}ii(),E()},function(e){var t=0;return f[(e|=0)>>2]=3292,(t=f[e+76>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},function(e){var t=0;f[(e|=0)>>2]=3292,(t=f[e+76>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)},Kr,hr,qr,Jr,yr,ke,function(e,t,r,i,n,a){e|=0,t|=0,r|=0,i|=0,a|=0;var s=0,c=0,l=0,b=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,x=0,R=0,N=0,D=0,M=0,G=0,U=0,V=0,S=0,F=0,W=0,j=0,O=0,Z=0,Y=0,z=0,J=0,Q=0,L=0,X=0,H=0,q=0,$=0;if(2==(0|(n|=0))){f[e+8>>2]=2,f[e- -64>>2]=a,n=f[(i=e+32|0)>>2],(s=(a=f[e+36>>2]-n|0)>>2)>>>0<=1?st(i,2-s|0):8!=(0|a)&&(f[e+36>>2]=n+8);e:if(i=f[e+56>>2],(0|(a=(n=f[i+4>>2])-(i=f[i>>2])|0))<=0)a=0;else{if((0|i)!=(0|n))for(d=e+60|0,X=(0|(F=a>>2))>1?F:1,a=1;;){I=b=I-80|0,n=-1,s=-1,-1!=(0|(i=f[(m<<2)+i>>2]))&&(n=((n=i+1|0)>>>0)%3|0?n:i-2|0,s=i-1|0,(i>>>0)%3|0||(s=i+2|0)),l=f[d+36>>2],i=f[l>>2];t:{r:{i:{n:{if(l=f[l+4>>2]-i>>2,c=n<<2,n=f[f[d+32>>2]+28>>2],!(l>>>0<=(A=f[c+n>>2])>>>0||(n=f[n+(s<<2)>>2])>>>0>=l>>>0)){o:{if(!((0|(s=f[i+(n<<2)>>2]))>=(0|m)|(0|(l=f[i+(A<<2)>>2]))>=(0|m))){if(T=f[4+(i=(s<<3)+r|0)>>2],v=f[4+(n=(l<<3)+r|0)>>2],!((0|(x=f[i>>2]))!=(0|(G=f[n>>2]))|(0|v)!=(0|T))){f[d+8>>2]=G,f[d+12>>2]=v;break o}if(i=f[f[d+4>>2]+(m<<2)>>2],f[b+72>>2]=0,f[b+76>>2]=0,f[(n=b- -64|0)>>2]=0,f[n+4>>2]=0,f[b+56>>2]=0,f[b+60>>2]=0,n=f[d>>2],u[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),P(n,i,o[n+24|0],b+56|0),i=f[f[d+4>>2]+(l<<2)>>2],f[b+48>>2]=0,f[b+52>>2]=0,f[b+40>>2]=0,f[b+44>>2]=0,f[b+32>>2]=0,f[b+36>>2]=0,n=f[d>>2],u[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),P(n,i,o[n+24|0],b+32|0),i=f[f[d+4>>2]+(s<<2)>>2],f[b+24>>2]=0,f[b+28>>2]=0,f[b+16>>2]=0,f[b+20>>2]=0,f[b+8>>2]=0,f[b+12>>2]=0,n=f[d>>2],u[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),P(n,i,o[n+24|0],b+8|0),W=f[b+44>>2],i=Jt(h=(i=f[b+16>>2])-(n=U=f[b+40>>2])|0,A=f[b+20>>2]-(W+(i>>>0<n>>>0)|0)|0,h,A),n=C,_=i,j=f[b+36>>2],s=Jt(g=(i=f[b+8>>2])-(s=V=f[b+32>>2])|0,c=f[b+12>>2]-(j+(i>>>0<s>>>0)|0)|0,g,c),n=C+n|0,n=(i=_+s|0)>>>0<s>>>0?n+1|0:n,_=i,O=f[b+52>>2],y=Jt(k=(i=f[b+24>>2])-(s=S=f[b+48>>2])|0,p=f[b+28>>2]-(O+(i>>>0<s>>>0)|0)|0,k,p),s=C+n|0,w=i=_+y|0,i|(y=i>>>0<y>>>0?s+1|0:s)){if(i=Jt((i=_=f[b+64>>2])-U|0,(Y=f[b+68>>2])-((i>>>0<U>>>0)+W|0)|0,h,A),n=C,i=(s=i)+(l=Jt((i=z=f[b+56>>2])-V|0,(J=f[b+60>>2])-((i>>>0<V>>>0)+j|0)|0,g,c))|0,s=C+n|0,s=i>>>0<l>>>0?s+1|0:s,i=(n=i)+(l=Jt((i=Q=f[b+72>>2])-S|0,(L=f[b+76>>2])-((i>>>0<S>>>0)+O|0)|0,k,p))|0,n=C+s|0,R=i,B=i>>>0<l>>>0?n+1|0:n,s=(i=p>>31)+p|0,s=(n=i+k|0)>>>0<i>>>0?s+1|0:s,n^=i,l=i^=s,s=(i=A>>31)+A|0,D=i^(N=i+h|0),N=i^=i>>>0>N>>>0?s+1|0:s,Z=0,s=(i=c>>31)+c|0,s=(M=i+g|0)>>>0<i>>>0?s+1|0:s,H=n,M^=i,(n=Ee(-1,2147483647,(n=(0|l)==(0|(i=(s=(0|N)==(0|(i^=s))&D>>>0>M>>>0|i>>>0<N>>>0)?N:i))&n>>>0>(D=s?D:M)>>>0|i>>>0<l>>>0)?H:D,n?l:i)>>>0<R>>>0)&(0|(i=C))<=(0|B)|(0|i)<(0|B))break t;if(l=1,i=0,n=_,h=Yt(Jt(h,A,R,B),C,w,y),s=C+W|0,s=Y-((n>>>0<(A=h+U|0)>>>0)+(s=A>>>0<h>>>0?s+1|0:s)|0)|0,s=Jt(n=n-A|0,s,n,s),h=C,n=z,_=s,c=Yt(Jt(g,c,R,B),C,w,y),s=C+j|0,s=J-((n>>>0<(A=c+V|0)>>>0)+(s=c>>>0>A>>>0?s+1|0:s)|0)|0,A=Jt(n=n-A|0,s,n,s),n=C+h|0,A=n=(s=_+A|0)>>>0<A>>>0?n+1|0:n,n=Q,_=s,p=Yt(Jt(k,p,R,B),C,w,y),s=C+O|0,s=L-((n>>>0<(c=p+S|0)>>>0)+(s=c>>>0<p>>>0?s+1|0:s)|0)|0,c=Jt(n=n-c|0,s,n,s),s=C+A|0,A=Jt(n=_+c|0,n>>>0<c>>>0?s+1|0:s,w,y),c=n=C,!n&A>>>0<=1)break n;for(p=A,n=c;s=i<<1|l>>>31,l<<=1,i=s,h=!n&p>>>0>7|0!=(0|n),p=(3&n)<<30|p>>>2,n=n>>>2|0,h;);break i}}if((0|l)<(0|m))i=l<<1;else{if((0|m)<=0){f[d+8>>2]=0,f[d+12>>2]=0;break o}i=(m<<1)-2|0}i=(i<<2)+r|0,f[d+8>>2]=f[i>>2],f[d+12>>2]=f[i+4>>2]}Z=1;break t}ci(),E()}if(i=c,(l=A)-1|0)break r}for(;n=Ee(A,c,l,i)+l|0,s=i+C|0,n=Jt(l=(1&(s=n>>>0<l>>>0?s+1|0:s))<<31|n>>>1,i=s>>>1|0,l,i),(0|c)==(0|(s=C))&n>>>0>A>>>0|s>>>0>c>>>0;);}(A=f[d+20>>2])&&(n=A-1|0,p=f[f[d+16>>2]+(n>>>3&536870908)>>2],f[d+20>>2]=n,s=Jt(R,B,h=T-(s=v)|0,g=(T>>31)-((c=s>>31)+(s>>>0>T>>>0)|0)|0),k=C,c=(v=Jt(v,c,w,y))+s|0,s=C+k|0,s=c>>>0<v>>>0?s+1|0:s,_=c,x=c=Jt(l,i,k=x-(c=G)|0,T=(x>>31)-((v=c>>31)+(c>>>0>x>>>0)|0)|0),c=_+(p=(n=p>>>n&1)?0-c|0:c)|0,_=s,s=C,s=_+(n?0-(s+(0!=(0|x))|0)|0:s)|0,q=d,$=Yt(c,c>>>0<p>>>0?s+1|0:s,w,y),f[q+12>>2]=$,s=Jt(k,T,R,B),p=C,c=(k=Jt(w,y,G,v))+s|0,s=C+p|0,s=c>>>0<k>>>0?s+1|0:s,_=c,i=Jt(l,i,h,g),l=_+(c=n?i:0-i|0)|0,_=s,s=C,n=_+(n?s:0-((0!=(0|i))+s|0)|0)|0,q=d,$=Yt(l,l>>>0<c>>>0?n+1|0:n,w,y),f[q+8>>2]=$),Z=0!=(0|A)}if(I=b+80|0,!Z)break e;if(!(f[e+8>>2]<=0)){for(s=f[e+32>>2],i=0;(0|(a=f[68+((n=i<<2)+e|0)>>2]))>(0|(l=f[e+16>>2]))?f[n+s>>2]=l:(n=n+s|0,l=f[e+12>>2],f[n>>2]=(0|l)>(0|a)?l:a),(0|(i=i+1|0))<(0|(a=f[e+8>>2])););if(n=0,!((0|a)<=0))for(l=(i=m<<3)+r|0,A=t+i|0;;){i=(a=n<<2)+l|0,a=f[a+A>>2]+f[a+s>>2]|0,f[i>>2]=a;t:{if((0|a)>f[e+16>>2])a=a-f[e+20>>2]|0;else{if((0|a)>=f[e+12>>2])break t;a=a+f[e+20>>2]|0}f[i>>2]=a}if(!((0|(n=n+1|0))<f[e+8>>2]))break}}if(a=(0|F)>(0|(m=m+1|0)),(0|m)==(0|X))break e;if(n=f[e+56>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>m>>>0))break}ci(),E()}e=1^a}else e=0;return 1&e},function(e){var t;return f[(e|=0)>>2]=3528,f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},function(e){var t;f[(e|=0)>>2]=3528,f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)},ri,ir,qr,Jr,vr,Pe,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s=0,c=0,u=0,l=0,b=0,A=0,p=0,d=0;I=a=I-32|0,f[68+(e|=0)>>2]=o,n=f[e+56>>2],i=f[n>>2],o=f[n+4>>2],f[a+24>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0;e:if(!((0|(o=o-i|0))<=0)){if((0|(i=f[n>>2]))!=f[n+4>>2])for(A=e+112|0,p=e+60|0,d=(n=o>>>2|0)>>>0>1?n:1;;){if(Y(p,f[(l<<2)+i>>2],a+16|0),i=(n=f[a+20>>2])>>31,s=(o=f[a+16>>2])>>31,c=(u=f[a+24>>2])>>31,s=(c^=c+u)+((i^i+n)+(s^o+s)|0)|0,i=0,(i=s>>>0<c>>>0?1:i)|s?(o=Yt(Jt(c=f[e+108>>2],b=c>>31,o,o>>31),C,s,i),f[a+16>>2]=o,i=Yt(Jt(c,b,n,n>>31),C,s,i),f[a+20>>2]=i,i=(n=(n=i)+(i>>=31)^i)+((i=o>>31)+o^i)|0,f[a+24>>2]=(0|u)>=0?c-i:i-c):f[a+16>>2]=f[e+108>>2],i=Wt(A),o=f[a+16>>2],i?(f[a+24>>2]=0-f[a+24>>2],n=0-f[a+20>>2]|0,f[a+20>>2]=n,o=0-o|0,f[a+16>>2]=o):n=f[a+20>>2],(0|o)>=0?(o=(i=f[e+108>>2])+f[a+24>>2]|0,i=i+n|0):((0|n)<0?(i=(o=f[a+24>>2])>>31,i^=i+o):(i=(o=f[a+24>>2])>>31,i=f[e+100>>2]-(i^i+o)|0),(0|o)<0?o=(o=n)+(n>>=31)^n:(o=n,n>>=31,o=f[e+100>>2]-(o+n^n)|0)),n=f[e+100>>2],i|o?(0|n)!=(0|o)|i?o|(s=(0|i)!=(0|n))?i||(0|(u=f[e+108>>2]))>=(0|o)?s||(0|(s=f[e+108>>2]))<=(0|o)?(0|n)!=(0|o)||(0|(n=f[e+108>>2]))<=(0|i)?o||(o=0,(0|(n=f[e+108>>2]))>=(0|i)||(i=(n<<1)-i|0)):i=(n<<1)-i|0:o=(s<<1)-o|0:(o=(u<<1)-o|0,i=0):o=i:i=o:i=o=n,f[a+12>>2]=o,f[a+8>>2]=i,!(f[e+8>>2]<=0)){for(s=f[e+32>>2],o=0;(0|(n=f[e+16>>2]))<(0|i)?f[s+(o<<2)>>2]=n:(n=s+(o<<2)|0,u=f[e+12>>2],f[n>>2]=(0|u)>(0|i)?u:i),(0|(o=o+1|0))<(0|(n=f[e+8>>2]));)i=f[(a+8|0)+(o<<2)>>2];if(i=0,!((0|n)<=0))for(u=(n=l<<3)+r|0,c=t+n|0;;){n=(o=i<<2)+u|0,o=f[o+c>>2]+f[o+s>>2]|0,f[n>>2]=o;t:{if((0|o)>f[e+16>>2])o=o-f[e+20>>2]|0;else{if((0|o)>=f[e+12>>2])break t;o=o+f[e+20>>2]|0}f[n>>2]=o}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}if((0|d)==(0|(l=l+1|0)))break e;if(n=f[e+56>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>l>>>0))break}ci(),E()}return I=a+32|0,1},Hr,ni,dr,Wr,Y,ai,wr,qr,mr,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s,c,u=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;if(f[8+(e|=0)>>2]=n,p=f[(i=e+32|0)>>2],(o=f[e+36>>2]-p>>2)>>>0<n>>>0?(st(i,n-o|0),p=f[i>>2],i=f[e+8>>2]):(n>>>0<o>>>0&&(f[e+36>>2]=(n<<2)+p),i=n),c=f[e+52>>2],a=f[e+48>>2],o=0,h=Ye(br(h=(1073741823&n)!=(0|n)?-1:n<<2),0,h),!((0|i)<=0)){for(;(0|(u=f[(i=o<<2)+h>>2]))>(0|(b=f[e+16>>2]))?f[i+p>>2]=b:(i=i+p|0,b=f[e+12>>2],f[i>>2]=(0|b)>(0|u)?b:u),(0|(i=f[e+8>>2]))>(0|(o=o+1|0)););if(!((0|i)<=0))for(o=0;;){i=(u=o<<2)+r|0,u=f[t+u>>2]+f[u+p>>2]|0,f[i>>2]=u;e:{if((0|u)>f[e+16>>2])l=u-f[e+20>>2]|0;else{if((0|u)>=f[e+12>>2])break e;l=u+f[e+20>>2]|0}f[i>>2]=l}if(!((0|(i=f[e+8>>2]))>(0|(o=o+1|0))))break}}if(o=f[e+56>>2],s=f[o>>2],(0|(o=f[o+4>>2]-s|0))>=5)for(m=(0|(o>>=2))>2?o:2,y=o>>>0>1?o:1,v=-2&n,g=1&n,p=1;;){e:{t:{if((0|p)!=(0|y)){if(k=d(n,p),-1==(0|(o=f[(p<<2)+s>>2])))break t;if(-1==(0|(o=f[f[a+12>>2]+(o<<2)>>2])))break t;b=f[c>>2],u=f[a>>2],A=f[b+(f[u+(o<<2)>>2]<<2)>>2],l=-1!=(0|(l=((l=o+1|0)>>>0)%3|0?l:o-2|0))?f[u+(l<<2)>>2]:-1;r:{if((o>>>0)%3|0)o=o-1|0;else if(_=-1,-1==(0|(o=o+2|0)))break r;_=f[u+(o<<2)>>2]}if((0|A)>=(0|p))break t;if((0|(o=f[(l<<2)+b>>2]))>=(0|p))break t;if((0|(u=f[b+(_<<2)>>2]))>=(0|p))break t;if(!((0|n)<=0)){if(u=d(n,u),b=d(n,o),A=d(n,A),o=0,_=0,1!=(0|n))for(;f[h+(o<<2)>>2]=(f[(o+u<<2)+r>>2]+f[(o+b<<2)+r>>2]|0)-f[(o+A<<2)+r>>2],f[h+((l=1|o)<<2)>>2]=(f[(u+l<<2)+r>>2]+f[(b+l<<2)+r>>2]|0)-f[(l+A<<2)+r>>2],o=o+2|0,(0|v)!=(0|(_=_+2|0)););g&&(f[h+(o<<2)>>2]=(f[(o+u<<2)+r>>2]+f[(o+b<<2)+r>>2]|0)-f[(o+A<<2)+r>>2])}if((0|i)<=0)break e;for(b=f[e+32>>2],o=0;(0|(u=f[(i=o<<2)+h>>2]))>(0|(A=f[e+16>>2]))?f[i+b>>2]=A:(i=i+b|0,A=f[e+12>>2],f[i>>2]=(0|A)>(0|u)?A:u),(0|(i=f[e+8>>2]))>(0|(o=o+1|0)););if(o=0,(0|i)<=0)break e;for(A=(i=k<<2)+r|0,l=t+i|0;;){i=(u=o<<2)+A|0,u=f[u+l>>2]+f[u+b>>2]|0,f[i>>2]=u;r:{if((0|u)>f[e+16>>2])_=u-f[e+20>>2]|0;else{if((0|u)>=f[e+12>>2])break r;_=u+f[e+20>>2]|0}f[i>>2]=_}if(!((0|(i=f[e+8>>2]))>(0|(o=o+1|0))))break}break e}ci(),E()}if(!((0|i)<=0)){for(A=(d(p-1|0,n)<<2)+r|0,b=f[e+32>>2],o=0;(0|(u=f[(i=o<<2)+A>>2]))>(0|(l=f[e+16>>2]))?f[i+b>>2]=l:(i=i+b|0,l=f[e+12>>2],f[i>>2]=(0|l)>(0|u)?l:u),(0|(i=f[e+8>>2]))>(0|(o=o+1|0)););if(o=0,!((0|i)<=0))for(A=(i=k<<2)+r|0,l=t+i|0;;){i=(u=o<<2)+A|0,u=f[u+l>>2]+f[u+b>>2]|0,f[i>>2]=u;t:{if((0|u)>f[e+16>>2])_=u-f[e+20>>2]|0;else{if((0|u)>=f[e+12>>2])break t;_=u+f[e+20>>2]|0}f[i>>2]=_}if(!((0|(i=f[e+8>>2]))>(0|(o=o+1|0))))break}}}if((0|m)==(0|(p=p+1|0)))break}return ee(h),1},ai,function(e){var t=0;return f[(e|=0)>>2]=4608,(t=f[e+96>>2])&&ee(t),(t=f[e+84>>2])&&ee(t),(t=f[e+72>>2])&&ee(t),(t=f[e+60>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},function(e){var t=0;f[(e|=0)>>2]=4608,(t=f[e+96>>2])&&ee(t),(t=f[e+84>>2])&&ee(t),(t=f[e+72>>2])&&ee(t),(t=f[e+60>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)},$r,mr,fe,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s,c,u,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,x=0,R=0,N=0,C=0,D=0,M=0,G=0,U=0,V=0,S=0;I=a=I+-64|0,f[8+(e|=0)>>2]=n,l=f[(o=e+32|0)>>2];e:{if((i=f[e+36>>2]-l>>2)>>>0<n>>>0)st(o,n-i|0),f[a+56>>2]=0,f[a+60>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a>>2]=0;else if(i>>>0>n>>>0&&(f[e+36>>2]=l+(n<<2)),f[a+56>>2]=0,f[a+60>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a>>2]=0,i=0,!n)break e;ve(a+16|0,n,a),b=f[a+28>>2],i=f[a+32>>2]}f[a>>2]=0;e:if((i=i-b>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[a+32>>2]=(n<<2)+b}else ve(a+16|12,n-i|0,a);f[a>>2]=0,o=f[a+40>>2];e:if((i=f[a+44>>2]-o>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[a+44>>2]=o+(n<<2)}else ve(a+40|0,n-i|0,a);f[a>>2]=0,o=f[a+52>>2];e:if((i=f[a+56>>2]-o>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[a+56>>2]=o+(n<<2)}else ve(a+52|0,n-i|0,a);if(b=0,!(f[e+8>>2]<=0)){for(p=f[e+32>>2],l=f[a+16>>2];(0|(o=f[(i=b<<2)+l>>2]))>(0|(k=f[e+16>>2]))?f[i+p>>2]=k:(i=i+p|0,k=f[e+12>>2],f[i>>2]=(0|k)>(0|o)?k:o),(0|(b=b+1|0))<(0|(i=f[e+8>>2])););if(!((0|i)<=0))for(i=0;;){o=(l=i<<2)+r|0,l=f[t+l>>2]+f[l+p>>2]|0,f[o>>2]=l;e:{if((0|l)>f[e+16>>2])A=l-f[e+20>>2]|0;else{if((0|l)>=f[e+12>>2])break e;A=l+f[e+20>>2]|0}f[o>>2]=A}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}u=f[e+52>>2],c=f[e+48>>2],s=br(16),f[(i=s)>>2]=0,f[i+4>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[a+8>>2]=0,f[a>>2]=0,f[a+4>>2]=0;e:{if(n){if(n>>>0>=1073741824)break e;B=br(i=n<<2),f[a>>2]=B,f[a+8>>2]=i+B,Ye(B,0,i)}g=1,i=f[e+56>>2],N=f[i>>2];t:if(!((0|(i=f[i+4>>2]-N|0))<5))for(G=(0|(i>>=2))>2?i:2,U=i>>>0>1?i:1,C=-2&n,D=1&n,V=-4&n,M=3&n,x=n-1|0,S=n<<2,k=1;;){r:{i:{n:{o:{if((0|k)!=(0|U)){i=((o=f[(k<<2)+N>>2])>>>0)%3|0;a:{f:if(-1!=(0|o)){p=0,R=0!=(0|i)|-1!=(0|(l=o+2|0)),v=(w=f[c+12>>2])+((i?o-1|0:l)<<2)|0,m=1,i=o;s:{for(;;){if(-1!=(0|(l=f[w+(i<<2)>>2]))){_=-1,g=f[u>>2],h=f[c>>2],b=g+(f[h+(l<<2)>>2]<<2)|0,-1!=(0|(y=((y=l+1|0)>>>0)%3|0?y:l-2|0))&&(_=f[h+(y<<2)>>2]),y=f[b>>2];c:{if((l>>>0)%3|0)b=l-1|0;else if(A=-1,-1==(0|(b=l+2|0)))break c;A=f[h+(b<<2)>>2]}if(!((0|k)<=(0|y)||(0|(b=f[g+(_<<2)>>2]))>=(0|k)||(0|(_=f[g+(A<<2)>>2]))>=(0|k))){if(l=f[(a+16|0)+d(p,12)>>2],n){if(_=d(n,_),h=d(n,b),g=d(n,y),b=0,A=0,x)for(;f[l+(b<<2)>>2]=(f[(b+_<<2)+r>>2]+f[(b+h<<2)+r>>2]|0)-f[(b+g<<2)+r>>2],f[l+((y=1|b)<<2)>>2]=(f[(_+y<<2)+r>>2]+f[(h+y<<2)+r>>2]|0)-f[(y+g<<2)+r>>2],b=b+2|0,(0|C)!=(0|(A=A+2|0)););D&&(f[l+(b<<2)>>2]=(f[(b+_<<2)+r>>2]+f[(b+h<<2)+r>>2]|0)-f[(b+g<<2)+r>>2])}if(l=4,4==(0|(p=p+1|0)))break s}}c:if(1&m){if(A=-1,-1==(0|(i=((b=i+1|0)>>>0)%3|0?b:i-2|0)))break c;if(A=-1,-1==(0|(i=f[w+(i<<2)>>2])))break c;A=((l=i+1|0)>>>0)%3|0?l:i-2|0}else{if((i>>>0)%3|0)b=i-1|0;else if(A=-1,-1==(0|(b=i+2|0)))break c;A=-1,-1!=(0|(i=f[w+(b<<2)>>2]))&&(A=i-1|0,(i>>>0)%3|0||(A=i+2|0))}c:if((0|o)!=(0|(i=A))){if(!(1&(1^m)|-1!=(0|i))){if(!R)break c;if(-1==(0|(i=f[v>>2])))break c;m=0,i=(i>>>0)%3|0?i-1|0:i+2|0}if(-1!=(0|i))continue}break}if((0|(l=p))<=0)break f}for(n&&Ye(f[a>>2],0,S),y=((i=l-1|0)<<2)+s|0,A=i=d(i,12)+e|0,R=f[i- -64>>2],g=0,m=0,i=0;;){if(o=f[y>>2],f[y>>2]=o+1,o>>>0>=R>>>0)break t;if(!(f[f[A+60>>2]+(o>>>3&536870908)>>2]>>>o&1)&&(i=i+1|0,n)){if(p=f[a>>2],w=f[(a+16|0)+d(m,12)>>2],_=0,b=0,o=0,x>>>0>=3)for(;f[(v=(h=b<<2)+p|0)>>2]=f[v>>2]+f[h+w>>2],f[(T=(v=4|h)+p|0)>>2]=f[T>>2]+f[w+v>>2],f[(T=(v=8|h)+p|0)>>2]=f[T>>2]+f[w+v>>2],f[(v=(h|=12)+p|0)>>2]=f[v>>2]+f[h+w>>2],b=b+4|0,(0|V)!=(0|(o=o+4|0)););if(M)for(;f[(h=(o=b<<2)+p|0)>>2]=f[h>>2]+f[o+w>>2],b=b+1|0,(0|M)!=(0|(_=_+1|0)););}if((0|(m=m+1|0))==(0|l))break}if(o=m=d(n,k),!i)break a;if(!n)break i;if(o=f[a>>2],b=0,l=0,x)break o;break n}o=d(n,k)}if(f[e+8>>2]<=0)break r;for(m=(d(k-1|0,n)<<2)+r|0,p=f[e+32>>2],b=0;(0|(l=f[(i=b<<2)+m>>2]))>(0|(_=f[e+16>>2]))?f[i+p>>2]=_:(i=i+p|0,_=f[e+12>>2],f[i>>2]=(0|_)>(0|l)?_:l),(0|(b=b+1|0))<(0|(l=f[e+8>>2])););if(i=0,(0|l)<=0)break r;for(b=(o<<=2)+r|0,m=t+o|0;;){o=(l=i<<2)+b|0,l=f[l+m>>2]+f[l+p>>2]|0,f[o>>2]=l;a:{if((0|l)>f[e+16>>2])A=l-f[e+20>>2]|0;else{if((0|l)>=f[e+12>>2])break a;A=l+f[e+20>>2]|0}f[o>>2]=A}if(!((0|(i=i+1|0))<f[e+8>>2]))break}break r}ci(),E()}for(;f[(_=(p=b<<2)+o|0)>>2]=f[_>>2]/(0|i),f[(p=o+(4|p)|0)>>2]=f[p>>2]/(0|i),b=b+2|0,(0|C)!=(0|(l=l+2|0)););}D&&(f[(o=o+(b<<2)|0)>>2]=f[o>>2]/(0|i))}if(!(f[e+8>>2]<=0)){for(p=f[e+32>>2],b=0;(0|(o=f[(i=b<<2)+B>>2]))>(0|(l=f[e+16>>2]))?f[i+p>>2]=l:(i=i+p|0,l=f[e+12>>2],f[i>>2]=(0|l)>(0|o)?l:o),(0|(b=b+1|0))<(0|(o=f[e+8>>2])););if(i=0,!((0|o)<=0))for(b=(o=m<<2)+r|0,m=t+o|0;;){o=(l=i<<2)+b|0,l=f[l+m>>2]+f[l+p>>2]|0,f[o>>2]=l;i:{if((0|l)>f[e+16>>2])A=l-f[e+20>>2]|0;else{if((0|l)>=f[e+12>>2])break i;A=l+f[e+20>>2]|0}f[o>>2]=A}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}}if(g=1,(0|G)==(0|(k=k+1|0)))break}return(e=f[a>>2])&&ee(e),ee(s),(e=f[a+52>>2])&&(f[a+56>>2]=e,ee(e)),(e=f[a+40>>2])&&(f[a+44>>2]=e,ee(e)),(e=f[a+28>>2])&&(f[a+32>>2]=e,ee(e)),(e=f[a+16>>2])&&(f[a+20>>2]=e,ee(e)),I=a- -64|0,0|g}ii(),E()},function(e){var t=0;return f[(e|=0)>>2]=4844,(t=f[e+76>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},function(e){var t=0;f[(e|=0)>>2]=4844,(t=f[e+76>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)},Kr,hr,qr,Jr,yr,ke,function(e,t,r,i,n,a){e|=0,t|=0,r|=0,i|=0,a|=0;var s=0,c=0,l=0,b=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,x=0,R=0,N=0,D=0,M=0,G=0,U=0,V=0,S=0,F=0,W=0,j=0,O=0,Z=0,Y=0,z=0,J=0,Q=0,L=0,X=0,H=0,q=0;if(2==(0|(n|=0))){f[e+8>>2]=2,f[e- -64>>2]=a,n=f[(i=e+32|0)>>2],(s=(a=f[e+36>>2]-n|0)>>2)>>>0<=1?st(i,2-s|0):8!=(0|a)&&(f[e+36>>2]=n+8);e:if(i=f[e+56>>2],(0|(a=(n=f[i+4>>2])-(i=f[i>>2])|0))<=0)a=0;else{if((0|i)!=(0|n))for(d=e+60|0,X=(0|(S=a>>2))>1?S:1,a=1;;){if(I=l=I-80|0,n=-1,-1==(0|(s=f[(k<<2)+i>>2]))||(c=f[d+32>>2],-1!=(0|(i=((i=s+1|0)>>>0)%3|0?i:s-2|0))&&(n=f[f[c>>2]+(i<<2)>>2]),i=-1,-1!=(0|(s=s+((s>>>0)%3|0?-1:2)|0))&&(i=f[f[c>>2]+(s<<2)>>2]),c=f[d+36>>2],s=f[c>>2],(c=f[c+4>>2]-s>>2)>>>0<=n>>>0|i>>>0>=c>>>0))ci(),E();else{c=f[s+(n<<2)>>2];t:{r:{i:{n:{o:{if(!((0|(s=f[s+(i<<2)>>2]))>=(0|k)|(0|c)>=(0|k))){if(B=f[4+(i=(s<<3)+r|0)>>2],y=f[4+(n=(c<<3)+r|0)>>2],!((0|(g=f[i>>2]))!=(0|(G=f[n>>2]))|(0|y)!=(0|B))){f[d+8>>2]=G,f[d+12>>2]=y;break o}if(i=f[f[d+4>>2]+(k<<2)>>2],f[l+72>>2]=0,f[l+76>>2]=0,f[(n=l- -64|0)>>2]=0,f[n+4>>2]=0,f[l+56>>2]=0,f[l+60>>2]=0,n=f[d>>2],u[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),P(n,i,o[n+24|0],l+56|0),i=f[f[d+4>>2]+(c<<2)>>2],f[l+48>>2]=0,f[l+52>>2]=0,f[l+40>>2]=0,f[l+44>>2]=0,f[l+32>>2]=0,f[l+36>>2]=0,n=f[d>>2],u[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),P(n,i,o[n+24|0],l+32|0),n=f[f[d+4>>2]+(s<<2)>>2],f[l+24>>2]=0,f[l+28>>2]=0,f[l+16>>2]=0,f[l+20>>2]=0,f[l+8>>2]=0,f[l+12>>2]=0,i=f[d>>2],u[i+84|0]||(n=f[f[i+68>>2]+(n<<2)>>2]),P(i,n,o[i+24|0],l+8|0),F=f[l+44>>2],i=Jt(_=(i=f[l+16>>2])-(n=x=f[l+40>>2])|0,A=f[l+20>>2]-(F+(i>>>0<n>>>0)|0)|0,_,A),n=C,h=i,W=f[l+36>>2],s=Jt(w=(i=f[l+8>>2])-(s=U=f[l+32>>2])|0,b=f[l+12>>2]-(W+(i>>>0<s>>>0)|0)|0,w,b),n=C+n|0,n=(i=h+s|0)>>>0<s>>>0?n+1|0:n,h=i,j=f[l+52>>2],m=Jt(v=(i=f[l+24>>2])-(s=V=f[l+48>>2])|0,p=f[l+28>>2]-(j+(i>>>0<s>>>0)|0)|0,v,p),s=C+n|0,T=i=h+m|0,i|(m=i>>>0<m>>>0?s+1|0:s)){if(i=Jt((i=Z=f[l+64>>2])-x|0,(Y=f[l+68>>2])-((i>>>0<x>>>0)+F|0)|0,_,A),n=C,i=(s=i)+(c=Jt((i=z=f[l+56>>2])-U|0,(J=f[l+60>>2])-((i>>>0<U>>>0)+W|0)|0,w,b))|0,s=C+n|0,s=i>>>0<c>>>0?s+1|0:s,i=(n=i)+(c=Jt((i=Q=f[l+72>>2])-V|0,(L=f[l+76>>2])-((i>>>0<V>>>0)+j|0)|0,v,p))|0,n=C+s|0,N=i,R=i>>>0<c>>>0?n+1|0:n,s=(i=p>>31)+p|0,c=(n=i+v|0)^i,O=i^=s=n>>>0<i>>>0?s+1|0:s,n=(i=A>>31)+A|0,D=(s=i+_|0)^i,h=i^=s>>>0<i>>>0?n+1|0:n,n=0,s=(i=b>>31)+b|0,s=(M=i+w|0)>>>0<i>>>0?s+1|0:s,M^=i,(s=Ee(-1,2147483647,(s=(0|O)==(0|(i=(s=(0|h)==(0|(i^=s))&D>>>0>M>>>0|i>>>0<h>>>0)?h:i))&c>>>0>(D=s?D:M)>>>0|i>>>0<O>>>0)?c:D,s?O:i)>>>0<N>>>0)&(0|(i=C))<=(0|R)|(0|i)<(0|R))break t;if(c=1,i=0,n=Z,_=Yt(Jt(_,A,N,R),C,T,m),s=C+F|0,s=Y-((n>>>0<(A=_+x|0)>>>0)+(s=A>>>0<_>>>0?s+1|0:s)|0)|0,s=Jt(n=n-A|0,s,n,s),_=C,n=z,h=s,b=Yt(Jt(w,b,N,R),C,T,m),s=C+W|0,s=J-((n>>>0<(A=b+U|0)>>>0)+(s=b>>>0>A>>>0?s+1|0:s)|0)|0,A=Jt(n=n-A|0,s,n,s),n=C+_|0,A=n=(s=h+A|0)>>>0<A>>>0?n+1|0:n,n=Q,h=s,p=Yt(Jt(v,p,N,R),C,T,m),s=C+j|0,s=L-((n>>>0<(b=p+V|0)>>>0)+(s=b>>>0<p>>>0?s+1|0:s)|0)|0,b=Jt(n=n-b|0,s,n,s),s=C+A|0,A=Jt(n=h+b|0,n>>>0<b>>>0?s+1|0:s,T,m),b=n=C,!n&A>>>0<=1)break n;for(p=A,n=b;s=i<<1|c>>>31,c<<=1,i=s,_=!n&p>>>0>7|0!=(0|n),p=(3&n)<<30|p>>>2,n=n>>>2|0,_;);break i}}if((0|c)<(0|k))i=c<<1;else{if((0|k)<=0){f[d+8>>2]=0,f[d+12>>2]=0;break o}i=(k<<1)-2|0}i=(i<<2)+r|0,f[d+8>>2]=f[i>>2],f[d+12>>2]=f[i+4>>2]}n=1;break t}if(i=b,(c=A)-1|0)break r}for(;s=Ee(A,b,c,i)+c|0,n=i+C|0,n=Jt(c=(1&(n=s>>>0<c>>>0?n+1|0:n))<<31|s>>>1,i=n>>>1|0,c,i),(0|b)==(0|(s=C))&n>>>0>A>>>0|s>>>0>b>>>0;);}(A=f[d+20>>2])&&(n=A-1|0,p=f[f[d+16>>2]+(n>>>3&536870908)>>2],f[d+20>>2]=n,s=Jt(N,R,_=B-(s=y)|0,w=(B>>31)-((b=s>>31)+(s>>>0>B>>>0)|0)|0),v=C,b=(y=Jt(y,b,T,m))+s|0,s=C+v|0,s=b>>>0<y>>>0?s+1|0:s,h=b,g=b=Jt(c,i,v=g-(b=G)|0,B=(g>>31)-((y=b>>31)+(b>>>0>g>>>0)|0)|0),p=h+(x=(n=b=p>>>n&1)?0-g|0:g)|0,h=s,s=C,n=h+(n?0-(s+(0!=(0|g))|0)|0:s)|0,H=d,q=Yt(p,p>>>0<x>>>0?n+1|0:n,T,m),f[H+12>>2]=q,n=Jt(v,B,N,R),s=C,p=Jt(T,m,G,y),s=C+s|0,s=(n=p+n|0)>>>0<p>>>0?s+1|0:s,i=Jt(c,i,_,w),c=(p=b?i:0-i|0)+n|0,n=C,n=(b?n:0-((0!=(0|i))+n|0)|0)+s|0,H=d,q=Yt(c,c>>>0<p>>>0?n+1|0:n,T,m),f[H+8>>2]=q),n=0!=(0|A)}I=l+80|0}if(!n)break e;if(!(f[e+8>>2]<=0)){for(s=f[e+32>>2],i=0;(0|(a=f[68+((n=i<<2)+e|0)>>2]))>(0|(c=f[e+16>>2]))?f[n+s>>2]=c:(n=n+s|0,c=f[e+12>>2],f[n>>2]=(0|c)>(0|a)?c:a),(0|(i=i+1|0))<(0|(a=f[e+8>>2])););if(n=0,!((0|a)<=0))for(c=(i=k<<3)+r|0,A=t+i|0;;){i=(a=n<<2)+c|0,a=f[a+A>>2]+f[a+s>>2]|0,f[i>>2]=a;t:{if((0|a)>f[e+16>>2])a=a-f[e+20>>2]|0;else{if((0|a)>=f[e+12>>2])break t;a=a+f[e+20>>2]|0}f[i>>2]=a}if(!((0|(n=n+1|0))<f[e+8>>2]))break}}if(a=(0|S)>(0|(k=k+1|0)),(0|k)==(0|X))break e;if(n=f[e+56>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>k>>>0))break}ci(),E()}e=1^a}else e=0;return 1&e},function(e){var t;return f[(e|=0)>>2]=5068,f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},function(e){var t;f[(e|=0)>>2]=5068,f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)},ri,ir,qr,Jr,vr,Pe,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s=0,c=0,u=0,l=0,b=0,A=0,p=0,d=0;I=a=I-32|0,f[68+(e|=0)>>2]=o,n=f[e+56>>2],i=f[n>>2],o=f[n+4>>2],f[a+24>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0;e:if(!((0|(o=o-i|0))<=0)){if((0|(i=f[n>>2]))!=f[n+4>>2])for(A=e+112|0,p=e+60|0,d=(n=o>>>2|0)>>>0>1?n:1;;){if($(p,f[(l<<2)+i>>2],a+16|0),i=(n=f[a+20>>2])>>31,s=(o=f[a+16>>2])>>31,c=(u=f[a+24>>2])>>31,s=(c^=c+u)+((i^i+n)+(s^o+s)|0)|0,i=0,(i=s>>>0<c>>>0?1:i)|s?(o=Yt(Jt(c=f[e+108>>2],b=c>>31,o,o>>31),C,s,i),f[a+16>>2]=o,i=Yt(Jt(c,b,n,n>>31),C,s,i),f[a+20>>2]=i,i=(n=(n=i)+(i>>=31)^i)+((i=o>>31)+o^i)|0,f[a+24>>2]=(0|u)>=0?c-i:i-c):f[a+16>>2]=f[e+108>>2],i=Wt(A),o=f[a+16>>2],i?(f[a+24>>2]=0-f[a+24>>2],n=0-f[a+20>>2]|0,f[a+20>>2]=n,o=0-o|0,f[a+16>>2]=o):n=f[a+20>>2],(0|o)>=0?(o=(i=f[e+108>>2])+f[a+24>>2]|0,i=i+n|0):((0|n)<0?(i=(o=f[a+24>>2])>>31,i^=i+o):(i=(o=f[a+24>>2])>>31,i=f[e+100>>2]-(i^i+o)|0),(0|o)<0?o=(o=n)+(n>>=31)^n:(o=n,n>>=31,o=f[e+100>>2]-(o+n^n)|0)),n=f[e+100>>2],i|o?(0|n)!=(0|o)|i?o|(s=(0|i)!=(0|n))?i||(0|(u=f[e+108>>2]))>=(0|o)?s||(0|(s=f[e+108>>2]))<=(0|o)?(0|n)!=(0|o)||(0|(n=f[e+108>>2]))<=(0|i)?o||(o=0,(0|(n=f[e+108>>2]))>=(0|i)||(i=(n<<1)-i|0)):i=(n<<1)-i|0:o=(s<<1)-o|0:(o=(u<<1)-o|0,i=0):o=i:i=o:i=o=n,f[a+12>>2]=o,f[a+8>>2]=i,!(f[e+8>>2]<=0)){for(s=f[e+32>>2],o=0;(0|(n=f[e+16>>2]))<(0|i)?f[s+(o<<2)>>2]=n:(n=s+(o<<2)|0,u=f[e+12>>2],f[n>>2]=(0|u)>(0|i)?u:i),(0|(o=o+1|0))<(0|(n=f[e+8>>2]));)i=f[(a+8|0)+(o<<2)>>2];if(i=0,!((0|n)<=0))for(u=(n=l<<3)+r|0,c=t+n|0;;){n=(o=i<<2)+u|0,o=f[o+c>>2]+f[o+s>>2]|0,f[n>>2]=o;t:{if((0|o)>f[e+16>>2])o=o-f[e+20>>2]|0;else{if((0|o)>=f[e+12>>2])break t;o=o+f[e+20>>2]|0}f[n>>2]=o}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}if((0|d)==(0|(l=l+1|0)))break e;if(n=f[e+56>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>l>>>0))break}ci(),E()}return I=a+32|0,1},Hr,ni,dr,Wr,$,ai,wr,ei,qr,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s=0,c=0,u=0,l=0,b=0,A=0,p=0,d=0,_=0;if(f[8+(e|=0)>>2]=n,u=f[(o=e+32|0)>>2],(c=f[e+36>>2]-u>>2)>>>0<n>>>0?(st(o,n-c|0),u=f[o>>2],o=f[e+8>>2]):(n>>>0<c>>>0&&(f[e+36>>2]=(n<<2)+u),o=n),c=0,a=Ye(br(s=(1073741823&n)!=(0|n)?-1:n<<2),0,s),!((0|o)<=0)){for(;(0|(s=f[(o=c<<2)+a>>2]))>(0|(l=f[e+16>>2]))?f[o+u>>2]=l:(o=o+u|0,l=f[e+12>>2],f[o>>2]=(0|l)>(0|s)?l:s),(0|(o=f[e+8>>2]))>(0|(c=c+1|0)););if(!((0|o)<=0))for(c=0;;){o=(s=c<<2)+r|0,s=f[t+s>>2]+f[s+u>>2]|0,f[o>>2]=s;e:{if((0|s)>f[e+16>>2])s=s-f[e+20>>2]|0;else{if((0|s)>=f[e+12>>2])break e;s=s+f[e+20>>2]|0}f[o>>2]=s}if(!((0|(o=f[e+8>>2]))>(0|(c=c+1|0))))break}}if(!((0|i)<=(0|n)|(0|o)<=0))for(d=0-n<<2,u=n;;){if(!((0|o)<=0)){for(_=(p=(A=u<<2)+r|0)+d|0,l=f[e+32>>2],c=0;(0|(s=f[(o=c<<2)+_>>2]))>(0|(b=f[e+16>>2]))?f[o+l>>2]=b:(o=o+l|0,b=f[e+12>>2],f[o>>2]=(0|b)>(0|s)?b:s),(0|(o=f[e+8>>2]))>(0|(c=c+1|0)););if(c=0,!((0|o)<=0))for(A=t+A|0;;){o=(s=c<<2)+p|0,s=f[s+A>>2]+f[s+l>>2]|0,f[o>>2]=s;e:{if((0|s)>f[e+16>>2])s=s-f[e+20>>2]|0;else{if((0|s)>=f[e+12>>2])break e;s=s+f[e+20>>2]|0}f[o>>2]=s}if(!((0|(o=f[e+8>>2]))>(0|(c=c+1|0))))break}}if(!((0|(u=n+u|0))<(0|i)))break}return ee(a),1},nr,fr,function(e,t,r){t|=0,r|=0;var i=0;return f[4+(e|=0)>>2]=t,t=f[f[f[t+4>>2]+8>>2]+(r<<2)>>2],f[e+12>>2]=r,f[e+8>>2]=t,e=f[e+8>>2],3==u[e+24|0]&&(i=9==f[e+28>>2]),0|i},function(e,t,r){return t|=0,r|=0,u[f[4+(e|=0)>>2]+36|0]>=2&&(t=0,!It(e+24|0,tt(e),r))||(t=Ft(e+24|0,f[e+16>>2])),0|t},Ir,function(e,t,r){e|=0,t|=0;var i,n=0,a=0,s=0,c=0,u=0,l=0,b=0;I=i=I-32|0;e:if(3==(0|(r|=0))&&(r=f[e+4>>2],e=f[e+12>>2],f[i+24>>2]=-1,f[i+16>>2]=-1,f[i+20>>2]=1065353216,f[i+8>>2]=-1,f[i+12>>2]=-1,-2!=(0|t))){if(b=f[f[f[r+4>>2]+8>>2]+(e<<2)>>2],1==(0|_i[f[f[r>>2]+8>>2]](r))){l=f[f[f[r+4>>2]+8>>2]+(e<<2)>>2];t:{r:if(!(1!=(0|_i[f[f[r>>2]+8>>2]](r))|t-1>>>0>5||!(c=0|_i[f[f[r>>2]+36>>2]](r))|!(a=0|_i[f[f[r>>2]+44>>2]](r,e)))){if(s=a+12|0,u=0|_i[f[f[r>>2]+40>>2]](r,e),r=f[r+44>>2],u){if(6!=(0|t))break r;e=br(112),f[e+4>>2]=l,t=f[i+12>>2],f[e+8>>2]=f[i+8>>2],f[e+12>>2]=t,t=f[i+20>>2],f[e+16>>2]=f[i+16>>2],f[e+20>>2]=t,f[e+24>>2]=f[i+24>>2],f[e+40>>2]=a,f[e+36>>2]=s,f[e+32>>2]=u,f[e+28>>2]=r,f[e+68>>2]=a,f[e- -64>>2]=s,f[e+60>>2]=u,f[e+56>>2]=r,f[e+48>>2]=0,f[e+52>>2]=0,f[e>>2]=5956,f[e+88>>2]=1065353216,f[e+92>>2]=-1,f[e+80>>2]=-1,f[e+84>>2]=-1,f[e+72>>2]=1,f[e+76>>2]=-1,f[e+44>>2]=6520,f[(t=e+96|0)>>2]=0,f[t+4>>2]=0,o[t+5|0]=0,o[t+6|0]=0,o[t+7|0]=0,o[t+8|0]=0,o[t+9|0]=0,o[t+10|0]=0,o[t+11|0]=0,o[t+12|0]=0;break t}6==(0|t)&&(n=br(112),f[n+4>>2]=l,e=f[i+12>>2],f[n+8>>2]=f[i+8>>2],f[n+12>>2]=e,e=f[i+20>>2],f[n+16>>2]=f[i+16>>2],f[n+20>>2]=e,f[n+24>>2]=f[i+24>>2],f[n+40>>2]=a,f[n+36>>2]=s,f[n+32>>2]=c,f[n+28>>2]=r,f[n+68>>2]=a,f[n- -64>>2]=s,f[n+60>>2]=c,f[n+56>>2]=r,f[n+48>>2]=0,f[n+52>>2]=0,f[n>>2]=6960,f[n+88>>2]=1065353216,f[n+92>>2]=-1,f[n+80>>2]=-1,f[n+84>>2]=-1,f[n+72>>2]=1,f[n+76>>2]=-1,f[n+44>>2]=7380,f[(e=n+96|0)>>2]=0,f[e+4>>2]=0,o[e+5|0]=0,o[e+6|0]=0,o[e+7|0]=0,o[e+8|0]=0,o[e+9|0]=0,o[e+10|0]=0,o[e+11|0]=0,o[e+12|0]=0)}e=n}if(n=e,e)break e}n=br(28),f[n+4>>2]=b,e=f[i+12>>2],f[n+8>>2]=f[i+8>>2],f[n+12>>2]=e,e=f[i+20>>2],f[n+16>>2]=f[i+16>>2],f[n+20>>2]=e,f[n+24>>2]=f[i+24>>2],f[n>>2]=7792}return I=i+32|0,0|n},ti,function(e,t){return 0|Me(24+(e|=0)|0,tt(e),f[e+8>>2])},function(e){return f[(e|=0)>>2]=5956,0|e},function(e){f[(e|=0)>>2]=5956,ee(e)},ri,Yr,or,qr,Jr,gr,qr,function(e){return 3},Le,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s=0,c=0,u=0,l=0,b=0,p=0,d=0,h=0,k=0;I=a=I-48|0,(i=f[8+(e|=0)>>2])-31>>>0>=4294967267&&(f[e+76>>2]=i,i=-2-(n=-1<<i)|0,f[e+84>>2]=i,f[e+80>>2]=-1^n,f[e+92>>2]=(0|i)/2,A[e+88>>2]=_(2)/_(0|i)),f[e+52>>2]=o,n=f[e+40>>2],i=f[n>>2],s=f[n+4>>2],o=0,f[a+16>>2]=0,f[a+8>>2]=0,f[a+12>>2]=0;e:if(!((0|(s=s-i|0))<=0)){if((0|(i=f[n>>2]))!=f[n+4>>2])for(p=e+8|0,d=e+96|0,h=e+44|0,k=(n=s>>>2|0)>>>0>1?n:1;;){if(Y(h,f[(o<<2)+i>>2],a+8|0),i=(n=f[a+12>>2])>>31,c=(s=f[a+8>>2])>>31,u=(l=f[a+16>>2])>>31,c=(u^=u+l)+((i^i+n)+(c^s+c)|0)|0,i=0,(i=c>>>0<u>>>0?1:i)|c?(s=Yt(Jt(u=f[e+92>>2],b=u>>31,s,s>>31),C,c,i),f[a+8>>2]=s,i=Yt(Jt(u,b,n,n>>31),C,c,i),f[a+12>>2]=i,i=(n=(n=i)+(i>>=31)^i)+((i=s>>31)+s^i)|0,f[a+16>>2]=(0|l)>=0?u-i:i-u):f[a+8>>2]=f[e+92>>2],i=Wt(d),n=f[a+8>>2],i?(f[a+16>>2]=0-f[a+16>>2],s=0-f[a+12>>2]|0,f[a+12>>2]=s,n=0-n|0,f[a+8>>2]=n):s=f[a+12>>2],(0|n)>=0?(i=(n=f[e+92>>2])+f[a+16>>2]|0,n=n+s|0):((0|s)<0?(n=(i=f[a+16>>2])>>31,n^=i+n):(n=(i=f[a+16>>2])>>31,n=f[e+84>>2]-(n^i+n)|0),(0|i)<0?(i=s>>31,i^=i+s):(i=s>>31,i=f[e+84>>2]-(i+s^i)|0)),s=f[e+84>>2],i|n?(0|i)!=(0|s)|n?i|(c=(0|n)!=(0|s))?n||(0|(l=f[e+92>>2]))>=(0|i)?c||(0|(c=f[e+92>>2]))<=(0|i)?(0|i)!=(0|s)||(0|(s=f[e+92>>2]))<=(0|n)?i||(i=0,(0|(s=f[e+92>>2]))>=(0|n)||(n=(s<<1)-n|0)):n=(s<<1)-n|0:i=(c<<1)-i|0:(i=(l<<1)-i|0,n=0):i=n:n=i:n=i=s,l=f[4+(c=(s=o<<3)+t|0)>>2],c=f[c>>2],f[a+36>>2]=i,f[a+32>>2]=n,f[a+24>>2]=c,f[a+28>>2]=l,pe(a+40|0,p,a+32|0,a+24|0),f[(i=r+s|0)>>2]=f[a+40>>2],f[i+4>>2]=f[a+44>>2],(0|k)==(0|(o=o+1|0)))break e;if(n=f[e+40>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>o>>>0))break}ci(),E()}return I=a+48|0,1},Hr,ni,dr,Wr,Y,function(e){return f[(e|=0)>>2]=6960,0|e},function(e){f[(e|=0)>>2]=6960,ee(e)},ri,or,qr,Jr,gr,Le,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s=0,c=0,u=0,l=0,b=0,p=0,d=0,h=0,k=0;I=a=I-48|0,(i=f[8+(e|=0)>>2])-31>>>0>=4294967267&&(f[e+76>>2]=i,i=-2-(n=-1<<i)|0,f[e+84>>2]=i,f[e+80>>2]=-1^n,f[e+92>>2]=(0|i)/2,A[e+88>>2]=_(2)/_(0|i)),f[e+52>>2]=o,n=f[e+40>>2],i=f[n>>2],s=f[n+4>>2],o=0,f[a+16>>2]=0,f[a+8>>2]=0,f[a+12>>2]=0;e:if(!((0|(s=s-i|0))<=0)){if((0|(i=f[n>>2]))!=f[n+4>>2])for(p=e+8|0,d=e+96|0,h=e+44|0,k=(n=s>>>2|0)>>>0>1?n:1;;){if($(h,f[(o<<2)+i>>2],a+8|0),i=(n=f[a+12>>2])>>31,c=(s=f[a+8>>2])>>31,u=(l=f[a+16>>2])>>31,c=(u^=u+l)+((i^i+n)+(c^s+c)|0)|0,i=0,(i=c>>>0<u>>>0?1:i)|c?(s=Yt(Jt(u=f[e+92>>2],b=u>>31,s,s>>31),C,c,i),f[a+8>>2]=s,i=Yt(Jt(u,b,n,n>>31),C,c,i),f[a+12>>2]=i,i=(n=(n=i)+(i>>=31)^i)+((i=s>>31)+s^i)|0,f[a+16>>2]=(0|l)>=0?u-i:i-u):f[a+8>>2]=f[e+92>>2],i=Wt(d),n=f[a+8>>2],i?(f[a+16>>2]=0-f[a+16>>2],s=0-f[a+12>>2]|0,f[a+12>>2]=s,n=0-n|0,f[a+8>>2]=n):s=f[a+12>>2],(0|n)>=0?(i=(n=f[e+92>>2])+f[a+16>>2]|0,n=n+s|0):((0|s)<0?(n=(i=f[a+16>>2])>>31,n^=i+n):(n=(i=f[a+16>>2])>>31,n=f[e+84>>2]-(n^i+n)|0),(0|i)<0?(i=s>>31,i^=i+s):(i=s>>31,i=f[e+84>>2]-(i+s^i)|0)),s=f[e+84>>2],i|n?(0|i)!=(0|s)|n?i|(c=(0|n)!=(0|s))?n||(0|(l=f[e+92>>2]))>=(0|i)?c||(0|(c=f[e+92>>2]))<=(0|i)?(0|i)!=(0|s)||(0|(s=f[e+92>>2]))<=(0|n)?i||(i=0,(0|(s=f[e+92>>2]))>=(0|n)||(n=(s<<1)-n|0)):n=(s<<1)-n|0:i=(c<<1)-i|0:(i=(l<<1)-i|0,n=0):i=n:n=i:n=i=s,l=f[4+(c=(s=o<<3)+t|0)>>2],c=f[c>>2],f[a+36>>2]=i,f[a+32>>2]=n,f[a+24>>2]=c,f[a+28>>2]=l,pe(a+40|0,p,a+32|0,a+24|0),f[(i=r+s|0)>>2]=f[a+40>>2],f[i+4>>2]=f[a+44>>2],(0|k)==(0|(o=o+1|0)))break e;if(n=f[e+40>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>o>>>0))break}ci(),E()}return I=a+48|0,1},Hr,ni,dr,Wr,$,Hr,ni,ei,qr,ei,Zr,Jr,function(e,t){e|=0;var r,i,n,o,a=0,s=0,c=0,l=0;return r=f[12+(t|=0)>>2],c=a=f[t+20>>2],a=(s=(i=f[t+16>>2])+4|0)>>>0<4?a+1|0:a,o=s,(n=f[t+8>>2])>>>0<s>>>0&(0|a)>=(0|r)|(0|a)>(0|r)||(s=i+f[t>>2]|0,s=u[0|s]|u[s+1|0]<<8|u[s+2|0]<<16|u[s+3|0]<<24,f[t+16>>2]=o,f[t+20>>2]=a,a=c,(c=i+8|0)>>>0>n>>>0&(0|(a=c>>>0<8?a+1|0:a))>=(0|r)|(0|a)>(0|r)||(f[t+16>>2]=c,f[t+20>>2]=a,1&s&&((t=31^k(s))-30>>>0<4294967267||(l=1,f[e+8>>2]=t+1,t=-2-(a=-2<<t)|0,f[e+16>>2]=t,f[e+12>>2]=-1^a,f[e+24>>2]=(0|t)/2,A[e+20>>2]=_(2)/_(0|t))))),0|l},function(e,t,r,i,n,o){e|=0,t|=0,r|=0,i|=0,o|=0;var a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0;if(I=o=I-32|0,s=Ye(br(s=(1073741823&(n|=0))!=(0|n)?-1:n<<2),0,s),a=f[t>>2],c=f[t+4>>2],l=f[s+4>>2],f[o+16>>2]=f[s>>2],f[o+20>>2]=l,f[o+8>>2]=a,f[o+12>>2]=c,pe(o+24|0,c=e+8|0,o+16|0,o+8|0),f[r>>2]=f[o+24>>2],f[r+4>>2]=f[o+28>>2],(0|i)>(0|n))for(l=0-n<<2,e=n;A=f[(u=(a=e<<2)+t|0)>>2],u=f[u+4>>2],p=f[4+(b=(a=r+a|0)+l|0)>>2],f[o+16>>2]=f[b>>2],f[o+20>>2]=p,f[o+8>>2]=A,f[o+12>>2]=u,pe(o+24|0,c,o+16|0,o+8|0),f[a>>2]=f[o+24>>2],f[a+4>>2]=f[o+28>>2],(0|i)>(0|(e=e+n|0)););return ee(s),I=o+32|0,1},function(e){var t=0;return f[24+(e|=0)>>2]=1140,f[e>>2]=7976,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),f[e>>2]=2164,t=f[e+20>>2],f[e+20>>2]=0,t&&_i[f[f[t>>2]+4>>2]](t),f[e>>2]=1948,t=f[e+16>>2],f[e+16>>2]=0,t&&Zt(t),0|e},function(e){var t=0;f[24+(e|=0)>>2]=1140,f[e>>2]=7976,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),f[e>>2]=2164,t=f[e+20>>2],f[e+20>>2]=0,t&&_i[f[f[t>>2]+4>>2]](t),f[e>>2]=1948,t=f[e+16>>2],f[e+16>>2]=0,t&&Zt(t),ee(e)},function(e,t,r){var i;return t|=0,r|=0,f[4+(e|=0)>>2]=t,i=f[f[f[t+4>>2]+8>>2]+(r<<2)>>2],f[e+12>>2]=r,f[e+8>>2]=i,9==f[f[f[f[t+4>>2]+8>>2]+(r<<2)>>2]+28>>2]|0},function(e,t,r){return t|=0,u[f[4+(e|=0)>>2]+36|0]>=2&&(t=0,!(0|_i[f[f[e>>2]+52>>2]](e)))||(t=Ft(e+24|0,f[e+16>>2])),0|t},Ir,function(e,t){return t|=0,0|_i[f[f[(e|=0)>>2]+56>>2]](e,t)},function(e){return 0|Ce(24+(e|=0)|0,tt(e)||f[e+8>>2],f[f[e+4>>2]+32>>2])},function(e,t){return 0|Be(24+(e|=0)|0,tt(e),f[e+8>>2])},function(e){var t,r=0,i=0;if(f[(e|=0)>>2]=10064,(r=f[e+20>>2])&&(f[e+24>>2]=r,ee(r)),t=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|t)!=(0|i););r=f[e+8>>2]}f[e+12>>2]=t,ee(r)}return 0|e},ai,qr,qr,function(e){return f[44+(e|=0)>>2]?0|_i[f[f[e>>2]+48>>2]](e):0},function(e){var t=0,r=0,i=0,n=0,o=0,a=0,s=0,c=0,l=0,b=0;e:{if(t=f[32+(e|=0)>>2],o=f[t+8>>2],n=0,!((0|(a=f[t+12>>2]))<=(0|(i=f[t+20>>2]))&(s=o)>>>0<=(o=f[t+16>>2])>>>0|(0|i)>(0|a))){s=u[o+f[t>>2]|0],i=(a=o+1|0)?i:i+1|0,f[t+16>>2]=a,f[t+20>>2]=i;t:if(s){for(;;){if(0|_i[f[f[e>>2]+16>>2]](e,r)){if((0|s)!=(0|(r=r+1|0)))continue;break t}break}return 0}if((0|(r=f[e+8>>2]))!=(0|(i=f[e+12>>2])))for(;;){if(t=f[r>>2],!(0|_i[f[f[t>>2]+8>>2]](t,e,f[e+4>>2])))break e;if((0|i)==(0|(r=r+4|0)))break}if(s){for(r=0;;){if(t=f[f[e+8>>2]+(r<<2)>>2],!(0|_i[f[f[t>>2]+12>>2]](t,f[e+32>>2])))break e;if((0|s)==(0|(r=r+1|0)))break}if(s)for(o=e+20|0;;){if(r=0,t=f[(a=c<<2)+f[e+8>>2]>>2],(0|(i=0|_i[f[f[t>>2]+24>>2]](t)))>0)for(;t=f[f[e+8>>2]+a>>2],b=0|_i[f[f[t>>2]+20>>2]](t,r),n=f[e+20>>2],b>>>0<(l=f[e+24>>2]-n>>2)>>>0||((t=b+1|0)>>>0>l>>>0?(st(o,t-l|0),n=f[o>>2]):t>>>0>=l>>>0||(f[e+24>>2]=(t<<2)+n)),f[(b<<2)+n>>2]=c,(0|i)!=(0|(r=r+1|0)););if((0|s)==(0|(c=c+1|0)))break}}n=0,0|_i[f[f[e>>2]+28>>2]](e)&&(n=0|_i[f[f[e>>2]+32>>2]](e))}return 0|n}return 0},function(e){var t,r=0,i=0;if((0|(r=f[8+(e|=0)>>2]))==(0|(t=f[e+12>>2])))return 1;for(;i=f[r>>2],(i=0|_i[f[f[i>>2]+16>>2]](i,f[e+32>>2]))&&(0|t)!=(0|(r=r+4|0)););return 0|i},qr,ei,Jr,Jr,function(e){var t,r=0,i=0;if(f[(e|=0)>>2]=8204,r=f[e+48>>2],f[e+48>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),f[e>>2]=10064,(r=f[e+20>>2])&&(f[e+24>>2]=r,ee(r)),t=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|t)!=(0|i););r=f[e+8>>2]}f[e+12>>2]=t,ee(r)}return 0|e},function(e){var t,r=0,i=0;if(f[(e|=0)>>2]=8204,r=f[e+48>>2],f[e+48>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),f[e>>2]=10064,(r=f[e+20>>2])&&(f[e+24>>2]=r,ee(r)),t=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|t)!=(0|i););r=f[e+8>>2]}f[e+12>>2]=t,ee(r)}ee(e)},function(e){var t,r=0,i=0,n=0,s=0;if(i=f[32+(e|=0)>>2],t=f[i+16>>2],n=f[i+12>>2],r=f[i+20>>2],b[i+8>>2]>t>>>0&(0|n)>=(0|r)|(0|r)<(0|n)){s=u[t+f[i>>2]|0],r=(n=t+1|0)?r:r+1|0,f[i+16>>2]=n,f[i+20>>2]=r,i=f[e+48>>2],f[e+48>>2]=0,i&&_i[f[f[i>>2]+4>>2]](i);e:{t:{r:{i:switch(0|s){case 0:i=br(384),f[i>>2]=8312,Ye(i+4|0,0,80),f[i+96>>2]=0,f[i+100>>2]=0,f[i+92>>2]=-1,f[i+84>>2]=-1,f[i+88>>2]=-1,f[i+104>>2]=0,f[i+108>>2]=0,f[i+112>>2]=0,f[i+116>>2]=0,f[i+120>>2]=0,f[i+124>>2]=0,f[i+128>>2]=0,f[i+132>>2]=0,f[i+136>>2]=0,f[i+140>>2]=0,f[i+144>>2]=0,f[i+148>>2]=0,f[i+156>>2]=0,f[i+160>>2]=0,f[i+152>>2]=1065353216,f[i+164>>2]=0,f[i+168>>2]=0,f[i+172>>2]=0,f[i+176>>2]=0,f[i+180>>2]=0,f[i+184>>2]=0,f[i+188>>2]=0,f[i+192>>2]=0,f[i+196>>2]=0,f[i+200>>2]=0,f[i+204>>2]=0,f[i+208>>2]=0,f[i+212>>2]=-1,f[i+216>>2]=0,f[i+220>>2]=0,f[i+224>>2]=0,a[38+(r=i+232|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,a[38+(r=i+272|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,f[(r=i+312|0)>>2]=0,f[r+4>>2]=0,o[r+5|0]=0,o[r+6|0]=0,o[r+7|0]=0,o[r+8|0]=0,o[r+9|0]=0,o[r+10|0]=0,o[r+11|0]=0,o[r+12|0]=0,a[38+(r=i+328|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,f[i+376>>2]=0,f[i+368>>2]=0,f[i+372>>2]=0;break r;case 2:break i;default:break t}i=br(440),f[i>>2]=8364,Ye(i+4|0,0,80),f[i+96>>2]=0,f[i+100>>2]=0,f[i+92>>2]=-1,f[i+84>>2]=-1,f[i+88>>2]=-1,f[i+104>>2]=0,f[i+108>>2]=0,f[i+112>>2]=0,f[i+116>>2]=0,f[i+120>>2]=0,f[i+124>>2]=0,f[i+128>>2]=0,f[i+132>>2]=0,f[i+136>>2]=0,f[i+140>>2]=0,f[i+144>>2]=0,f[i+148>>2]=0,f[i+156>>2]=0,f[i+160>>2]=0,f[i+152>>2]=1065353216,f[i+164>>2]=0,f[i+168>>2]=0,f[i+172>>2]=0,f[i+176>>2]=0,f[i+180>>2]=0,f[i+184>>2]=0,f[i+188>>2]=0,f[i+192>>2]=0,f[i+196>>2]=0,f[i+200>>2]=0,f[i+204>>2]=0,f[i+208>>2]=0,f[i+212>>2]=-1,f[i+216>>2]=0,f[i+220>>2]=0,f[i+224>>2]=0,a[38+(r=i+232|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,a[38+(r=i+272|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,f[(r=i+312|0)>>2]=0,f[r+4>>2]=0,o[r+5|0]=0,o[r+6|0]=0,o[r+7|0]=0,o[r+8|0]=0,o[r+9|0]=0,o[r+10|0]=0,o[r+11|0]=0,o[r+12|0]=0,a[38+(r=i+328|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,f[i+392>>2]=0,f[i+396>>2]=0,f[i+384>>2]=0,f[i+388>>2]=0,f[i+376>>2]=0,f[i+380>>2]=0,f[i+368>>2]=0,f[i+372>>2]=0,f[i+416>>2]=0,f[i+420>>2]=0,f[i+408>>2]=2,f[i+412>>2]=7,f[i+400>>2]=-1,f[i+404>>2]=-1,f[i+424>>2]=0,f[i+428>>2]=0,f[i+432>>2]=0,f[i+436>>2]=0}if(r=f[e+48>>2],f[e+48>>2]=i,!r)break e;_i[f[f[r>>2]+4>>2]](r)}if(!(i=f[e+48>>2]))return 0}e=0|_i[f[f[i>>2]+8>>2]](i,e)}else e=0;return 0|e},function(e,t){return t|=0,e=f[48+(e|=0)>>2],0|_i[f[f[e>>2]+20>>2]](e,t)},function(e){return e=f[48+(e|=0)>>2],0|_i[f[f[e>>2]+28>>2]](e)},function(e){return e=f[48+(e|=0)>>2],0|_i[f[f[e>>2]+36>>2]](e)},function(e,t){return t|=0,e=f[48+(e|=0)>>2],0|_i[f[f[e>>2]+12>>2]](e,t)},function(e,t){return t|=0,e=f[48+(e|=0)>>2],0|_i[f[f[e>>2]+16>>2]](e,t)},function(e){return e=f[48+(e|=0)>>2],0|_i[f[f[e>>2]+24>>2]](e)},we,function(e){ee(we(e|=0))},Ur,it,ot,S,function(e){var t,r=0,i=0,n=0,s=0,c=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,x=0,R=0,N=0,C=0,D=0,M=0,G=0,U=0,V=0,S=0,F=0,W=0;if(I=t=I+-64|0,f[132+(e|=0)>>2]=0,f[e+148>>2]){if(r=f[e+144>>2])for(;s=f[r>>2],ee(r),r=s,s;);if(r=0,f[e+144>>2]=0,s=f[e+140>>2]){if(s-1>>>0>=3)for(p=-4&s;f[(i=r<<2)+f[e+136>>2]>>2]=0,f[f[e+136>>2]+(4|i)>>2]=0,f[f[e+136>>2]+(8|i)>>2]=0,f[f[e+136>>2]+(12|i)>>2]=0,r=r+4|0,(0|p)!=(0|(n=n+4|0)););if(s&=3)for(;f[f[e+136>>2]+(r<<2)>>2]=0,r=r+1|0,(0|s)!=(0|(v=v+1|0)););}f[e+148>>2]=0}if(Tt(1,t+60|0,f[f[e+4>>2]+32>>2])&&(f[e+156>>2]=f[t+60>>2],Tt(1,t+56|0,f[f[e+4>>2]+32>>2])&&!((n=f[t+56>>2])>>>0>1431655765|b[e+156>>2]>d(n,3)>>>0)&&(s=f[f[e+4>>2]+32>>2],i=f[s+8>>2],!((0|(v=f[s+12>>2]))<=(0|(r=f[s+20>>2]))&(c=i)>>>0<=(i=f[s+16>>2])>>>0|(0|r)>(0|v))&&(v=u[i+f[s>>2]|0],r=(i=i+1|0)?r:r+1|0,f[s+16>>2]=i,f[s+20>>2]=r,Tt(1,t+52|0,s)&&!((y=f[t+52>>2])>>>0>n>>>0|n>>>0>y+((y>>>0)/3|0)>>>0)&&Tt(1,t+48|0,f[f[e+4>>2]+32>>2])&&!((s=f[t+48>>2])>>>0>y>>>0)&&(f[e+28>>2]=f[e+24>>2],yt(i=br(88)),r=f[e+8>>2],f[e+8>>2]=i,(!r||(Mt(r),f[e+8>>2]))&&(f[e+164>>2]=f[e+160>>2],Dt(e+160|0,n),f[e+176>>2]=f[e+172>>2],Dt(e+172|0,n),f[e- -64>>2]=0,f[e+92>>2]=-1,f[e+84>>2]=-1,f[e+88>>2]=-1,f[e+40>>2]=f[e+36>>2],f[e+52>>2]=f[e+48>>2],f[e+76>>2]=f[e+72>>2],Ut(V=e+216|0),q(V,v),et(f[e+8>>2],n,s+f[e+156>>2]|0)&&(r=f[e+156>>2],o[t+8|0]=1,Je(e+120|0,r+s|0,t+8|0),-1!=(0|be(e,f[f[e+4>>2]+32>>2]))))))))){mt(s=e+232|0,e),f[e+372>>2]=v,a[38+(g=t+8|0)>>1]=0,f[g>>2]=0,f[g+8>>2]=0,f[g+12>>2]=0,f[g+16>>2]=0,f[g+20>>2]=0,f[g+24>>2]=0,f[g+28>>2]=0,o[g+29|0]=0,o[g+30|0]=0,o[g+31|0]=0,o[g+32|0]=0,o[g+33|0]=0,o[g+34|0]=0,o[g+35|0]=0,o[g+36|0]=0,r=0,I=v=I-16|0,n=f[s+4>>2],f[s+40>>2]=f[s>>2],f[s+44>>2]=n,n=f[s+36>>2],f[s+72>>2]=f[s+32>>2],f[s+76>>2]=n,i=f[s+28>>2],f[(n=s- -64|0)>>2]=f[s+24>>2],f[n+4>>2]=i,n=f[s+20>>2],f[s+56>>2]=f[s+16>>2],f[s+60>>2]=n,n=f[s+12>>2],f[s+48>>2]=f[s+8>>2],f[s+52>>2]=n,Kt(s+40|0,1,v+8|0)&&(n=f[s+44>>2],f[s>>2]=f[s+40>>2],f[s+4>>2]=n,n=f[s+76>>2],f[s+32>>2]=f[s+72>>2],f[s+36>>2]=n,n=f[s+68>>2],f[s+24>>2]=f[s+64>>2],f[s+28>>2]=n,p=i=f[s+60>>2],n=f[s+56>>2],f[s+16>>2]=n,f[s+20>>2]=i,c=f[s+52>>2],i=f[s+48>>2],f[s+8>>2]=i,f[s+12>>2]=c,A=i-n|0,(0|(k=f[v+12>>2]))==(0|(c=c-((i>>>0<n>>>0)+p|0)|0))&A>>>0>=(i=f[v+8>>2])>>>0|c>>>0>k>>>0)&&(c=i+n|0,n=p+k|0,f[s+16>>2]=c,f[s+20>>2]=i>>>0>c>>>0?n+1|0:n,Ie(s+80|0,s)&&Xe(s)&&(r=f[s+4>>2],f[g>>2]=f[s>>2],f[g+4>>2]=r,r=f[s+36>>2],f[g+32>>2]=f[s+32>>2],f[g+36>>2]=r,r=f[s+28>>2],f[g+24>>2]=f[s+24>>2],f[g+28>>2]=r,r=f[s+20>>2],f[g+16>>2]=f[s+16>>2],f[g+20>>2]=r,r=f[s+12>>2],f[g+8>>2]=f[s+8>>2],f[g+12>>2]=r,r=1)),I=v+16|0;e:if(r){n=0,s=0,r=0,v=0,I=k=I-96|0,f[k+72>>2]=0,f[k+64>>2]=0,f[k+68>>2]=0,f[k+48>>2]=0,f[k+52>>2]=0,f[k+40>>2]=0,f[k+44>>2]=0,f[k+56>>2]=1065353216,f[k+32>>2]=0,f[k+24>>2]=0,f[k+28>>2]=0,_=1,p=e,R=f[e+124>>2];t:{r:{i:{n:{o:{a:{f:{s:if(!((0|y)<=0)){for(S=f[p+216>>2]!=f[p+220>>2];;){B=(c=B)+1|0;c:{u:{l:{b:{A:{p:{d:{_:{h:{k:{m:if(u[p+308|0]){y:{if(!((e=(A=f[p+296>>2])+((i=f[p+304>>2])>>>3|0)|0)>>>0>=(m=f[p+300>>2])>>>0)&&(h=u[0|e],e=i+1|0,f[p+304>>2]=e,h>>>(7&i)&1))switch((w=A+(h=e>>>3|0)|0)>>>0>=m>>>0?(i=e,e=0):(w=u[0|w],i=i+2|0,f[p+304>>2]=i,h=i>>>3|0,e=w>>>(7&e)&1),(A=A+h|0)>>>0<m>>>0?(A=u[0|A],f[p+304>>2]=i+1,i=A>>>(7&i)<<1&2):i=0,(e=(e|i)<<1)-1|0){case 0:case 2:case 4:break i;case 5:break k;case 1:case 3:break y;default:break m}if((0|r)==(0|s)){i=-1;break f}h=-1,A=f[p+8>>2],w=f[A+24>>2],e=-1,-1!=(0|(i=f[(x=s-4|0)>>2]))&&(e=-1,-1!=(0|(_=((_=i+1|0)>>>0)%3|0?_:i-2|0))&&(e=f[f[A>>2]+(_<<2)>>2])),-1!=(0|(n=f[w+(e<<2)>>2]))&&(h=((_=n+1|0)>>>0)%3|0?_:n-2|0),n=f[A+12>>2],_=(c=d(c,3))+1|0,f[n+(i<<2)>>2]=_,f[(C=_<<2)+n>>2]=i,m=c+2|0,f[n+(h<<2)>>2]=m,f[(D=m<<2)+n>>2]=h,_=-1,n=-1;v:if(-1!=(0|i)){if((i>>>0)%3|0)i=i-1|0;else if(n=-1,-1==(0|(i=i+2|0)))break v;n=f[f[A>>2]+(i<<2)>>2]}if(-1!=(0|h)&&-1!=(0|(i=((i=h+1|0)>>>0)%3|0?i:h-2|0))&&(_=f[f[A>>2]+(i<<2)>>2]),i=-1,(0|e)==(0|n)|(0|e)==(0|_))break f;i=f[A>>2],f[i+(c<<2)>>2]=e,f[i+C>>2]=_,f[i+D>>2]=n,-1!=(0|n)&&(f[w+(n<<2)>>2]=m),n=f[p+120>>2]+(e>>>3&536870908)|0,i=f[n>>2],F=n,W=xr(e)&i,f[F>>2]=W,f[x>>2]=c,n=r;break c}if((0|r)==(0|s)){i=-1;break f}if(n=f[p+8>>2],i=f[n+12>>2],C=(h=(A=d(c,3))+((w=5==(1|e))?2:1)|0)<<2,e=f[(D=s-4|0)>>2],f[i+C>>2]=e,f[i+(e<<2)>>2]=h,At(n+24|0),i=-1,x=f[p+8>>2],m=f[x+24>>2],(0|R)<f[x+28>>2]-m>>2)break f;if(i=f[x>>2],x=((n=f[n+28>>2]-f[n+24>>2]|0)>>2)-1|0,f[i+C>>2]=x,n&&(f[m+(x<<2)>>2]=h),h=w?A:A+2|0,w=i+(A+w<<2)|0,-1!=(0|e)){y:{v:{if((e>>>0)%3|0)n=e-1|0;else if(-1==(0|(n=e+2|0)))break v;if(n=f[i+(n<<2)>>2],f[i+(h<<2)>>2]=n,-1==(0|n))break y;f[m+(n<<2)>>2]=h;break y}f[i+(h<<2)>>2]=-1}n=-1,-1!=(0|(e=((h=e+1|0)>>>0)%3|0?h:e-2|0))&&(n=f[i+(e<<2)>>2])}else f[i+(h<<2)>>2]=-1,n=-1;f[w>>2]=n,f[D>>2]=A,n=r;break h}if((0|r)==(0|s)){i=-1;break f}m=f[(e=s-4|0)>>2],f[k+68>>2]=e;m:if(h=f[k+44>>2])if((A=Er(h)>>>0>1)?h>>>0>(n=c)>>>0||(n=(c>>>0)%(h>>>0)|0):n=c&h+2147483647,i=f[f[k+40>>2]+(n<<2)>>2])if(i=f[i>>2]){y:{if(!A){for(A=h-1|0;;){v:{if((0|(h=f[i+4>>2]))!=(0|c)){if((A&h)==(0|n))break v;s=e;break m}if((0|c)==f[i+8>>2])break y}if(!(i=f[i>>2]))break}s=e;break m}for(;;){v:{if((0|(A=f[i+4>>2]))!=(0|c)){if(A>>>0>=h>>>0&&(A=(A>>>0)%(h>>>0)|0),(0|n)==(0|A))break v;s=e;break m}if((0|c)==f[i+8>>2])break y}if(!(i=f[i>>2]))break}s=e;break m}if((0|e)==(0|N)){if((s=1+(n=(e=N-r|0)>>2)|0)>>>0>=1073741824)break d;if(T=e>>1,s=n>>>0<536870911?s>>>0>T>>>0?s:T:1073741823){if(s>>>0>=1073741824)break r;T=br(s<<2)}else T=0;f[(n=T+(n<<2)|0)>>2]=f[i+12>>2],N=(s<<2)+T|0,s=n+4|0,(0|e)>0&&ge(T,r,e),f[k+72>>2]=N,f[k+68>>2]=s,f[k+64>>2]=T,r&&ee(r)}else f[e>>2]=f[i+12>>2],f[k+68>>2]=s}else s=e;else s=e;else s=e;if((0|s)==(0|T))break _;if(n=-1==(0|(e=f[(C=s-4|0)>>2])),r=f[p+8>>2],!n&-1!=f[f[r+12>>2]+(e<<2)>>2])break _;if(A=f[r+12>>2],-1!=(0|m)&-1!=f[A+(m<<2)>>2])break _;if(x=(c=d(c,3))+2|0,f[A+(e<<2)>>2]=x,f[(w=x<<2)+A>>2]=e,i=c+1|0,f[A+(m<<2)>>2]=i,f[(D=i<<2)+A>>2]=m,n)break p;if((e>>>0)%3|0){_=e-1|0;break b}if(-1!=(0|(_=e+2|0)))break b;h=f[r>>2],n=-1;break l}if(At((h=f[p+8>>2])+24|0),i=-1,A=f[p+8>>2],e=d(c,3),x=(h=(m=f[h+28>>2]-f[h+24>>2]|0)>>2)-1|0,f[f[A>>2]+(e<<2)>>2]=x,At(A+24|0),w=e+1|0,f[f[A>>2]+(w<<2)>>2]=(f[A+28>>2]-f[A+24>>2]>>2)-1,At((A=f[p+8>>2])+24|0),C=e+2|0,f[f[A>>2]+(C<<2)>>2]=(f[A+28>>2]-f[A+24>>2]>>2)-1,D=f[p+8>>2],A=f[D+24>>2],(0|R)<f[D+28>>2]-A>>2)break f;k:{if(m){if(f[A+(x<<2)>>2]=e,i=0,-4!=(0|m)&&(f[A+(h<<2)>>2]=w,-1==(0|(i=h+1|0))))break k}else f[A+(h<<2)>>2]=w,i=1;f[A+(i<<2)>>2]=C}if((0|s)==(0|N)){if((s=1+(i=(r=s-n|0)>>2)|0)>>>0>=1073741824)break A;if(T=r>>1,s=i>>>0<536870911?s>>>0>T>>>0?s:T:1073741823){if(s>>>0>=1073741824)break r;T=br(s<<2)}else T=0;f[(i=T+(i<<2)|0)>>2]=e,N=(s<<2)+T|0,s=i+4|0,(0|r)>0&&ge(T,n,r),f[k+72>>2]=N,f[k+68>>2]=s,f[k+64>>2]=T,n&&ee(n),n=r=T}else f[s>>2]=e,s=s+4|0,f[k+68>>2]=s}if((0|(i=f[p+40>>2]))==f[p+36>>2])break c;for(c=y+(-1^c)|0,A=s-4|0;;){if((e=f[i-8>>2])>>>0>c>>>0)break _;if((0|e)!=(0|c))break c;if(h=u[i-4|0],i=f[(e=i-12|0)>>2],f[p+40>>2]=e,(0|i)<0)break _;e=f[A>>2],f[k+20>>2]=y+(-1^i),i=k+20|0,f[k+88>>2]=i,te(k,k+40|0,i,k+88|0),w=f[k>>2];h:if(1&h){if(i=-1,-1==(0|e))break h;i=((i=e+1|0)>>>0)%3|0?i:e-2|0}else i=-1,-1!=(0|e)&&(i=e-1|0,(e>>>0)%3|0||(i=e+2|0));if(f[w+12>>2]=i,(0|(i=f[p+40>>2]))==f[p+36>>2])break}break c}if(i=-1,1&_)break f;break s}ii(),E()}n=-1,h=f[r>>2],f[h+(c<<2)>>2]=-1,i=-1;break u}ii(),E()}h=f[r>>2],n=f[h+(_<<2)>>2]}f[(c<<2)+h>>2]=n,i=-1,-1!=(0|(e=((_=e+1|0)>>>0)%3|0?_:e-2|0))&&(i=f[(e<<2)+h>>2])}if(f[h+D>>2]=i,-1!=(0|m)){u:{l:{if((m>>>0)%3|0)i=m-1|0;else if(-1==(0|(i=m+2|0)))break l;if(e=f[(i<<2)+h>>2],f[h+w>>2]=e,-1==(0|e))break u;f[f[r+24>>2]+(e<<2)>>2]=x;break u}f[h+w>>2]=-1}_=-1,i=-1,-1!=(0|(e=((e=m+1|0)>>>0)%3|0?e:m-2|0))&&(_=f[(e<<2)+h>>2],i=e)}else f[h+w>>2]=-1,_=-1,i=-1;e=(r=f[r+24>>2])+(_<<2)|0,-1!=(0|n)&&(f[r+(n<<2)>>2]=f[e>>2]);u:if(-1!=(0|i))for(;;){if(f[(i<<2)+h>>2]=n,-1==(0|(r=((r=i+1|0)>>>0)%3|0?r:i-2|0)))break u;if(-1==(0|(r=f[A+(r<<2)>>2])))break u;if(-1==(0|(i=((i=r+1|0)>>>0)%3|0?i:r-2|0)))break}f[e>>2]=-1;u:if(!S){if((0|M)==(0|G)){l:{if((e=1+(i=(r=G-v|0)>>2)|0)>>>0<1073741824){if(n=r>>1,n=i>>>0<536870911?e>>>0>n>>>0?e:n:1073741823){if(n>>>0>=1073741824)break l;e=br(n<<2)}else e=0;f[(i=e+(i<<2)|0)>>2]=_,G=e+(n<<2)|0,M=i+4|0,(0|r)>0&&ge(e,v,r),f[k+32>>2]=G,f[k+28>>2]=M,f[k+24>>2]=e,v&&ee(v),v=e;break u}ii(),E()}break r}f[M>>2]=_,M=M+4|0,f[k+28>>2]=M}f[C>>2]=c,n=r=T}if(_=(0|y)>(0|B),(0|y)==(0|B))break}B=y}if(i=-1,_=f[p+8>>2],!((0|R)<f[_+28>>2]-f[_+24>>2]>>2)){if((0|s)!=(0|T)){for(e=p+60|0,w=p+312|0;;){m=f[(s=s-4|0)>>2],f[k+68>>2]=s;s:if(Wt(w)){if(R=f[p+8>>2],N=f[R>>2],((f[R+4>>2]-N>>2>>>0)/3|0)<=(0|B))break f;if(r=-1,n=-1,y=f[R+24>>2],c=-1,-1!=(0|m)&&(c=-1,-1!=(0|(A=((A=m+1|0)>>>0)%3|0?A:m-2|0))&&(c=f[N+(A<<2)>>2])),-1!=(0|(c=f[y+((A=c)<<2)>>2]))&&-1!=(0|(c=((_=c+1|0)>>>0)%3|0?_:c-2|0))&&(-1!=(0|(r=((r=c+1|0)>>>0)%3|0?r:c-2|0))&&(n=f[N+(r<<2)>>2]),r=c),_=-1,h=-1,c=-1,-1!=(0|(y=f[y+(n<<2)>>2]))&&(c=-1,-1!=(0|(y=((G=y+1|0)>>>0)%3|0?G:y-2|0))&&(-1!=(0|(c=((c=y+1|0)>>>0)%3|0?c:y-2|0))&&(h=f[N+(c<<2)>>2]),c=y)),R=f[R+12>>2],y=d(B,3),f[R+(G=y<<2)>>2]=m,f[R+(m<<2)>>2]=y,f[(x=(m=y+1|0)<<2)+R>>2]=r,f[R+(r<<2)>>2]=m,f[(S=(r=y+2|0)<<2)+R>>2]=c,f[R+(c<<2)>>2]=r,f[N+G>>2]=n,f[(c=N+x|0)>>2]=h,f[(h=N+S|0)>>2]=A,A=m>>>0<y>>>0?-1:n,n=f[p+120>>2],R=f[(N=(A>>>3&536870908)+n|0)>>2],F=N,W=xr(A)&R,f[F>>2]=W,_=-1!=(0|m)?f[c>>2]:_,A=f[(c=n+(_>>>3&536870908)|0)>>2],F=c,W=xr(_)&A,f[F>>2]=W,_=-1,_=-1!=(0|r)?f[h>>2]:_,n=f[(r=n+(_>>>3&536870908)|0)>>2],F=r,W=xr(_)&n,f[F>>2]=W,(0|(_=f[p+64>>2]))==(r=f[p+68>>2])<<5){if((_+1|0)<0)break a;at(e,r=_>>>0<=1073741822?(r<<=6)>>>0<(n=_+32&-32)>>>0?n:r:2147483647),_=f[p+64>>2]}if(B=B+1|0,f[p+64>>2]=_+1,r=f[p+60>>2]+(_>>>3&536870908)|0,f[r>>2]=f[r>>2]|1<<_,(0|(r=f[p+76>>2]))!=f[p+80>>2]){f[r>>2]=y,f[p+76>>2]=r+4;break s}if((r=1+(_=(c=r-(n=f[p+72>>2])|0)>>2)|0)>>>0>=1073741824)break o;if(A=c>>1,A=_>>>0<536870911?r>>>0>A>>>0?r:A:1073741823){if(A>>>0>=1073741824)break r;r=br(A<<2)}else r=0;if(f[(_=r+(_<<2)|0)>>2]=y,(0|c)>0&&ge(r,n,c),f[p+80>>2]=r+(A<<2),f[p+76>>2]=_+4,f[p+72>>2]=r,!n)break s;ee(n)}else{if((0|(r=f[p+64>>2]))==(n=f[p+68>>2])<<5){if((r+1|0)<0)break a;at(e,r=r>>>0<=1073741822?(r=r+32&-32)>>>0>(n<<=6)>>>0?r:n:2147483647),r=f[p+64>>2]}if(f[p+64>>2]=r+1,n=f[p+60>>2]+(r>>>3&536870908)|0,c=f[n>>2],F=n,W=xr(r)&c,f[F>>2]=W,(0|(r=f[p+76>>2]))==f[p+80>>2]){if((r=1+(A=(c=r-(n=f[p+72>>2])|0)>>2)|0)>>>0>=1073741824)break o;if(y=c>>1,y=A>>>0<536870911?r>>>0>y>>>0?r:y:1073741823){if(y>>>0>=1073741824)break n;r=br(y<<2)}else r=0;f[(A=r+(A<<2)|0)>>2]=m,(0|c)>0&&ge(r,n,c),f[p+80>>2]=r+(y<<2),f[p+76>>2]=A+4,f[p+72>>2]=r,n&&ee(n)}else f[r>>2]=m,f[p+76>>2]=r+4}if((0|s)==(0|T))break}_=f[p+8>>2]}if(((f[_+4>>2]-f[_>>2]>>2>>>0)/3|0)==(0|B))if(B=f[_+24>>2],i=f[_+28>>2]-B>>2,(0|v)!=(0|M))for(n=v;;){if(e=f[n>>2],-1==f[(h=((s=i-1|0)<<2)+B|0)>>2])for(;s=i-2|0,i=i-1|0,-1==f[(h=(s<<2)+B|0)>>2];);if(e>>>0<=s>>>0){if(f[k>>2]=_,B=f[h>>2],o[k+12|0]=1,f[k+8>>2]=B,f[k+4>>2]=B,-1!=(0|B))for(;f[f[_>>2]+(B<<2)>>2]=e,Fe(k),_=f[p+8>>2],-1!=(0|(B=f[k+8>>2])););r=(B=f[_+24>>2])+(s<<2)|0,-1!=(0|e)&&(f[(e<<2)+B>>2]=f[r>>2]),f[r>>2]=-1,r=1<<e,e=(c=f[p+120>>2])+(e>>>3&536870908)|0,c=c+(s>>>3&536870908)|0,s=1<<s,f[c>>2]&s?r|=f[e>>2]:r=f[e>>2]&(-1^r),f[e>>2]=r,f[c>>2]=f[c>>2]&(-1^s),i=i-1|0}if((0|M)==(0|(n=n+4|0)))break}else v=M}}if(v&&ee(v),s=f[k+48>>2])for(;e=f[s>>2],ee(s),s=e,e;);e=f[k+40>>2],f[k+40>>2]=0,e&&ee(e),T&&(f[k+68>>2]=T,ee(T)),I=k+96|0;break t}ii(),E()}ii(),E()}Lt(1326)}E()}Lt(1326),E()}if(-1!=(0|i)){s=(e=f[g+16>>2])+f[g>>2]|0,r=(r=f[g+8>>2])-e|0,e=f[f[p+4>>2]+32>>2],a[e+38>>1]=l[e+38>>1],f[e>>2]=s,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=r,f[e+12>>2]=0;t:if(f[p+216>>2]!=f[p+220>>2]&&(e=f[p+8>>2],f[e+4>>2]!=f[e>>2])){for(r=0;;){if(le(p,r)){if(r=r+3|0,e=f[p+8>>2],r>>>0<f[e+4>>2]-f[e>>2]>>2>>>0)continue;break t}break}break e}if(u[p+308|0]&&(o[p+308|0]=0,s=f[p+292>>2],e=0,n=(e=(r=f[p+304>>2]+7|0)>>>0<7?1:e)>>>3|0,e=(r=e<<29|r>>>3)+f[p+288>>2]|0,n=s+n|0,f[p+288>>2]=e,f[p+292>>2]=e>>>0<r>>>0?n+1|0:n),(0|(r=f[p+216>>2]))!=f[p+220>>2])for(;;){if(De(4+((e=d(U,144))+r|0)|0,f[p+8>>2]),v=f[V>>2],(0|(r=f[132+(s=e+v|0)>>2]))!=(0|(s=f[s+136>>2])))for(;Ue(4+(e+v|0)|0,f[r>>2]),v=f[V>>2],(0|s)!=(0|(r=r+4|0)););if(re(4+(e+v|0)|0),U=U+1|0,r=f[p+216>>2],!(U>>>0<(f[p+220>>2]-r|0)/144>>>0))break}if(e=f[p+8>>2],pt(p+184|0,f[e+28>>2]-f[e+24>>2]>>2),(0|(v=f[p+216>>2]))!=f[p+220>>2])for(r=0;e=d(r,144)+v|0,s=f[e+60>>2]-f[e+56>>2]>>2,n=e+104|0,e=f[p+8>>2],pt(n,(0|(e=f[e+28>>2]-f[e+24>>2]>>2))>(0|s)?e:s),r=r+1|0,v=f[p+216>>2],r>>>0<(f[p+220>>2]-v|0)/144>>>0;);U=Z(p,i)}}}return I=t- -64|0,0|U},qr,Yr,Pr,he,function(e){ee(he(e|=0))},Ur,it,ot,S,function(e){var t,r=0,i=0,n=0,s=0,c=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,x=0,R=0,N=0,C=0,M=0,G=0,U=0,V=0,S=0,F=0,W=0,j=0,O=0,P=0;if(I=t=I+-64|0,f[132+(e|=0)>>2]=0,f[e+148>>2]){if(r=f[e+144>>2])for(;p=f[r>>2],ee(r),r=p;);if(r=0,f[e+144>>2]=0,p=f[e+140>>2]){if(p-1>>>0>=3)for(g=-4&p;f[(A=r<<2)+f[e+136>>2]>>2]=0,f[f[e+136>>2]+(4|A)>>2]=0,f[f[e+136>>2]+(8|A)>>2]=0,f[f[e+136>>2]+(12|A)>>2]=0,r=r+4|0,(0|g)!=(0|(k=k+4|0)););if(p&=3)for(;f[f[e+136>>2]+(r<<2)>>2]=0,r=r+1|0,(0|p)!=(0|(i=i+1|0)););}f[e+148>>2]=0}e:{if(Tt(1,t+60|0,f[f[e+4>>2]+32>>2])&&(f[e+156>>2]=f[t+60>>2],Tt(1,t+56|0,f[f[e+4>>2]+32>>2])&&!((i=f[t+56>>2])>>>0>1431655765|b[e+156>>2]>d(i,3)>>>0)&&(p=f[f[e+4>>2]+32>>2],A=f[p+8>>2],!((0|(g=f[p+12>>2]))<=(0|(r=f[p+20>>2]))&(n=A)>>>0<=(A=f[p+16>>2])>>>0|(0|r)>(0|g))&&(g=u[A+f[p>>2]|0],r=(A=A+1|0)?r:r+1|0,f[p+16>>2]=A,f[p+20>>2]=r,Tt(1,t+52|0,p)&&!((x=f[t+52>>2])>>>0>i>>>0|i>>>0>x+((x>>>0)/3|0)>>>0)&&Tt(1,t+48|0,f[f[e+4>>2]+32>>2])&&!((r=f[t+48>>2])>>>0>x>>>0)&&(f[e+28>>2]=f[e+24>>2],yt(A=br(88)),p=f[e+8>>2],f[e+8>>2]=A,(!p||(Mt(p),f[e+8>>2]))&&(f[e+164>>2]=f[e+160>>2],Dt(e+160|0,i),f[e+176>>2]=f[e+172>>2],Dt(e+172|0,i),f[e- -64>>2]=0,f[e+92>>2]=-1,f[e+84>>2]=-1,f[e+88>>2]=-1,f[e+40>>2]=f[e+36>>2],f[e+52>>2]=f[e+48>>2],f[e+76>>2]=f[e+72>>2],Ut(F=e+216|0),q(F,g),et(f[e+8>>2],i,r+f[e+156>>2]|0)&&(p=f[e+156>>2],o[t+8|0]=1,Je(e+120|0,r+p|0,t+8|0),-1!=(0|be(e,f[f[e+4>>2]+32>>2]))))))))){mt(c=e+232|0,e),O=e,P=0|_i[f[f[e>>2]+36>>2]](e),f[O+380>>2]=P,f[e+372>>2]=g,f[e+384>>2]=r+f[e+156>>2],a[38+(r=t+8|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,W=r,g=r,A=0,I=s=I-16|0;t:if(Ie(c+80|0,c)&&Xe(c)&&(r=f[c+4>>2],f[g>>2]=f[c>>2],f[g+4>>2]=r,r=f[c+36>>2],f[g+32>>2]=f[c+32>>2],f[g+36>>2]=r,r=f[c+28>>2],f[g+24>>2]=f[c+24>>2],f[g+28>>2]=r,r=f[c+20>>2],f[g+16>>2]=f[c+16>>2],f[g+20>>2]=r,r=f[c+12>>2],f[g+8>>2]=f[c+8>>2],f[g+12>>2]=r,f[c+176>>2]=2,f[c+180>>2]=7,!((0|(r=f[c+152>>2]))<0))){if(f[s+12>>2]=0,A=2,k=f[c+156>>2],(p=f[c+160>>2]-k>>2)>>>0<r>>>0?(ve(c+156|0,r-p|0,s+12|0),A=f[c+176>>2],i=f[c+180>>2]):(i=7,r>>>0>=p>>>0||(f[c+160>>2]=k+(r<<2))),p=c+184|0,(i=1+(i-A|0)|0)>>>0>(k=((r=f[c+188>>2])-(A=f[c+184>>2])|0)/12|0)>>>0){if((r=i-k|0)>>>0<=((n=f[p+8>>2])-(A=f[p+4>>2])|0)/12>>>0)r&&(A=Ye(A,0,r=d((d(r,12)-12>>>0)/12|0,12)+12|0)+r|0),f[p+4>>2]=A;else{r:{i:{n:{if((i=(w=(A-(k=f[p>>2])|0)/12|0)+r|0)>>>0<357913942){if(T=(n=(n-k|0)/12|0)<<1,n=n>>>0<178956970?i>>>0>T>>>0?i:T:357913941){if(n>>>0>=357913942)break n;_=br(d(n,12))}if(w=(r=Ye(i=d(w,12)+_|0,0,w=d((d(r,12)-12>>>0)/12|0,12)+12|0))+w|0,_=d(n,12)+_|0,(0|A)==(0|k))break i;for(;A=A-12|0,f[(i=i-12|0)>>2]=f[A>>2],f[i+4>>2]=f[A+4>>2],f[i+8>>2]=f[A+8>>2],f[A+8>>2]=0,f[A>>2]=0,f[A+4>>2]=0,(0|A)!=(0|k););if(f[p+8>>2]=_,r=f[p+4>>2],f[p+4>>2]=w,A=f[p>>2],f[p>>2]=i,(0|r)==(0|A))break r;for(;(k=f[(i=r-12|0)>>2])&&(f[r-8>>2]=k,ee(k)),(0|(r=i))!=(0|A););break r}break e}Lt(1326),E()}f[p+8>>2]=_,f[p+4>>2]=w,f[p>>2]=r}A&&ee(A)}i=f[c+188>>2]}else if(i>>>0>=k>>>0)i=r;else{if((0|r)!=(0|(i=A+d(i,12)|0)))for(;(k=f[(A=r-12|0)>>2])&&(f[r-8>>2]=k,ee(k)),(0|(r=A))!=(0|i););f[c+188>>2]=i}if(_=c+196|0,r=(i-(A=f[c+184>>2])|0)/12|0,n=f[c+196>>2],r>>>0>(k=f[c+200>>2]-n>>2)>>>0?(st(_,r-k|0),A=f[c+184>>2],i=f[c+188>>2]):r>>>0>=k>>>0||(f[c+200>>2]=n+(r<<2)),(0|i)!=(0|A)){for(r=0;;){if(Tt(1,s+8|0,g)&&(A=f[s+8>>2],i=f[c+148>>2],!(A>>>0>(f[i+4>>2]-f[i>>2]>>2>>>0)/3>>>0))){if(A&&(i=f[p>>2],T=d(r,12),n=f[(k=i+T|0)>>2],(w=f[k+4>>2]-n>>2)>>>0<A>>>0?(st(k,A-w|0),i=f[p>>2]):A>>>0>=w>>>0||(f[k+4>>2]=n+(A<<2)),D(A,1,g,f[i+T>>2]),f[f[_>>2]+(r<<2)>>2]=A),A=1,(r=r+1|0)>>>0<(f[c+188>>2]-f[c+184>>2]|0)/12>>>0)continue;break t}break}A=0}else A=1}I=s+16|0;t:if(A){i=0,r=0,A=0,T=0,p=0,g=0,k=0,w=0,I=y=I-96|0,f[y+72>>2]=0,f[y+64>>2]=0,f[y+68>>2]=0,f[y+48>>2]=0,f[y+52>>2]=0,f[y+40>>2]=0,f[y+44>>2]=0,f[y+56>>2]=1065353216,f[y+32>>2]=0,f[y+24>>2]=0,f[y+28>>2]=0,_=1,c=e,M=f[e+124>>2];r:{i:{n:{o:if(!((0|x)<=0)){U=c+232|0,j=f[c+216>>2]!=f[c+220>>2];a:{for(;;){k=(e=k)+1|0;f:{s:{c:{if(-1!=(0|(n=f[c+404>>2]))){if(s=-1,h=f[c+428>>2]+(n<<2)|0,n=(m=f[h>>2])-1|0,f[h>>2]=n,(0|m)<=0)break n;if(h=f[f[f[c+416>>2]+d(f[c+404>>2],12)>>2]+(n<<2)>>2],n=f[8928+(h<<2)>>2],f[c+400>>2]=n,!h){if((0|i)==(0|p))break n;n=-1,_=f[c+8>>2],B=f[_+24>>2],r=-1,-1!=(0|(s=f[(R=i-4|0)>>2]))&&(r=-1,-1!=(0|(m=((m=s+1|0)>>>0)%3|0?m:s-2|0))&&(r=f[f[_>>2]+(m<<2)>>2])),-1!=(0|(h=f[B+(r<<2)>>2]))&&(n=((n=h+1|0)>>>0)%3|0?n:h-2|0),m=f[_+12>>2],e=(h=d(e,3))+1|0,f[m+(s<<2)>>2]=e,f[(C=e<<2)+m>>2]=s,v=h+2|0,f[m+(n<<2)>>2]=v,f[(G=v<<2)+m>>2]=n,m=-1,e=-1;u:if(-1!=(0|s)){if((s>>>0)%3|0)s=s-1|0;else if(e=-1,-1==(0|(s=s+2|0)))break u;e=f[f[_>>2]+(s<<2)>>2]}if(-1!=(0|n)&&-1!=(0|(s=((s=n+1|0)>>>0)%3|0?s:n-2|0))&&(m=f[f[_>>2]+(s<<2)>>2]),s=-1,(0|e)==(0|r)|(0|r)==(0|m))break n;s=f[_>>2],f[s+(h<<2)>>2]=r,f[s+C>>2]=m,f[s+G>>2]=e,-1!=(0|e)&&(f[B+(e<<2)>>2]=v),e=f[c+120>>2]+(r>>>3&536870908)|0,s=f[e>>2],O=e,P=xr(r)&s,f[O>>2]=P,f[R>>2]=h,r=p,me(U,h);break f}u:switch(n-1|0){case 2:case 4:if((0|i)==(0|p))break n;if(n=f[c+8>>2],s=f[n+12>>2],R=(B=((v=3==(0|h))?2:1)+(h=d(e,3))|0)<<2,r=f[(C=i-4|0)>>2],f[s+R>>2]=r,f[s+(r<<2)>>2]=B,At(n+24|0),s=-1,i=f[c+8>>2],m=f[i+24>>2],(0|M)<f[i+28>>2]-m>>2)break n;if(i=f[i>>2],n=((s=f[n+28>>2]-f[n+24>>2]|0)>>2)-1|0,f[i+R>>2]=n,s&&(f[m+(n<<2)>>2]=B),s=v?h:h+2|0,B=i+(h+v<<2)|0,-1!=(0|r)){l:{b:{if((r>>>0)%3|0)n=r-1|0;else if(-1==(0|(n=r+2|0)))break b;if(n=f[i+(n<<2)>>2],f[i+(s<<2)>>2]=n,-1==(0|n))break l;f[m+(n<<2)>>2]=s;break l}f[i+(s<<2)>>2]=-1}r=((n=r+1|0)>>>0)%3|0?n:r-2|0,n=-1,-1!=(0|r)&&(n=f[i+(r<<2)>>2])}else f[i+(s<<2)>>2]=-1,n=-1;f[B>>2]=n,f[C>>2]=h,r=p;break s;case 6:break c;case 0:break u;default:break n}if((0|r)==(0|i))break n;m=f[(A=i-4|0)>>2],f[y+68>>2]=A;u:if((v=f[y+44>>2])&&(s=f[y+40>>2],n=e&v+2147483647,(B=Er(v)>>>0>1)&&(n=e,e>>>0<v>>>0||(n=(e>>>0)%(v>>>0)|0)),(s=f[s+((h=n)<<2)>>2])&&(s=f[s>>2]))){l:{if(!B){for(n=v-1|0;;){b:{if((0|(v=f[s+4>>2]))!=(0|e)){if((0|h)==(n&v))break b;break u}if((0|e)==f[s+8>>2])break l}if(!(s=f[s>>2]))break}break u}for(;;){b:{if((0|(n=f[s+4>>2]))!=(0|e)){if(n>>>0>=v>>>0&&(n=(n>>>0)%(v>>>0)|0),(0|n)==(0|h))break b;break u}if((0|e)==f[s+8>>2])break l}if(!(s=f[s>>2]))break}break u}if((0|A)==(0|N)){if((p=1+(n=(i=N-r|0)>>2)|0)>>>0>=1073741824)break e;if(A=i>>1,A=n>>>0<536870911?A>>>0<p>>>0?p:A:1073741823){if(A>>>0>=1073741824)break i;p=br(A<<2)}else p=0;f[(n=p+(n<<2)|0)>>2]=f[s+12>>2],N=(A<<2)+p|0,A=n+4|0,(0|i)>0&&ge(p,r,i),f[y+72>>2]=N,f[y+68>>2]=A,f[y+64>>2]=p,r&&ee(r),r=p}else f[A>>2]=f[s+12>>2],f[y+68>>2]=i,A=i}if((0|r)==(0|A))break a;if(s=-1==(0|(i=f[(C=A-4|0)>>2])),h=f[c+8>>2],!s&-1!=f[f[h+12>>2]+(i<<2)>>2])break a;if(v=f[h+12>>2],-1!=(0|m)&-1!=f[v+(m<<2)>>2])break a;R=(B=d(e,3))+2|0,f[v+(i<<2)>>2]=R,f[(e=R<<2)+v>>2]=i,_=B+1|0,f[v+(m<<2)>>2]=_,f[v+(G=_<<2)>>2]=m;u:{l:{b:{if(!s){if((i>>>0)%3|0){n=i-1|0;break b}if(-1!=(0|(n=i+2|0)))break b;_=f[h>>2],n=-1;break l}n=-1,_=f[h>>2],f[_+(B<<2)>>2]=-1,s=-1;break u}_=f[h>>2],n=f[_+(n<<2)>>2]}f[(B<<2)+_>>2]=n,i=((s=i+1|0)>>>0)%3|0?s:i-2|0,s=-1,-1!=(0|i)&&(s=f[(i<<2)+_>>2])}if(f[_+G>>2]=s,-1!=(0|m)){u:{l:{if((m>>>0)%3|0)s=m-1|0;else if(-1==(0|(s=m+2|0)))break l;if(i=e+_|0,e=f[(s<<2)+_>>2],f[i>>2]=e,-1==(0|e))break u;f[f[h+24>>2]+(e<<2)>>2]=R;break u}f[e+_>>2]=-1}s=-1,i=-1,-1!=(0|(e=((e=m+1|0)>>>0)%3|0?e:m-2|0))&&(s=e,i=f[(e<<2)+_>>2])}else f[e+_>>2]=-1,s=-1,i=-1;R=(e=f[c+388>>2])+(m=n<<2)|0,G=e,e=i<<2,f[R>>2]=f[R>>2]+f[G+e>>2],e=(h=f[h+24>>2])+e|0,-1!=(0|n)&&(f[h+m>>2]=f[e>>2]);u:if(-1!=(0|s))for(;;){if(f[(s<<2)+_>>2]=n,-1==(0|(s=((h=s+1|0)>>>0)%3|0?h:s-2|0)))break u;if(-1==(0|(s=f[v+(s<<2)>>2])))break u;if(-1==(0|(s=((h=s+1|0)>>>0)%3|0?h:s-2|0)))break}f[e>>2]=-1;u:if(!j){if((0|w)==(0|V)){l:{if((g=1+(_=(e=V-T|0)>>2)|0)>>>0<1073741824){if(s=e>>1,s=_>>>0<536870911?s>>>0<g>>>0?g:s:1073741823){if(s>>>0>=1073741824)break l;g=br(s<<2)}else g=0;f[(_=g+(_<<2)|0)>>2]=i,V=(s<<2)+g|0,w=_+4|0,(0|e)>0&&ge(g,T,e),f[y+32>>2]=V,f[y+28>>2]=w,f[y+24>>2]=g,T&&ee(T),T=g;break u}break e}break i}f[w>>2]=i,w=w+4|0,f[y+28>>2]=w}f[C>>2]=B,i=A,me(U,B);break f}f[c+400>>2]=7}if(At((h=f[c+8>>2])+24|0),s=-1,n=f[c+8>>2],A=d(e,3),B=(h=(m=f[h+28>>2]-f[h+24>>2]|0)>>2)-1|0,f[f[n>>2]+(A<<2)>>2]=B,At(n+24|0),v=A+1|0,f[f[n>>2]+(v<<2)>>2]=(f[n+28>>2]-f[n+24>>2]>>2)-1,At((n=f[c+8>>2])+24|0),R=A+2|0,f[f[n>>2]+(R<<2)>>2]=(f[n+28>>2]-f[n+24>>2]>>2)-1,C=f[c+8>>2],n=f[C+24>>2],(0|M)<f[C+28>>2]-n>>2)break n;c:{if(m){if(f[n+(B<<2)>>2]=A,s=0,-4!=(0|m)&&(f[n+(h<<2)>>2]=v,-1==(0|(s=h+1|0))))break c}else f[n+(h<<2)>>2]=v,s=1;f[n+(s<<2)>>2]=R}if((0|i)==(0|N)){if((r=1+(n=(i=N-p|0)>>2)|0)>>>0>=1073741824)break e;if(s=i>>1,s=n>>>0<536870911?r>>>0>s>>>0?r:s:1073741823){if(s>>>0>=1073741824)break i;r=br(s<<2)}else r=0;f[(n=r+(n<<2)|0)>>2]=A,N=(s<<2)+r|0,A=n+4|0,(0|i)>0&&ge(r,p,i),f[y+72>>2]=N,f[y+68>>2]=A,f[y+64>>2]=r,p&&ee(p),p=r}else f[i>>2]=A,A=i+4|0,f[y+68>>2]=A}me(U,f[A-4>>2]);s:if((0|(s=f[c+40>>2]))!=f[c+36>>2])for(n=x+(-1^e)|0,h=A-4|0;;){if((e=f[s-8>>2])>>>0>n>>>0)break a;if((0|e)!=(0|n))break s;if(m=u[s-4|0],i=f[(e=s-12|0)>>2],f[c+40>>2]=e,(0|i)<0)break a;e=f[h>>2],f[y+20>>2]=x+(-1^i),i=y+20|0,f[y+88>>2]=i,te(y,y+40|0,i,y+88|0),s=f[y>>2];c:if(1&m){if(i=-1,-1==(0|e))break c;i=((i=e+1|0)>>>0)%3|0?i:e-2|0}else i=-1,-1!=(0|e)&&(i=e-1|0,(e>>>0)%3|0||(i=e+2|0));if(f[s+12>>2]=i,(0|(s=f[c+40>>2]))==f[c+36>>2])break}i=A}if(_=(0|k)<(0|x),(0|k)==(0|x))break}k=x;break o}if(s=-1,1&_)break n}if(s=-1,i=f[c+8>>2],!((0|M)<f[i+28>>2]-f[i+24>>2]>>2)){if((0|A)!=(0|p)){for(x=c+60|0,B=c+312|0;;){h=f[(A=A-4|0)>>2],f[y+68>>2]=A;o:if(Wt(B)){if(v=f[c+8>>2],m=f[v>>2],((f[v+4>>2]-m>>2>>>0)/3|0)<=(0|k))break n;if(r=-1,e=-1,n=f[v+24>>2],i=-1,-1!=(0|h)&&(i=-1,-1!=(0|(T=((T=h+1|0)>>>0)%3|0?T:h-2|0))&&(i=f[m+(T<<2)>>2])),-1!=(0|(i=f[n+((T=i)<<2)>>2]))&&-1!=(0|(i=((_=i+1|0)>>>0)%3|0?_:i-2|0))&&(-1!=(0|(r=((r=i+1|0)>>>0)%3|0?r:i-2|0))&&(e=f[m+(r<<2)>>2]),r=i),N=-1,_=-1,i=-1,-1!=(0|(n=f[n+(e<<2)>>2]))&&(i=-1,-1!=(0|(n=((M=n+1|0)>>>0)%3|0?M:n-2|0))&&(_=n,i=-1!=(0|(i=((i=n+1|0)>>>0)%3|0?i:n-2|0))?f[m+(i<<2)>>2]:-1)),n=f[v+12>>2],v=d(k,3),f[n+(M=v<<2)>>2]=h,f[n+(h<<2)>>2]=v,f[(U=(h=v+1|0)<<2)+n>>2]=r,f[n+(r<<2)>>2]=h,f[(V=(r=v+2|0)<<2)+n>>2]=_,f[n+(_<<2)>>2]=r,f[m+M>>2]=e,f[(_=m+U|0)>>2]=i,f[(i=m+V|0)>>2]=T,n=h>>>0<v>>>0?-1:e,e=f[c+120>>2],m=f[(T=(n>>>3&536870908)+e|0)>>2],O=T,P=xr(n)&m,f[O>>2]=P,N=-1!=(0|h)?f[_>>2]:N,n=f[(_=e+(N>>>3&536870908)|0)>>2],O=_,P=xr(N)&n,f[O>>2]=P,n=-1,n=-1!=(0|r)?f[i>>2]:n,r=f[(e=e+(n>>>3&536870908)|0)>>2],O=e,P=xr(n)&r,f[O>>2]=P,(0|(n=f[c+64>>2]))==(e=f[c+68>>2])<<5){if((n+1|0)<0)break e;at(x,e=n>>>0<=1073741822?(e<<=6)>>>0<(r=n+32&-32)>>>0?r:e:2147483647),n=f[c+64>>2]}if(k=k+1|0,f[c+64>>2]=n+1,e=f[c+60>>2]+(n>>>3&536870908)|0,f[e>>2]=f[e>>2]|1<<n,(0|(e=f[c+76>>2]))!=f[c+80>>2]){f[e>>2]=v,f[c+76>>2]=e+4;break o}if((e=1+(n=(i=e-(r=f[c+72>>2])|0)>>2)|0)>>>0>=1073741824)break e;if(_=i>>1,_=n>>>0<536870911?e>>>0>_>>>0?e:_:1073741823){if(_>>>0>=1073741824)break i;e=br(_<<2)}else e=0;if(f[(n=e+(n<<2)|0)>>2]=v,(0|i)>0&&ge(e,r,i),f[c+80>>2]=e+(_<<2),f[c+76>>2]=n+4,f[c+72>>2]=e,!r)break o;ee(r)}else{if((0|(i=f[c+64>>2]))==(e=f[c+68>>2])<<5){if((i+1|0)<0)break e;at(x,e=i>>>0<=1073741822?(e<<=6)>>>0<(r=i+32&-32)>>>0?r:e:2147483647),i=f[c+64>>2]}if(f[c+64>>2]=i+1,e=f[c+60>>2]+(i>>>3&536870908)|0,r=f[e>>2],O=e,P=xr(i)&r,f[O>>2]=P,(0|(e=f[c+76>>2]))==f[c+80>>2]){if((e=1+(n=(i=e-(r=f[c+72>>2])|0)>>2)|0)>>>0>=1073741824)break e;if(_=i>>1,_=n>>>0<536870911?e>>>0>_>>>0?e:_:1073741823){if(_>>>0>=1073741824)break i;e=br(_<<2)}else e=0;f[(n=e+(n<<2)|0)>>2]=h,(0|i)>0&&ge(e,r,i),f[c+80>>2]=e+(_<<2),f[c+76>>2]=n+4,f[c+72>>2]=e,r&&ee(r)}else f[e>>2]=h,f[c+76>>2]=e+4}if((0|A)==(0|p))break}i=f[c+8>>2]}if(((f[i+4>>2]-f[i>>2]>>2>>>0)/3|0)==(0|k))if(n=f[i+24>>2],s=f[i+28>>2]-n>>2,(0|g)!=(0|w))for(e=g;;){if(r=f[e>>2],-1==f[(_=((A=s-1|0)<<2)+n|0)>>2])for(;A=s-2|0,s=s-1|0,-1==f[(_=(A<<2)+n|0)>>2];);if(r>>>0<=A>>>0){if(f[y>>2]=i,n=f[_>>2],o[y+12|0]=1,f[y+8>>2]=n,f[y+4>>2]=n,-1!=(0|n))for(;f[f[i>>2]+(n<<2)>>2]=r,Fe(y),i=f[c+8>>2],-1!=(0|(n=f[y+8>>2])););k=(n=f[i+24>>2])+(A<<2)|0,-1!=(0|r)&&(f[(r<<2)+n>>2]=f[k>>2]),f[k>>2]=-1,k=1<<r,r=(x=f[c+120>>2])+(r>>>3&536870908)|0,x=x+(A>>>3&536870908)|0,A=1<<A,f[x>>2]&A?k|=f[r>>2]:k=f[r>>2]&(-1^k),f[r>>2]=k,f[x>>2]=f[x>>2]&(-1^A),s=s-1|0}if((0|w)==(0|(e=e+4|0)))break}else g=w}}if(g&&ee(g),e=f[y+48>>2])for(;r=f[e>>2],ee(e),e=r;);e=f[y+40>>2],f[y+40>>2]=0,e&&ee(e),p&&(f[y+68>>2]=p,ee(p)),I=y+96|0;break r}Lt(1326),E()}if(-1!=(0|s)){r=(e=f[W+16>>2])+f[W>>2]|0,p=(p=f[W+8>>2])-e|0,e=f[f[c+4>>2]+32>>2],a[e+38>>1]=l[e+38>>1],f[e>>2]=r,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=p,f[e+12>>2]=0;r:if(f[c+216>>2]!=f[c+220>>2]&&(e=f[c+8>>2],f[e+4>>2]!=f[e>>2])){for(r=0;;){if(le(c,r)){if(r=r+3|0,e=f[c+8>>2],r>>>0<f[e+4>>2]-f[e>>2]>>2>>>0)continue;break r}break}break t}if(u[c+308|0]&&(o[c+308|0]=0,r=f[c+292>>2],e=0,i=(e=(p=f[c+304>>2]+7|0)>>>0<7?1:e)>>>3|0,e=(p=e<<29|p>>>3)+f[c+288>>2]|0,r=r+i|0,f[c+288>>2]=e,f[c+292>>2]=e>>>0<p>>>0?r+1|0:r),(0|(r=f[c+216>>2]))!=f[c+220>>2])for(;;){if(De(4+((e=d(S,144))+r|0)|0,f[c+8>>2]),i=f[F>>2],(0|(r=f[132+(p=e+i|0)>>2]))!=(0|(p=f[p+136>>2])))for(;Ue(4+(e+i|0)|0,f[r>>2]),i=f[F>>2],(0|p)!=(0|(r=r+4|0)););if(re(4+(e+i|0)|0),S=S+1|0,r=f[c+216>>2],!(S>>>0<(f[c+220>>2]-r|0)/144>>>0))break}if(e=f[c+8>>2],pt(c+184|0,f[e+28>>2]-f[e+24>>2]>>2),(0|(i=f[c+216>>2]))!=f[c+220>>2])for(r=0;e=d(r,144)+i|0,p=f[e+60>>2]-f[e+56>>2]>>2,i=e+104|0,e=f[c+8>>2],pt(i,(0|(e=f[e+28>>2]-f[e+24>>2]>>2))>(0|p)?e:p),r=r+1|0,i=f[c+216>>2],r>>>0<(f[c+220>>2]-i|0)/144>>>0;);S=Z(c,s)}}}return I=t- -64|0,0|S}ii(),E()},qr,Yr,Pr,ar,function(e){var t=0;f[(e|=0)>>2]=8652,(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),f[e>>2]=8904,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),ee(e)},ht,function(e){var t=0;return f[(e|=0)>>2]=8904,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),0|e},function(e){var t=0;f[(e|=0)>>2]=8904,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),ee(e)},function(e){var t=0;return f[8+(e|=0)>>2]=9168,f[e>>2]=8956,(t=f[e+96>>2])&&(f[e+100>>2]=t,ee(t)),(t=f[e+80>>2])&&(f[e+84>>2]=t,ee(t)),(t=f[e+68>>2])&&(f[e+72>>2]=t,ee(t)),(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),f[e+8>>2]=9404,(t=f[e+44>>2])&&ee(t),(t=f[e+32>>2])&&ee(t),0|e},function(e){var t=0;f[8+(e|=0)>>2]=9168,f[e>>2]=8956,(t=f[e+96>>2])&&(f[e+100>>2]=t,ee(t)),(t=f[e+80>>2])&&(f[e+84>>2]=t,ee(t)),(t=f[e+68>>2])&&(f[e+72>>2]=t,ee(t)),(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),f[e+8>>2]=9404,(t=f[e+44>>2])&&ee(t),(t=f[e+32>>2])&&ee(t),ee(e)},function(e,t){t|=0;var r,i,n,a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0;if(i=f[12+(e|=0)>>2],a=f[e+108>>2],c=f[a+80>>2],o[t+84|0]=0,u=f[t+68>>2],(s=f[t+72>>2]-u>>2)>>>0<c>>>0?(ve(t+68|0,c-s|0,9156),a=f[e+108>>2],c=f[a+80>>2]):c>>>0>=s>>>0||(f[t+72>>2]=u+(c<<2)),r=f[a+96>>2],!(a=f[a+100>>2]-r|0))return 1;n=(a=(0|a)/12|0)>>>0>1?a:1,a=0;e:{for(;;){if(1431655765==(0|a))break e;if(s=f[i>>2]+(d(a,3)<<2)|0,-1==(0|(b=f[s>>2])))break e;if(u=d(a,12)+r|0,(l=f[u>>2])>>>0>=c>>>0)break e;if(p=f[f[e+112>>2]+12>>2],(A=f[p+(b<<2)>>2])>>>0>=c>>>0)break e;if(b=f[t+68>>2],f[b+(l<<2)>>2]=A,-1==(0|(l=f[s+4>>2])))break e;if((A=f[u+4>>2])>>>0>=c>>>0)break e;if((l=f[(l<<2)+p>>2])>>>0>=c>>>0)break e;if(f[b+(A<<2)>>2]=l,-1==(0|(s=f[s+8>>2])))break e;if((u=f[u+8>>2])>>>0>=c>>>0)break e;if((s=f[(s<<2)+p>>2])>>>0>=c>>>0)break e;if(f[b+(u<<2)>>2]=s,(0|n)==(0|(a=a+1|0)))break}return 1}return 0},function(e){var t,r=0,i=0,n=0,o=0,a=0,s=0;I=t=I-16|0,r=f[4+(e|=0)>>2],n=f[r>>2];e:{if(i=f[e+12>>2],!((o=(i=f[i+28>>2]-f[i+24>>2]|0)>>2)>>>0<=f[r+8>>2]-n>>2>>>0)){if((0|i)<0)break e;a=f[r+4>>2],s=(i=br(i))+(o<<2)|0,a=(o=a-n|0)+i|0,(0|o)>0&&ge(i,n,o),f[r+8>>2]=s,f[r+4>>2]=a,f[r>>2]=i,n&&ee(n)}r=f[e+12>>2],n=f[r+28>>2],r=f[r+24>>2],f[t+12>>2]=0,r=n-r>>2,o=f[(i=e+96|0)>>2],r>>>0>(n=f[e+100>>2]-o>>2)>>>0?ve(i,r-n|0,t+12|0):r>>>0>=n>>>0||(f[e+100>>2]=o+(r<<2)),o=e+8|0;t:if(r=f[e+116>>2]){if((0|(i=f[r>>2]))==f[r+4>>2]){n=1;break t}for(r=0;;){if(!(n=O(o,f[(r<<2)+i>>2])))break t;if(a=f[e+116>>2],i=f[a>>2],!((r=r+1|0)>>>0<f[a+4>>2]-i>>2>>>0))break}}else if(n=1,e=f[e+12>>2],!((e=f[e+4>>2]-f[e>>2]>>2)>>>0<3))for(e=(e>>>0)/3|0,r=0;;){if(!(n=O(o,d(r,3))))break t;if((0|e)==(0|(r=r+1|0)))break}return I=t+16|0,0|n}Lt(1326),E()},function(e){var t=0;return f[(e|=0)>>2]=9168,(t=f[e+88>>2])&&(f[e+92>>2]=t,ee(t)),(t=f[e+72>>2])&&(f[e+76>>2]=t,ee(t)),(t=f[e+60>>2])&&(f[e- -64>>2]=t,ee(t)),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),f[e>>2]=9404,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),0|e},function(e){var t=0;f[(e|=0)>>2]=9168,(t=f[e+88>>2])&&(f[e+92>>2]=t,ee(t)),(t=f[e+72>>2])&&(f[e+76>>2]=t,ee(t)),(t=f[e+60>>2])&&(f[e- -64>>2]=t,ee(t)),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),f[e>>2]=9404,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),ee(e)},function(e,t,r){t|=0,r|=0;var i,n=0;I=i=I-16|0,f[4+(e|=0)>>2]=t,n=f[t>>2],t=f[t+4>>2],o[i+15|0]=0,Je(e+24|0,(t-n>>2>>>0)/3|0,i+15|0),t=f[e+4>>2],n=f[t+28>>2],t=f[t+24>>2],o[i+14|0]=0,Je(e+36|0,n-t>>2,i+14|0),t=f[r+12>>2],f[e+16>>2]=f[r+8>>2],f[e+20>>2]=t,t=f[r+4>>2],f[e+8>>2]=f[r>>2],f[e+12>>2]=t,I=i+16|0},function(e){var t=0;return f[(e|=0)>>2]=9404,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),0|e},function(e){var t=0;f[(e|=0)>>2]=9404,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),ee(e)},function(e){var t=0;return f[8+(e|=0)>>2]=9588,f[e>>2]=9424,(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),f[e+8>>2]=9404,(t=f[e+44>>2])&&ee(t),(t=f[e+32>>2])&&ee(t),0|e},function(e){var t=0;f[8+(e|=0)>>2]=9588,f[e>>2]=9424,(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),f[e+8>>2]=9404,(t=f[e+44>>2])&&ee(t),(t=f[e+32>>2])&&ee(t),ee(e)},function(e,t){t|=0;var r,i,n,a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0;if(i=f[12+(e|=0)>>2],a=f[e+68>>2],c=f[a+80>>2],o[t+84|0]=0,u=f[t+68>>2],(s=f[t+72>>2]-u>>2)>>>0<c>>>0?(ve(t+68|0,c-s|0,9156),a=f[e+68>>2],c=f[a+80>>2]):c>>>0>=s>>>0||(f[t+72>>2]=u+(c<<2)),r=f[a+96>>2],!(a=f[a+100>>2]-r|0))return 1;n=(a=(0|a)/12|0)>>>0>1?a:1,a=0;e:{for(;;){if(1431655765==(0|a))break e;if(s=f[i>>2]+(d(a,3)<<2)|0,-1==(0|(b=f[s>>2])))break e;if(u=d(a,12)+r|0,(l=f[u>>2])>>>0>=c>>>0)break e;if(p=f[f[e+72>>2]+12>>2],(A=f[p+(b<<2)>>2])>>>0>=c>>>0)break e;if(b=f[t+68>>2],f[b+(l<<2)>>2]=A,-1==(0|(l=f[s+4>>2])))break e;if((A=f[u+4>>2])>>>0>=c>>>0)break e;if((l=f[(l<<2)+p>>2])>>>0>=c>>>0)break e;if(f[b+(A<<2)>>2]=l,-1==(0|(s=f[s+8>>2])))break e;if((u=f[u+8>>2])>>>0>=c>>>0)break e;if((s=f[(s<<2)+p>>2])>>>0>=c>>>0)break e;if(f[b+(u<<2)>>2]=s,(0|n)==(0|(a=a+1|0)))break}return 1}return 0},function(e){var t=0,r=0,i=0,n=0,o=0,a=0;t=f[4+(e|=0)>>2],i=f[t>>2];e:{if(r=f[e+12>>2],!((n=(r=f[r+28>>2]-f[r+24>>2]|0)>>2)>>>0<=f[t+8>>2]-i>>2>>>0)){if((0|r)<0)break e;o=f[t+4>>2],a=(r=br(r))+(n<<2)|0,o=(n=o-i|0)+r|0,(0|n)>0&&ge(r,i,n),f[t+8>>2]=a,f[t+4>>2]=o,f[t>>2]=r,i&&ee(i)}n=e+8|0;t:if(t=f[e+76>>2]){if((0|(i=f[t>>2]))==f[t+4>>2])return 1;for(t=0;;){if(!(r=oe(n,f[(t<<2)+i>>2])))break t;if(o=f[e+76>>2],i=f[o>>2],!((t=t+1|0)>>>0<f[o+4>>2]-i>>2>>>0))break}}else if(r=1,e=f[e+12>>2],!((e=f[e+4>>2]-f[e>>2]>>2)>>>0<3))for(e=(e>>>0)/3|0,t=0;;){if(!(r=oe(n,d(t,3))))break t;if((0|e)==(0|(t=t+1|0)))break}return 0|r}Lt(1326),E()},function(e){var t=0;return f[(e|=0)>>2]=9588,(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),f[e>>2]=9404,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),0|e},function(e){var t=0;f[(e|=0)>>2]=9588,(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),f[e>>2]=9404,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),ee(e)},function(e){var t=0;return f[8+(e|=0)>>2]=8652,f[e>>2]=9716,(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),f[e+8>>2]=8904,(t=f[e+44>>2])&&ee(t),(t=f[e+32>>2])&&ee(t),0|e},function(e){var t=0;f[8+(e|=0)>>2]=8652,f[e>>2]=9716,(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),f[e+8>>2]=8904,(t=f[e+44>>2])&&ee(t),(t=f[e+32>>2])&&ee(t),ee(e)},function(e,t){t|=0;var r,i,n,a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0;if(b=f[12+(e|=0)>>2],a=f[e+68>>2],c=f[a+80>>2],o[t+84|0]=0,l=f[t+68>>2],(s=f[t+72>>2]-l>>2)>>>0<c>>>0?(ve(t+68|0,c-s|0,9156),a=f[e+68>>2],c=f[a+80>>2]):c>>>0>=s>>>0||(f[t+72>>2]=l+(c<<2)),r=f[a+96>>2],!(a=f[a+100>>2]-r|0))return 1;i=(a=(0|a)/12|0)>>>0>1?a:1,n=f[b+28>>2],a=0;e:{for(;;){if(s=(d(a,3)<<2)+n|0,-1==(0|(l=f[s>>2])))break e;if(b=d(a,12)+r|0,(A=f[b>>2])>>>0>=c>>>0)break e;if(u=l<<2,l=f[f[e+72>>2]+12>>2],(u=f[u+l>>2])>>>0>=c>>>0)break e;if(p=A<<2,A=f[t+68>>2],f[p+A>>2]=u,-1==(0|(u=f[s+4>>2])))break e;if((p=f[b+4>>2])>>>0>=c>>>0)break e;if((u=f[l+(u<<2)>>2])>>>0>=c>>>0)break e;if(f[A+(p<<2)>>2]=u,-1==(0|(s=f[s+8>>2])))break e;if((b=f[b+8>>2])>>>0>=c>>>0)break e;if((s=f[l+(s<<2)>>2])>>>0>=c>>>0)break e;if(f[A+(b<<2)>>2]=s,(0|i)==(0|(a=a+1|0)))break}return 1}return 0},function(e){var t=0,r=0,i=0,n=0,o=0,a=0;t=f[4+(e|=0)>>2],i=f[t>>2];e:{if(r=f[e+12>>2],!((n=(r=f[r+56>>2]-f[r+52>>2]|0)>>2)>>>0<=f[t+8>>2]-i>>2>>>0)){if((0|r)<0)break e;o=f[t+4>>2],a=(r=br(r))+(n<<2)|0,o=(n=o-i|0)+r|0,(0|n)>0&&ge(r,i,n),f[t+8>>2]=a,f[t+4>>2]=o,f[t>>2]=r,i&&ee(i)}n=e+8|0;t:if(t=f[e+76>>2]){if((0|(i=f[t>>2]))==f[t+4>>2])return 1;for(t=0;;){if(!(r=ie(n,f[(t<<2)+i>>2])))break t;if(o=f[e+76>>2],i=f[o>>2],!((t=t+1|0)>>>0<f[o+4>>2]-i>>2>>>0))break}}else if(r=1,e=f[f[e+12>>2]+64>>2],!((e=f[e+4>>2]-f[e>>2]>>2)>>>0<3))for(e=(e>>>0)/3|0,t=0;;){if(!(r=ie(n,d(t,3))))break t;if((0|e)==(0|(t=t+1|0)))break}return 0|r}Lt(1326),E()},function(e){var t,r=0,i=0;if(f[(e|=0)>>2]=10064,(r=f[e+20>>2])&&(f[e+24>>2]=r,ee(r)),t=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|t)!=(0|i););r=f[e+8>>2]}f[e+12>>2]=t,ee(r)}ee(e)},function(e,t){e|=0,t|=0;var r=0,i=0,n=0,o=0,a=0,s=0;o=br(64),r=br(12),f[r+8>>2]=f[f[e+4>>2]+80>>2],f[r>>2]=1e4,f[r+4>>2]=0,o=jt(o,r);e:{if((0|t)<0)r=o;else{if(s=e+8|0,!((0|(a=(r=f[e+12>>2])-(n=f[e+8>>2])>>2))>(0|t)))if(i=t+1|0,t>>>0>=a>>>0)Ze(s,i-a|0);else if(!(i>>>0>=a>>>0)){if((0|(n=n+(i<<2)|0))!=(0|r))for(;i=f[(r=r-4|0)>>2],f[r>>2]=0,i&&_i[f[f[i>>2]+4>>2]](i),(0|r)!=(0|n););f[e+12>>2]=n}if(e=f[s>>2]+(t<<2)|0,r=f[e>>2],f[e>>2]=o,!r)break e}_i[f[f[r>>2]+4>>2]](r)}return(-1^t)>>>31|0},function(e){var t,r=0,i=0,n=0,o=0,a=0,s=0,c=0,A=0,p=0,_=0,h=0,k=0,m=0;I=t=I-32|0;e:if(Bt(1,t+28|0,f[32+(e|=0)>>2])&&Bt(1,t+24|0,f[e+32>>2])&&!((p=f[t+28>>2])>>>0>1431655765||(n=f[e+32>>2],o=Yt(o=(r=A=f[n+8>>2])-(i=f[n+16>>2])|0,(a=f[n+12>>2])-((k=r>>>0<i>>>0)+(r=f[n+20>>2])|0)|0,3,0),!C&o>>>0<p>>>0||(m=f[t+24>>2],o=Jt(p,0,3,0),!C&o>>>0<m>>>0|(0|r)>=(0|a)&i>>>0>=A>>>0|(0|r)>(0|a))))){a=u[i+f[n>>2]|0],o=(A=i+1|0)?r:r+1|0,f[n+16>>2]=A,f[n+20>>2]=o;t:{if(a){r:if(m>>>0<=255){if(!p)break t;if(f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,(0|o)>=(0|(r=i=f[n+12>>2]))&A>>>0>=(s=f[n+8>>2])>>>0|(0|r)<(0|o))break r;for(;;){if(a=f[n>>2],_=u[a+A|0],r=o,r=(c=A+1|0)?r:r+1|0,f[n+16>>2]=c,f[n+20>>2]=r,f[t+8>>2]=_,s>>>0<=c>>>0&(0|r)>=(0|i)|(0|r)>(0|i))break r;if(_=u[a+c|0],r=o,r=(c=A+2|0)>>>0<2?r+1|0:r,f[n+16>>2]=c,f[n+20>>2]=r,f[t+12>>2]=_,s>>>0<=c>>>0&(0|r)>=(0|i)|(0|r)>(0|i))break r;if(r=u[a+c|0],o=(i=A+3|0)>>>0<3?o+1|0:o,f[n+16>>2]=i,f[n+20>>2]=o,f[t+16>>2]=r,rt(f[e+44>>2]+96|0,t+8|0),(0|p)==(0|(h=h+1|0)))break t;if(n=f[e+32>>2],A=f[(r=n)+16>>2],o=f[r+20>>2],f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,!(A>>>0<(s=f[r+8>>2])>>>0&(0|o)<=(0|(r=i=f[r+12>>2]))|(0|r)>(0|o)))break}}else if(m>>>0<=65535){if(!p)break t;if(f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,a=f[n+12>>2],s=i=i+3|0,i=r=i>>>0<3?r+1|0:r,(c=f[n+8>>2])>>>0<s>>>0&(0|r)>=(0|a)|(0|r)>(0|a))break r;for(;;){if(_=f[n>>2],r=u[0|(r=_+A|0)]|u[r+1|0]<<8,f[n+16>>2]=s,f[n+20>>2]=i,f[t+8>>2]=r,r=o,(i=A+4|0)>>>0>c>>>0&(0|(r=i>>>0<4?r+1|0:r))>=(0|a)|(0|r)>(0|a))break r;if(s=u[0|(s=s+_|0)]|u[s+1|0]<<8,f[n+16>>2]=i,f[n+20>>2]=r,f[t+12>>2]=s,r=o,(o=A+6|0)>>>0>c>>>0&(0|(r=o>>>0<6?r+1|0:r))>=(0|a)|(0|r)>(0|a))break r;if(i=u[0|(i=i+_|0)]|u[i+1|0]<<8,f[n+16>>2]=o,f[n+20>>2]=r,f[t+16>>2]=i,rt(f[e+44>>2]+96|0,t+8|0),(0|p)==(0|(h=h+1|0)))break t;if(n=f[e+32>>2],A=f[(r=n)+16>>2],o=f[r+20>>2],f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,a=f[r+12>>2],c=f[r+8>>2],r=o,s=i=A+2|0,i=r=i>>>0<2?r+1|0:r,!((0|r)<=(0|a)&s>>>0<=c>>>0|(0|r)<(0|a)))break}}else if(b[f[e+44>>2]+80>>2]>2097151||(65535&((a=l[e+36>>1])<<8|a>>>8))>>>0<514){if(!p)break t;if(f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,a=f[n+12>>2],s=i=i+5|0,i=r=i>>>0<5?r+1|0:r,!((c=f[n+8>>2])>>>0<s>>>0&(0|r)>=(0|a)|(0|r)>(0|a)))for(;;){if(_=f[n>>2],r=u[0|(r=_+A|0)]|u[r+1|0]<<8|u[r+2|0]<<16|u[r+3|0]<<24,f[n+16>>2]=s,f[n+20>>2]=i,f[t+8>>2]=r,r=o,k=i=A+8|0,i>>>0>c>>>0&(0|(r=i>>>0<8?r+1|0:r))>=(0|a)|(0|r)>(0|a))break r;if(i=u[0|(i=s+_|0)]|u[i+1|0]<<8|u[i+2|0]<<16|u[i+3|0]<<24,f[n+16>>2]=k,f[n+20>>2]=r,f[t+12>>2]=i,i=r=A+12|0,r>>>0>c>>>0&(0|(o=r>>>0<12?o+1|0:o))>=(0|a)|(0|o)>(0|a))break r;if(r=u[0|(r=_+k|0)]|u[r+1|0]<<8|u[r+2|0]<<16|u[r+3|0]<<24,f[n+16>>2]=i,f[n+20>>2]=o,f[t+16>>2]=r,rt(f[e+44>>2]+96|0,t+8|0),(0|p)==(0|(h=h+1|0)))break t;if(n=f[e+32>>2],A=f[(r=n)+16>>2],o=f[r+20>>2],f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,a=f[r+12>>2],c=f[r+8>>2],r=o,s=i=A+4|0,i=r=i>>>0<4?r+1|0:r,!((0|r)<=(0|a)&s>>>0<=c>>>0|(0|r)<(0|a)))break}}else{if(!p)break t;if(f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,!Bt(1,t+4|0,n))break r;for(;;){if(f[t+8>>2]=f[t+4>>2],!Bt(1,t+4|0,f[e+32>>2]))break r;if(f[t+12>>2]=f[t+4>>2],!Bt(1,t+4|0,f[e+32>>2]))break r;if(f[t+16>>2]=f[t+4>>2],rt(f[e+44>>2]+96|0,t+8|0),(0|p)==(0|(h=h+1|0)))break t;if(o=f[e+32>>2],f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,!Bt(1,t+4|0,o))break}}h=0;break e}n=0,I=r=I-32|0,f[r+24>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0;r:{i:{if(o=d(p,3)){if(o>>>0>=1073741824)break i;n=br(i=d(p,12)),f[r+16>>2]=n,Ye(n,0,i)}n:{if(!(o=D(o,1,f[e+32>>2],n))|!p){if(!n)break n}else for(a=0,i=0;k=s,c=(s=f[(A=(i<<2)+n|0)>>2])>>>1|0,s=k+(1&s?0-c|0:c)|0,f[r>>2]=s,_=(c=f[A+4>>2])>>>1|0,s=s+(1&c?0-_|0:_)|0,f[r+4>>2]=s,c=(A=f[A+8>>2])>>>1|0,s=s+(1&A?0-c|0:c)|0,f[r+8>>2]=s,rt(f[e+44>>2]+96|0,r),i=i+3|0,(0|(a=a+1|0))!=(0|p););ee(n)}I=r+32|0;break r}ii(),E()}if(!o)break e}f[f[e+4>>2]+80>>2]=m,h=1}return I=t+32|0,0|h},Hr,ni,function(e,t){return o[84+(t|=0)|0]=1,f[t+72>>2]=f[t+68>>2],1},function(e){var t=0,r=0,i=0,n=0,o=0;e:{if(!((0|(t=f[8+(e|=0)>>2]))<0||(r=f[e+4>>2],n=f[r>>2],(i=f[r+4>>2]-n>>2)>>>0<t>>>0?(st(r,t-i|0),o=f[e+8>>2]):(o=t,t>>>0>=i>>>0||(f[r+4>>2]=n+(t<<2),o=t)),(0|(i=o))<=0)))for(e=f[e+4>>2],r=f[e>>2],n=f[e+4>>2]-r>>2,e=0;;){if((0|e)==(0|n))break e;if(f[r+(e<<2)>>2]=e,(0|i)==(0|(e=e+1|0)))break}return(-1^t)>>>31|0}ci(),E()},ai,ei,qr,function(e){var t=0;return f[(e|=0)>>2]=10272,(t=f[e+96>>2])&&(f[e+100>>2]=t,ee(t)),(t=f[e+84>>2])&&(f[e+88>>2]=t,ee(t)),ft(e),0|e},function(e){var t=0;f[(e|=0)>>2]=10272,(t=f[e+96>>2])&&(f[e+100>>2]=t,ee(t)),(t=f[e+84>>2])&&(f[e+88>>2]=t,ee(t)),ft(e),ee(e)},function(e,t,r){var i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0;if(ce(e|=0,t|=0,r|=0),r=f[e+84>>2],!((0|(i=f[e+88>>2]-r>>2))>(0|t))){if((t=t+1|0)>>>0>i>>>0){e:if((i=t-i|0)>>>0<=(n=f[e+92>>2])-(r=f[e+88>>2])>>2>>>0){if(i){if(t=r,a=1+((o=(i<<2)-4|0)>>>2|0)&7)for(;f[t>>2]=1,t=t+4|0,(0|a)!=(0|(s=s+1|0)););if(r=(i<<2)+r|0,!(o>>>0<28))for(;f[t+24>>2]=1,f[t+28>>2]=1,f[t+16>>2]=1,f[t+20>>2]=1,f[t+8>>2]=1,f[t+12>>2]=1,f[t>>2]=1,f[t+4>>2]=1,(0|r)!=(0|(t=t+32|0)););}f[e+88>>2]=r}else{t:{if((t=(r=(u=r-(o=f[e+84>>2])|0)>>2)+i|0)>>>0<1073741824){if(c=(n=n-o|0)>>1,n=n>>2>>>0<536870911?t>>>0>c>>>0?t:c:1073741823){if(n>>>0>=1073741824)break t;a=br(n<<2)}if(t=r=(r<<2)+a|0,l=1+((c=(i<<=2)-4|0)>>>2|0)&7)for(t=r;f[t>>2]=1,t=t+4|0,(0|l)!=(0|(s=s+1|0)););if(r=r+i|0,c>>>0>=28)for(;f[t+24>>2]=1,f[t+28>>2]=1,f[t+16>>2]=1,f[t+20>>2]=1,f[t+8>>2]=1,f[t+12>>2]=1,f[t>>2]=1,f[t+4>>2]=1,(0|r)!=(0|(t=t+32|0)););(0|u)>0&&ge(a,o,u),f[e+92>>2]=(n<<2)+a,f[e+88>>2]=r,f[e+84>>2]=a,o&&ee(o);break e}ii(),E()}Lt(1326),E()}return}t>>>0>=i>>>0||(f[e+88>>2]=r+(t<<2))}},function(e,t){var r=0,i=0;K(e|=0,t|=0),(0|t)<0||(r=f[e+88>>2])-(i=f[e+84>>2])>>2<=(0|t)||((r=r-(i=4+(t=i+(t<<2)|0)|0)|0)&&je(t,i,r),f[e+88>>2]=t+r)},ft,function(e){ee(ft(e|=0))},ce,K,Hr,ni,function(e){return 1273},function(e){ee(pr(e|=0))},Yr,function(e){pr(e|=0),ee(e)},Hr,ni,di,di,function(e,t,r){r|=0;var i,n=0,o=0,a=0,s=0;if(I=i=I+-64|0,n=1,!Ct(e|=0,t|=0,0)&&(n=0,t)){I=n=I+-64|0,o=f[t>>2],a=f[o-4>>2],s=f[o-8>>2],f[n+20>>2]=0,f[n+16>>2]=11220,f[n+12>>2]=t,f[n+8>>2]=11268,o=0,Ye(n+24|0,0,39),t=t+s|0;e:if(Ct(a,11268,0))f[n+56>>2]=1,_i[f[f[a>>2]+20>>2]](a,n+8|0,t,t,1,0),o=1==f[n+32>>2]?t:0;else{_i[f[f[a>>2]+24>>2]](a,n+8|0,t,1,0);t:switch(f[n+44>>2]){case 0:o=1==f[n+48>>2]&&1==f[n+36>>2]&&1==f[n+40>>2]?f[n+28>>2]:0;break e;case 1:break t;default:break e}1!=f[n+32>>2]&&f[n+48>>2]|1!=f[n+36>>2]|1!=f[n+40>>2]||(o=f[n+24>>2])}I=n- -64|0,n=0,o&&(Ye(4|(t=i+8|0),0,52),f[i+56>>2]=1,f[i+20>>2]=-1,f[i+16>>2]=e,f[i+8>>2]=o,_i[f[f[o>>2]+28>>2]](o,t,f[r>>2],1),1==(0|(e=f[i+32>>2]))&&(f[r>>2]=f[i+24>>2]),n=1==(0|e))}return I=i- -64|0,0|n},function(e,t,r,i,n,o){r|=0,i|=0,n|=0,o|=0,Ct(e|=0,f[8+(t|=0)>>2],o)&&_t(t,r,i,n)},function(e,t,r,i,n){if(r|=0,i|=0,n|=0,Ct(e|=0,f[8+(t|=0)>>2],n))1==f[t+28>>2]|f[t+4>>2]!=(0|r)||(f[t+28>>2]=i);else e:if(Ct(e,f[t>>2],n)){if(!(f[t+16>>2]!=(0|r)&f[t+20>>2]!=(0|r))){if(1!=(0|i))break e;return void(f[t+32>>2]=1)}f[t+20>>2]=r,f[t+32>>2]=i,f[t+40>>2]=f[t+40>>2]+1,1!=f[t+36>>2]|2!=f[t+24>>2]||(o[t+54|0]=1),f[t+44>>2]=4}},function(e,t,r,i){r|=0,i|=0,Ct(e|=0,f[8+(t|=0)>>2],0)&&Qt(t,r,i)},ni,function(e,t,r,i,n,o){r|=0,i|=0,n|=0,o|=0,Ct(e|=0,f[8+(t|=0)>>2],o)?_t(t,r,i,n):(e=f[e+8>>2],_i[f[f[e>>2]+20>>2]](e,t,r,i,n,o))},function(e,t,r,i,n){if(r|=0,i|=0,n|=0,Ct(e|=0,f[8+(t|=0)>>2],n))1==f[t+28>>2]|f[t+4>>2]!=(0|r)||(f[t+28>>2]=i);else e:{if(Ct(e,f[t>>2],n)){if(!(f[t+16>>2]!=(0|r)&f[t+20>>2]!=(0|r))){if(1!=(0|i))break e;return void(f[t+32>>2]=1)}f[t+32>>2]=i;t:if(4!=f[t+44>>2]){if(a[t+52>>1]=0,e=f[e+8>>2],_i[f[f[e>>2]+20>>2]](e,t,r,r,1,n),u[t+53|0]){if(f[t+44>>2]=3,!u[t+52|0])break t;break e}f[t+44>>2]=4}if(f[t+20>>2]=r,f[t+40>>2]=f[t+40>>2]+1,1!=f[t+36>>2]|2!=f[t+24>>2])break e;return void(o[t+54|0]=1)}e=f[e+8>>2],_i[f[f[e>>2]+24>>2]](e,t,r,i,n)}},function(e,t,r,i){r|=0,i|=0,Ct(e|=0,f[8+(t|=0)>>2],0)?Qt(t,r,i):(e=f[e+8>>2],_i[f[f[e>>2]+28>>2]](e,t,r,i))}]);function hi(){return i.byteLength/65536|0}return{g:function(){},h:_i,i:Xr,j:function(){var e;return e=br(40),a[e+38>>1]=0,f[e>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,o[e+29|0]=0,o[e+30|0]=0,o[e+31|0]=0,o[e+32|0]=0,o[e+33|0]=0,o[e+34|0]=0,o[e+35|0]=0,o[e+36|0]=0,0|e},k:function(e,t,r){t|=0,r|=0,f[16+(e|=0)>>2]=0,f[e+20>>2]=0,f[e>>2]=t,f[e+8>>2]=r,f[e+12>>2]=0},l:Xr,m:function(){var e,t;return t=br(40),f[t>>2]=-1,f[16+(e=t+8|0)>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,0|t},n:Qr,o:function(e){var t=0;(e|=0)&&((t=f[e+8>>2])&&(f[e+12>>2]=t,ee(t)),ee(e))},p:function(){return 0|qt(br(64))},q:Xr,r:function(){var e;return qt(e=br(96)),f[e+64>>2]=0,f[e+68>>2]=0,f[e+88>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,o[e+77|0]=0,o[e+78|0]=0,o[e+79|0]=0,o[e+80|0]=0,o[e+81|0]=0,o[e+82|0]=0,o[e+83|0]=0,o[e+84|0]=0,0|e},s:jr,t:function(e){return f[88+(e|=0)>>2]},u:function(e){return f[56+(e|=0)>>2]},v:Wr,w:function(e){return o[24+(e|=0)|0]},x:function(e){return u[32+(e|=0)|0]},y:function(e){return f[40+(e|=0)>>2]},z:function(e){return f[48+(e|=0)>>2]},A:function(e){return f[60+(e|=0)>>2]},B:Zt,C:function(){var e;return e=br(24),f[e+8>>2]=0,f[e+12>>2]=0,f[e+4>>2]=-1,f[e>>2]=1140,f[e+16>>2]=0,f[e+20>>2]=0,0|e},D:Rr,E:Yr,F:function(e,t){return t|=0,_(A[f[8+(e|=0)>>2]+(t<<2)>>2])},G:function(e){return _(A[20+(e|=0)>>2])},H:Gr,I:function(){var e;return e=br(8),f[e+4>>2]=-1,f[e>>2]=1032,0|e},J:Rr,K:Yr,L:Gr,M:function(){return 0|Dr(br(84))},N:Mr,O:jr,P:Gr,Q:function(){var e;return Dr(e=br(108)),f[e+84>>2]=0,f[e+88>>2]=0,f[e>>2]=10272,f[e+92>>2]=0,f[e+96>>2]=0,f[e+100>>2]=0,f[e+104>>2]=0,0|e},R:function(e){return(f[100+(e|=0)>>2]-f[e+96>>2]|0)/12|0},S:Mr,T:jr,U:Gr,V:function(){var e,t;return e=br(24),f[e+4>>2]=0,f[e+8>>2]=0,f[(t=e+16|0)>>2]=0,f[t+4>>2]=0,f[e>>2]=e+4,f[e+12>>2]=t,0|e},W:function(e){(e|=0)&&(rr(e+12|0,f[e+16>>2]),ur(e,f[e+4>>2]),ee(e))},X:Qr,Y:function(e){return 0|!f[(e|=0)>>2]},Z:function(e){return 0|(o[15+(e|=0)|0]<0?f[e+4>>2]:e+4|0)},_:function(e){(e|=0)&&(o[e+15|0]<0&&ee(f[e+4>>2]),ee(e))},$:Tr,aa:function(e,t){return t|=0,_(A[f[(e|=0)>>2]+(t<<2)>>2])},ba:Sr,ca:Br,da:Tr,ea:function(e,t){return t|=0,o[f[(e|=0)>>2]+t|0]},fa:Fr,ga:Br,ha:Tr,ia:function(e,t){return t|=0,u[f[(e|=0)>>2]+t|0]},ja:Fr,ka:Br,la:Tr,ma:function(e,t){return t|=0,a[f[(e|=0)>>2]+(t<<1)>>1]},na:Vr,oa:Br,pa:Tr,qa:function(e,t){return t|=0,l[f[(e|=0)>>2]+(t<<1)>>1]},ra:Vr,sa:Br,ta:Tr,ua:Nr,va:Sr,wa:Br,xa:Tr,ya:Nr,za:Sr,Aa:Br,Ba:function(){var e;return e=br(28),f[e>>2]=0,f[e+4>>2]=0,f[e+24>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,0|e},Ca:function(e,t,r){e|=0,t|=0;var i,n=0,a=0,s=0,c=0,l=0,b=0,A=0;if(I=i=I-16|0,(n=Nt(r|=0))>>>0<4294967280){e:{if(n>>>0>=11)e=br(a=n+16&-16),f[i+8>>2]=-2147483648|a,f[i>>2]=e,f[i+4>>2]=n;else if(o[i+11|0]=n,e=i,!n)break e;ge(e,r,n)}o[e+n|0]=0,n=(r=u[i+11|0])<<24>>24,a=f[i>>2],e=0;e:if(t=f[t+4>>2]){for(e=r,e=(r=(0|n)<0)?f[i+4>>2]:e,b=r?a:i;;){t:{r:{i:{if(l=(A=(r=(s=(r=u[t+27|0])<<24>>24<0)?f[t+20>>2]:r)>>>0<e>>>0)?r:e){c=t+16|0;n:{if(!(c=xt(b,s=s?f[c>>2]:c,l))){if(e>>>0>=r>>>0)break n;break t}if((0|c)<0)break t}if(!(r=xt(s,b,l)))break i;if((0|r)<0)break r;e=1;break e}if(e>>>0<r>>>0)break t}if(!A){e=1;break e}}t=t+4|0}if(!(t=f[t>>2]))break}e=0}(0|n)<0&&ee(a),I=i+16|0}else oi(),E();return 0|e},Da:function(e,t,r){e|=0,t|=0,r|=0;var i,n=0,a=0;if(I=i=I-16|0,f[i+12>>2]=0,(n=Nt(r))>>>0<4294967280){e:{if(n>>>0>=11)e=br(a=n+16&-16),f[i+8>>2]=-2147483648|a,f[i>>2]=e,f[i+4>>2]=n;else if(o[i+11|0]=n,e=i,!n)break e;ge(e,r,n)}o[e+n|0]=0,(0|(e=Ke(t,i)))!=(t+4|0)&&4==((t=f[e+32>>2])-(e=f[e+28>>2])|0)&&(f[i+12>>2]=u[0|e]|u[e+1|0]<<8|u[e+2|0]<<16|u[e+3|0]<<24),e=f[i+12>>2],o[i+11|0]<0&&ee(f[i>>2]),I=i+16|0}else oi(),E();return 0|e},Ea:function(e,t,r,i){e|=0,t|=0,i|=0;var n=0,a=0,s=0;if(I=e=I-32|0,(n=Nt(r|=0))>>>0<4294967280){e:{if(n>>>0>=11)a=br(s=n+16&-16),f[e+24>>2]=-2147483648|s,f[e+16>>2]=a,f[e+20>>2]=n;else if(o[e+27|0]=n,a=e+16|0,!n)break e;ge(a,r,n)}o[n+a|0]=0,f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,(0|(r=Ke(t,e+16|0)))!=(t+4|0)&&(0|(t=f[r+28>>2]))!=(0|(a=f[r+32>>2]))&&(3&(t=a-t|0)||((n=t>>>2|0)>>>0>(s=(a=f[e+4>>2])-(t=f[e>>2])>>2)>>>0?(st(e,n-s|0),t=f[e>>2],a=f[e+4>>2]):n>>>0>=s>>>0||(a=(n<<2)+t|0,f[e+4>>2]=a),(0|t)==(0|a)?(ci(),E()):ge(n=t,t=f[r+28>>2],f[r+32>>2]-t|0))),(t=f[i>>2])&&(f[i+4>>2]=t,ee(t)),f[i>>2]=f[e>>2],f[i+4>>2]=f[e+4>>2],f[i+8>>2]=f[e+8>>2],o[e+27|0]<0&&ee(f[e+16>>2]),I=e+32|0}else oi(),E()},Fa:function(e,t,r){e|=0,t|=0,r|=0;var i=0,n=0,a=0,s=0;if(I=e=I-32|0,f[e+24>>2]=0,f[e+28>>2]=0,(i=Nt(r))>>>0<4294967280){e:{if(i>>>0>=11)n=br(a=i+16&-16),f[e+16>>2]=-2147483648|a,f[e+8>>2]=n,f[e+12>>2]=i;else if(o[e+19|0]=i,n=e+8|0,!i)break e;ge(n,r,i)}o[i+n|0]=0,(0|(r=t+4|0))!=(0|(t=Ke(t,e+8|0)))&&8==((r=f[t+32>>2])-(t=f[t+28>>2])|0)&&(r=u[t+4|0]|u[t+5|0]<<8|u[t+6|0]<<16|u[t+7|0]<<24,f[e+24>>2]=u[0|t]|u[t+1|0]<<8|u[t+2|0]<<16|u[t+3|0]<<24,f[e+28>>2]=r),s=p[e+24>>3],o[e+19|0]<0&&ee(f[e+8>>2]),I=e+32|0}else oi(),E();return+s},Ga:function(e,t,r){e|=0,t|=0;var i,n=0,a=0,s=0;if(I=i=I-16|0,(n=Nt(r|=0))>>>0<4294967280){e:{if(n>>>0>=11)a=br(s=n+16&-16),f[i+8>>2]=-2147483648|s,f[i>>2]=a,f[i+4>>2]=n;else if(o[i+11|0]=n,a=i,!n)break e;ge(a,r,n)}o[n+a|0]=0,r=Xt(t,i,a=e+16|0),t=o[e+27|0],e=f[e+16>>2],o[i+11|0]<0&&ee(f[i>>2]),I=i+16|0,e=r?(0|t)<0?e:a:0}else oi(),E();return 0|e},Ha:function(e,t){return f[8+(t|=0)>>2]},Ia:function(e,t,r){t|=0;var i,n=0,a=0,s=0,c=0,u=0,l=0,b=0;i=r|=0;e:if(f[12+(n=e|=0)>>2]!=(0|t)){if(e=t,(0|(t=f[n+4>>2]))!=(0|(r=f[n>>2])))for(;a=t-12|0,o[t-1|0]<0&&ee(f[a>>2]),(0|r)!=(0|(t=a)););if(f[n+12>>2]=e,f[n+4>>2]=r,(0|(t=f[e>>2]))!=(0|(l=e+4|0)))for(;;){if(f[n+8>>2]==(0|r)){c=0;t:{r:{i:{if((r=1+(s=((a=f[n+4>>2])-(e=f[n>>2])|0)/12|0)|0)>>>0<357913942){if(b=(u=(f[n+8>>2]-e|0)/12|0)<<1,r=u>>>0<178956970?r>>>0>b>>>0?r:b:357913941){if(r>>>0>=357913942)break i;c=br(d(r,12))}if(u=d(r,12),r=d(s,12)+c|0,o[t+27|0]>=0?(s=f[t+20>>2],f[r>>2]=f[t+16>>2],f[r+4>>2]=s,f[r+8>>2]=f[t+24>>2]):(Vt(r,f[t+16>>2],f[t+20>>2]),a=f[n+4>>2],e=f[n>>2]),c=c+u|0,s=r+12|0,(0|e)==(0|a))break r;for(;u=f[4+(a=a-12|0)>>2],f[(r=r-12|0)>>2]=f[a>>2],f[r+4>>2]=u,f[r+8>>2]=f[a+8>>2],f[a>>2]=0,f[a+4>>2]=0,f[a+8>>2]=0,(0|e)!=(0|a););if(f[n+8>>2]=c,e=f[n+4>>2],f[n+4>>2]=s,a=f[n>>2],f[n>>2]=r,(0|e)==(0|a))break t;for(;r=e-12|0,o[e-1|0]<0&&ee(f[r>>2]),e=r,(0|r)!=(0|a););break t}ii(),E()}Lt(1326),E()}f[n+8>>2]=c,f[n+4>>2]=s,f[n>>2]=r}a&&ee(a)}else o[t+27|0]>=0?(e=f[t+20>>2],f[r>>2]=f[t+16>>2],f[r+4>>2]=e,f[r+8>>2]=f[t+24>>2]):Vt(r,f[t+16>>2],f[t+20>>2]),f[n+4>>2]=r+12;t:if(r=f[t+4>>2])for(;e=r,r=f[r>>2];);else{if(e=f[t+8>>2],f[e>>2]==(0|t))break t;for(t=t+8|0;t=(r=f[t>>2])+8|0,e=f[r+8>>2],(0|r)!=f[e>>2];);}if((0|e)==(0|l))break e;r=f[n+4>>2],t=e}}return r=0,(0|i)<0||(e=f[n>>2],(f[n+4>>2]-e|0)/12>>>0<=i>>>0||(e=e+d(i,12)|0,r=o[e+11|0]<0?f[e>>2]:e)),0|r},Ja:function(e){var t=0,r=0,i=0;if(e|=0){if(o[e+27|0]<0&&ee(f[e+16>>2]),t=f[e>>2]){if((0|(r=f[e+4>>2]))==(0|t))i=t;else{for(;i=r-12|0,o[r-1|0]<0&&ee(f[i>>2]),(0|(r=i))!=(0|t););i=f[e>>2]}f[e+4>>2]=t,ee(i)}ee(e)}},Ka:function(){var e,t;return e=br(40),f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=e+4,f[(t=e+16|0)>>2]=0,f[t+4>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+12>>2]=t,f[e+32>>2]=0,f[e+36>>2]=0,0|e},La:function(e,t,r,i){e|=0,t|=0,r|=0,i|=0;var n,s=0;I=i=I+-64|0,a[i+46>>1]=0,f[i+8>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,o[i+37|0]=0,o[i+38|0]=0,o[i+39|0]=0,o[i+40|0]=0,o[i+41|0]=0,o[i+42|0]=0,o[i+43|0]=0,o[i+44|0]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+8>>2]=t,f[i+16>>2]=r,f[i+20>>2]=0,We(t=i+48|0),f[e+24>>2]=f[i+48>>2];e:if((0|t)!=(0|(n=e+24|0)))if(t=i+48|4,r=(s=u[i+63|0])<<24>>24,o[11+(e=e+28|0)|0]>=0){if((0|r)>=0){r=f[t+4>>2],f[e>>2]=f[t>>2],f[e+4>>2]=r,f[e+8>>2]=f[t+8>>2];break e}tr(e,f[i+52>>2],f[i+56>>2])}else zt(e,(e=(0|r)<0)?f[i+52>>2]:t,e?f[i+56>>2]:s);return o[i+63|0]<0&&ee(f[i+52>>2]),I=i- -64|0,0|n},Ma:function(e,t,r,i){e|=0,t|=0,r|=0,i|=0;var n,s=0,c=0;I=n=I+-64|0,a[38+(s=n+8|0)>>1]=0,f[s>>2]=0,f[s+8>>2]=0,f[s+12>>2]=0,f[s+16>>2]=0,f[s+20>>2]=0,f[s+24>>2]=0,f[s+28>>2]=0,o[s+29|0]=0,o[s+30|0]=0,o[s+31|0]=0,o[s+32|0]=0,o[s+33|0]=0,o[s+34|0]=0,o[s+35|0]=0,o[s+36|0]=0,f[s+16>>2]=0,f[s+20>>2]=0,f[s>>2]=t,f[s+8>>2]=r,f[s+12>>2]=0,G(t=n+48|0,e,s,i),f[e+24>>2]=f[n+48>>2];e:if((0|(r=e+24|0))!=(0|t))if(s=n+48|4,i=(t=u[n+63|0])<<24>>24,o[11+(c=e+28|0)|0]>=0){if((0|i)>=0){e=f[s+4>>2],f[c>>2]=f[s>>2],f[c+4>>2]=e,f[c+8>>2]=f[s+8>>2];break e}tr(c,f[n+52>>2],f[n+56>>2])}else zt(c,(e=(0|i)<0)?f[n+52>>2]:s,e?f[n+56>>2]:t);return o[n+63|0]<0&&ee(f[n+52>>2]),I=n- -64|0,0|r},Na:function(e,t,r){return 0|sr(t|=0,r|=0)},Oa:function(e,t,r){e|=0,t|=0;var i=0,n=0,a=0;if(I=e=I-32|0,(i=Nt(r|=0))>>>0<4294967280){e:{if(i>>>0>=11)n=br(a=i+16&-16),f[e+24>>2]=-2147483648|a,f[e+16>>2]=n,f[e+20>>2]=i;else if(o[e+27|0]=i,n=e+16|0,!i)break e;ge(n,r,i)}o[i+n|0]=0,o[e+4|0]=0,f[e>>2]=1701667182,o[e+11|0]=4,r=-1,(i=f[t+4>>2])&&(r=-1,(i=Oe(i,e,e+16|0))&&(r=Ht(t,f[i+24>>2]))),t=r,o[e+11|0]<0&&ee(f[e>>2]),o[e+27|0]<0&&ee(f[e+16>>2]),I=e+32|0}else oi(),E();return 0|t},Pa:function(e,t,r,i){e|=0,t|=0,i|=0;var n,a=0,s=0;I=n=I-32|0;e:{t:{if((a=Nt(r|=0))>>>0<4294967280){r:{if(a>>>0>=11)e=br(s=a+16&-16),f[n+24>>2]=-2147483648|s,f[n+16>>2]=e,f[n+20>>2]=a;else if(o[n+27|0]=a,e=n+16|0,!a)break r;ge(e,r,a)}if(o[e+a|0]=0,(r=Nt(i))>>>0>=4294967280)break t;r:{if(r>>>0>=11)e=br(a=r+16&-16),f[n+8>>2]=-2147483648|a,f[n>>2]=e,f[n+4>>2]=r;else if(o[n+11|0]=r,e=n,!r)break r;ge(e,i,r)}o[e+r|0]=0,e=-1,(r=f[t+4>>2])&&(e=-1,(r=Oe(r,n+16|0,n))&&(e=Ht(t,f[r+24>>2]))),o[n+11|0]<0&&ee(f[n>>2]),o[n+27|0]<0&&ee(f[n+16>>2]),I=n+32|0;break e}oi(),E()}oi(),E()}return 0|e},Qa:function(e,t,r){return r|=0,f[f[8+(t|=0)>>2]+(r<<2)>>2]},Ra:function(e,t,r){e|=0,r|=0;var i=0,n=0;i=(e=f[12+(t|=0)>>2])-(t=f[t+8>>2])|0,e=0;e:if(i){i=(e=i>>2)>>>0>1?e:1,e=0;t:{for(;;){if(n=f[t+(e<<2)>>2],f[n+60>>2]==(0|r))break t;if((0|i)==(0|(e=e+1|0)))break}e=0;break e}e=-1==(0|e)?0:n}return 0|e},Sa:function(e,t){return f[4+(t|=0)>>2]},Ta:function(e,t,r){e|=0,r|=0;var i,n=0;if((i=f[4+(t|=0)>>2])&&!((0|(t=f[f[f[t+8>>2]+(r<<2)>>2]+60>>2]))<0)&&(0|(e=f[i+24>>2]))!=(0|(r=f[i+28>>2])))e:{for(;;){if(n=f[e>>2],(0|t)==f[n+24>>2])break e;if((0|r)==(0|(e=e+4|0)))break}n=0}return 0|n},Ua:function(e,t,r,i){var n,o;return e|=0,r|=0,i|=0,I=e=I-16|0,t=f[96+(t|=0)>>2],f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,o=(r=ge(n=br(12),t+d(r,12)|0,12))+12|0,(t=f[i>>2])&&(f[i+4>>2]=t,ee(t)),f[i+8>>2]=r+12,f[i+4>>2]=o,f[i>>2]=n,I=e+16|0,1},Va:function(e,t,r){e|=0,t|=0;var i,n,a,s,c,l,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,x=0,R=0,N=0,C=0,D=0,M=0,G=0,U=0,V=0,S=0,F=0,W=0,j=0,O=0;l=r|=0,r=0,I=n=I-96|0,Ye(i=n+16|0,0,76),f[n+92>>2]=-1,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,I=a=I-16|0,f[i+68>>2]=0,f[i+72>>2]=0,f[i>>2]=t,I=s=I-16|0,c=t,e=f[t+20>>2],(f[t+24>>2]-e|0)<=0||-1!=(0|(e=f[e>>2]))&&(r=f[f[t+8>>2]+(e<<2)>>2]);e:{t:{if(r){e=f[c+100>>2],p=f[c+96>>2],f[s+8>>2]=0,f[s>>2]=0,f[s+4>>2]=0,t=(0|(h=e-p|0))/12|0;r:if(h){if(t>>>0>=357913942)break t;if(b=br(h),f[s>>2]=b,f[s+8>>2]=b+d(t,12),e=0,h=Ye(k=b,0,b=d((h-12>>>0)/12|0,12)+12|0),f[s+4>>2]=b+h,u[r+84|0]){if(b=1&(r=t>>>0>1?t:1),t>>>0>=2)for(k=-2&r;r=d(e,12),y=f[4+(t=r+p|0)>>2],v=f[t>>2],f[8+(r=r+h|0)>>2]=f[t+8>>2],f[r>>2]=v,f[r+4>>2]=y,r=d(1|e,12),y=f[8+(t=r+p|0)>>2],v=f[t+4>>2],f[(r=r+h|0)>>2]=f[t>>2],f[r+4>>2]=v,f[r+8>>2]=y,e=e+2|0,(0|k)!=(0|(A=A+2|0)););if(!b)break r;t=d(e,12),r=f[4+(e=t+p|0)>>2],A=f[e>>2],f[8+(t=t+h|0)>>2]=f[e+8>>2],f[t>>2]=A,f[t+4>>2]=r}else for(b=t>>>0>1?t:1,e=f[r+68>>2];r=d(A,12),k=f[e+(f[(t=r+p|0)>>2]<<2)>>2],y=f[e+(f[t+4>>2]<<2)>>2],f[8+(r=r+h|0)>>2]=f[e+(f[t+8>>2]<<2)>>2],f[r+4>>2]=y,f[r>>2]=k,(0|b)!=(0|(A=A+1|0)););}if(I=G=I-16|0,b=br(88),f[b>>2]=0,f[b+4>>2]=0,f[b+56>>2]=0,f[b+48>>2]=0,f[b+52>>2]=0,f[b+40>>2]=0,f[b+44>>2]=0,f[b+32>>2]=0,f[b+36>>2]=0,f[b+24>>2]=0,f[b+28>>2]=0,f[b+16>>2]=0,f[b+20>>2]=0,f[b+8>>2]=0,f[b+12>>2]=0,f[(e=b- -64|0)>>2]=0,f[e+4>>2]=0,f[b+72>>2]=0,f[b+76>>2]=0,f[b+80>>2]=0,f[b+84>>2]=0,f[b+60>>2]=b,I=D=I-16|0,f[b+80>>2]=0,f[b+84>>2]=0,e=f[b+76>>2],f[b+76>>2]=0,e&&ee(e),f[b+68>>2]=0,f[b+72>>2]=0,e=f[(t=b- -64|0)>>2],f[t>>2]=0,e&&ee(e),A=f[s>>2],t=f[s+4>>2]-A|0,e=d(y=(0|t)/12|0,3),r=f[b>>2],e>>>0>(p=f[b+4>>2]-r>>2)>>>0?(st(b,e-p|0),A=f[s>>2],y=(0|(t=f[s+4>>2]-A|0))/12|0,r=f[b>>2]):e>>>0>=p>>>0||(f[b+4>>2]=(e<<2)+r),t)for(h=y>>>0>1?y:1,e=0;t=(p=d(e,12))+r|0,p=p+A|0,f[t>>2]=f[p>>2],f[t+4>>2]=f[p+4>>2],f[t+8>>2]=f[p+8>>2],(0|h)!=(0|(e=e+1|0)););f[D+12>>2]=-1,I=p=I-48|0;r:{i:{n:{if(N=D+12|0){if(w=(t=(k=f[b+4>>2])-(v=f[b>>2])|0)>>2,r=f[b+12>>2],w>>>0>(e=f[b+16>>2]-r>>2)>>>0?(ve(b+12|0,w-e|0,10260),w=(t=(k=f[b+4>>2])-(v=f[b>>2])|0)>>2):e>>>0<=w>>>0||(f[b+16>>2]=r+(w<<2)),r=0,f[p+40>>2]=0,f[p+32>>2]=0,f[p+36>>2]=0,t){o:{if((0|t)>=0)for(r=br(t),f[p+36>>2]=r,f[p+32>>2]=r,f[p+40>>2]=(w<<2)+r,e=r,t=0;;){if((h=f[(t<<2)+v>>2])>>>0<(e=e-r>>2)>>>0||(f[p+16>>2]=0,(A=h+1|0)>>>0>e>>>0?(ve(p+32|0,A-e|0,p+16|0),v=f[b>>2],k=f[b+4>>2],r=f[p+32>>2]):e>>>0<=A>>>0||(f[p+36>>2]=(A<<2)+r)),f[(e=(h<<2)+r|0)>>2]=f[e>>2]+1,(t=t+1|0)>>>0>=(w=(e=k-v|0)>>2)>>>0)break o;e=f[p+36>>2]}break n}if(f[p+24>>2]=0,f[p+16>>2]=0,f[p+20>>2]=0,e){if(w>>>0>=536870912)break i;e=br(t=e<<1),f[p+16>>2]=e,A=e+(w<<3)|0,f[p+24>>2]=A,Ye(e,255,t),f[p+20>>2]=A}}else f[p+24>>2]=0,f[p+16>>2]=0,f[p+20>>2]=0;if(k=0,f[p+8>>2]=0,f[p>>2]=0,f[p+4>>2]=0,h=(e=f[p+36>>2]-r|0)>>2,e){if((0|e)<0)break i;if(B=br(e),f[p>>2]=B,f[p+8>>2]=(h<<2)+B,t=e,e=Ye(B,0,e),f[p+4>>2]=t+e,y=3&(A=h>>>0>1?h:1),t=0,A-1>>>0>=3)for(T=-4&A;f[(A=_<<2)+e>>2]=t,C=4|A,t=f[r+A>>2]+t|0,f[C+e>>2]=t,R=8|A,t=t+f[r+C>>2]|0,f[R+e>>2]=t,A|=12,t=t+f[r+R>>2]|0,f[A+e>>2]=t,t=t+f[r+A>>2]|0,_=_+4|0,(0|T)!=(0|(m=m+4|0)););if(y)for(;f[(A=_<<2)+e>>2]=t,_=_+1|0,t=f[r+A>>2]+t|0,(0|y)!=(0|(g=g+1|0)););}if(w)for(C=f[b+12>>2];;){t=(U=k<<2)+v|0,m=-1,-1!=(0|(e=((A=k+1|0)>>>0)%3|0?A:k-2|0))&&(m=f[(e<<2)+v>>2]),e=f[t>>2];o:{a:{if(!((k>>>0)%3|0)){if(g=-1,-1!=(0|(t=k+2|0))&&(g=f[(t<<2)+v>>2]),!((0|e)==(0|m)|(0|e)==(0|g))&(0|m)!=(0|g))break a;f[b+40>>2]=f[b+40>>2]+1,A=k+3|0;break o}g=f[t-4>>2]}a:{f:if(!((0|(R=f[(t=g<<2)+r>>2]))<=0))for(y=f[p+16>>2],t=f[t+B>>2],_=0;;){if(-1==(0|(x=f[(T=y+(t<<3)|0)>>2])))break f;if((0|m)==(0|x)&&(0|(x=-1!=(0|(T=f[T+4>>2]))?f[(T<<2)+v>>2]:-1))!=(0|e)){for(;e=t,!((0|R)<=(0|(_=_+1|0))||(x=y+(e<<3)|0,S=f[(V=y+((t=e+1|0)<<3)|0)>>2],f[x>>2]=S,f[x+4>>2]=f[V+4>>2],-1==(0|S))););if(f[y+(e<<3)>>2]=-1,-1==(0|T))break f;f[C+U>>2]=T,f[C+(T<<2)>>2]=k;break a}if(t=t+1|0,(0|R)==(0|(_=_+1|0)))break}if(!((0|(y=f[(e=m<<2)+r>>2]))<=0))for(m=f[p+16>>2],t=f[e+B>>2],_=0;;){if(-1==f[(e=m+(t<<3)|0)>>2]){f[e>>2]=g,f[e+4>>2]=k;break a}if(t=t+1|0,(0|y)==(0|(_=_+1|0)))break}}}if(!(w>>>0>(k=A)>>>0))break}f[N>>2]=h,B&&ee(B),(e=f[p+16>>2])&&(f[p+20>>2]=e,ee(e)),(e=f[p+32>>2])&&(f[p+36>>2]=e,ee(e))}if(I=p+48|0,C=0!=(0|N)){if(I=m=I-32|0,g=f[b>>2],e=f[b+4>>2],f[m+24>>2]=0,f[m+16>>2]=0,f[m+20>>2]=0,t=e-g|0){if((0|t)<0)break i;r=br((A=1+(_=(t>>=2)-1>>>5|0)|0)<<2),f[m+24>>2]=A,f[m+16>>2]=r,f[m+20>>2]=t,f[r+((t>>>0<33?0:_)<<2)>>2]=0,_=Ye(_=r,0,r=t>>>5<<2),(t&=31)&&(f[(r=r+_|0)>>2]=f[r>>2]&(-1>>>32-t^-1))}for(f[m+8>>2]=0,f[m>>2]=0;;){if(w=0,A=0,(0|e)!=(0|g)){for(;;){r=f[m+16>>2];o:if(!(f[r+(A>>>3&536870908)>>2]>>>A&1)){for(_=f[m>>2],f[m+4>>2]=_,t=f[b+12>>2],e=A;h=e,!(-1==(0|(e=((p=e+1|0)>>>0)%3|0?p:e-2|0))||-1==(0|(e=f[t+(e<<2)>>2]))||(0|A)==(0|(e=((p=e+1|0)>>>0)%3|0?p:e-2|0))|-1==(0|e)||f[(e>>>3&536870908)+r>>2]>>>e&1););t=_,y=h;a:{f:{for(;;){if(f[(e=(y>>>3&536870908)+r|0)>>2]=f[e>>2]|1<<y,p=((e=y+1|0)>>>0)%3|0?e:y-2|0,T=(v=((R=(y>>>0)%3|0)?-1:2)+y|0)<<2,(0|t)!=(0|_))if(N=f[(p<<2)+g>>2],B=f[b+12>>2],e=t,-1==(0|v))for(;;){if((0|N)==f[e>>2]&&(k=-1,v=-1,-1!=(0|(r=f[e+4>>2]))))break f;if((0|_)==(0|(e=e+8|0)))break}else for(x=B+T|0;;){if((0|N)==f[e>>2]&&(0|(r=f[e+4>>2]))!=(0|(k=f[x>>2]))){if(_=-1,e=-1,-1==(0|r))break a;break f}if((0|_)==(0|(e=e+8|0)))break}if(v=f[g+T>>2],f[m+8>>2]==(0|_)){if((e=1+(_=(r=_-t|0)>>3)|0)>>>0>=536870912)break i;if(k=r>>2,k=_>>>0<268435455?e>>>0>k>>>0?e:k:536870911){if(k>>>0>=536870912)break n;e=br(k<<3)}else e=0;f[(_=e+(_<<3)|0)>>2]=v,f[_+4>>2]=p,_=_+8|0,(0|r)>0&&ge(e,t,r),f[m+8>>2]=e+(k<<3),f[m+4>>2]=_,f[m>>2]=e,t&&ee(t)}else f[_>>2]=v,f[_+4>>2]=p,_=_+8|0,f[m+4>>2]=_;s:{if(R)e=y-1|0;else if(-1==(0|(e=y+2|0)))break s;if(-1!=(0|(e=f[f[b+12>>2]+(e<<2)>>2]))&&!((0|h)==(0|(y=e+((e>>>0)%3|0?-1:2)|0))|-1==(0|y))){g=f[b>>2],t=f[m>>2],r=f[m+16>>2];continue}}break}g=f[b>>2];break o}_=r,e=f[B+(r<<2)>>2]}-1!=(0|k)&&(f[B+(k<<2)>>2]=-1),-1!=(0|e)&&(f[f[b+12>>2]+(e<<2)>>2]=-1),e=f[b+12>>2],f[e+(v<<2)>>2]=-1,f[e+(_<<2)>>2]=-1,w=1}if(!((A=A+1|0)>>>0<(e=f[b+4>>2])-g>>2>>>0))break}if(w)continue}break}(e=f[m>>2])&&ee(e),(e=f[m+16>>2])&&ee(e),A=0,v=0,w=0,I=h=(I=m+32|0)-32|0,e=f[D+12>>2],f[b+36>>2]=e,g=b+24|0,r=f[b+24>>2];o:{if((t=f[b+28>>2]-r>>2)>>>0<e>>>0)ve(g,e-t|0,10260),f[h+24>>2]=0,f[h+16>>2]=0,f[h+20>>2]=0;else if(e>>>0<t>>>0&&(f[b+28>>2]=r+(e<<2)),f[h+24>>2]=0,f[h+16>>2]=0,f[h+20>>2]=0,!e)break o;if((0|e)<0)break i;A=br((r=1+(t=e-1>>>5|0)|0)<<2),f[h+24>>2]=r,f[h+16>>2]=A,f[h+20>>2]=e,f[((e>>>0<33?0:t)<<2)+A>>2]=0,r=Ye(A,0,t=e>>>5<<2),(_=31&e)&&(f[(t=t+r|0)>>2]=f[t>>2]&(-1>>>32-_^-1))}if(k=f[b>>2],y=f[b+4>>2],f[h+8>>2]=0,f[h>>2]=0,f[h+4>>2]=0,t=y-k|0){if((0|t)<0)break i;if(m=br((_=1+(r=(t>>=2)-1>>>5|0)|0)<<2),f[h+8>>2]=_,f[h>>2]=m,f[h+4>>2]=t,f[((t>>>0<33?0:r)<<2)+m>>2]=0,_=Ye(m,0,r=t>>>5<<2),(p=31&t)&&(f[(r=r+_|0)>>2]=f[r>>2]&(-1>>>32-p^-1)),!(t>>>0<3)){for(;;){if(T=d(v,3),t=f[(_=(T<<2)+k|0)>>2],r=-1,-1!=(0|(p=T+1|0))&&(r=f[(p<<2)+k>>2]),(0|t)!=(0|r)&&(0|(p=t))!=(0|(t=f[_+8>>2]))&&(B=0,(0|t)!=(0|r))){for(;;){if(!(f[((_=B+T|0)>>>3&536870908)+m>>2]>>>_&1)){if(y=(r=1<<(t=f[(_<<2)+k>>2]))&f[((m=t>>>5|0)<<2)+A>>2]){if((0|(r=f[b+28>>2]))==f[b+32>>2]){if((r=1+(m=(p=r-(A=f[g>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(k=p>>1,k=m>>>0<536870911?r>>>0>k>>>0?r:k:1073741823){if(k>>>0>=1073741824)break n;r=br(k<<2)}else r=0;f[(m=r+(m<<2)|0)>>2]=-1,(0|p)>0&&ge(r,A,p),f[b+32>>2]=r+(k<<2),f[b+28>>2]=m+4,f[b+24>>2]=r,A&&ee(A)}else f[r>>2]=-1,f[b+28>>2]=r+4;if((0|(r=f[b+52>>2]))==f[b+56>>2]){if((r=1+(m=(p=r-(A=f[b+48>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(k=p>>1,k=m>>>0<536870911?r>>>0>k>>>0?r:k:1073741823){if(k>>>0>=1073741824)break n;r=br(k<<2)}else r=0;f[(m=r+(m<<2)|0)>>2]=t,(0|p)>0&&ge(r,A,p),f[b+56>>2]=r+(k<<2),f[b+52>>2]=m+4,f[b+48>>2]=r,A&&ee(A)}else f[r>>2]=t,f[b+52>>2]=r+4;if((0|(r=f[h+20>>2]))==(t=f[h+24>>2])<<5){if((r+1|0)<0)break i;at(A=h+16|0,t=r>>>0<=1073741822?(t<<=6)>>>0<(r=r+32&-32)>>>0?r:t:2147483647),r=f[h+20>>2]}f[h+20>>2]=r+1,t=f[h+16>>2]+(r>>>3&536870908)|0,A=f[t>>2],j=t,O=xr(r)&A,f[j>>2]=O,r=1<<e,m=e>>>5|0,t=e,e=e+1|0}p=e,A=f[h+16>>2],f[(e=A+(m<<2)|0)>>2]=f[e>>2]|r,R=f[b+24>>2]+(t<<2)|0,N=f[b+12>>2],k=f[b>>2],m=f[h>>2],e=_;o:{a:{f:{s:{c:{u:{for(;;){if(-1==(0|e))break u;if(f[(r=(e>>>3&536870908)+m|0)>>2]=f[r>>2]|1<<e,f[R>>2]=e,y&&(f[(e<<2)+k>>2]=t),r=-1,-1!=(0|(e=((x=e+1|0)>>>0)%3|0?x:e-2|0))&&(r=-1,-1!=(0|(e=f[N+(e<<2)>>2]))&&(r=((r=e+1|0)>>>0)%3|0?r:e-2|0)),(0|_)==(0|(e=r)))break}if(-1!=(0|_))break o;e=1;break c}if((_>>>0)%3|0)e=_-1|0;else if(-1==(0|(e=_+2|0)))break s}if(-1!=(0|(e=f[N+(e<<2)>>2]))){if(!((e>>>0)%3|0))break f;e=e-1|0,k=f[b>>2],m=f[h>>2];break a}}k=f[b>>2],m=f[h>>2];break o}if(k=f[b>>2],m=f[h>>2],-1==(0|(e=e+2|0)))break o}for(r=f[b+12>>2];;){if(f[(_=(e>>>3&536870908)+m|0)>>2]=f[_>>2]|1<<e,y&&(f[(e<<2)+k>>2]=t),(e>>>0)%3|0)e=e-1|0;else if(-1==(0|(e=e+2|0)))break o;if(-1==(0|(e=f[r+(e<<2)>>2])))break o;if(-1==(0|(e=e+((e>>>0)%3|0?-1:2)|0)))break}}e=p}if(3==(0|(B=B+1|0)))break}k=f[b>>2],y=f[b+4>>2]}if(!((v=v+1|0)>>>0<(y-k>>2>>>0)/3>>>0))break}A=f[h+16>>2]}}if(f[b+44>>2]=0,e=f[h+20>>2])for(t=31&e,_=(e>>>3&536870908)+A|0,e=0,r=A;f[r>>2]>>>e&1||(w=w+1|0,f[b+44>>2]=w),(0|_)!=(0|(r=((p=31==(0|e))<<2)+r|0))|(0|(e=p?0:e+1|0))!=(0|t););(e=f[h>>2])&&(ee(e),A=f[h+16>>2]),A&&ee(A),I=h+32|0}I=D+16|0,C||(f[G+8>>2]=0,Mt(b),b=0),I=G+16|0,e=b;break r}Lt(1326),E()}ii(),E()}(t=f[s>>2])&&(f[s+4>>2]=t,ee(t))}else e=0;I=s+16|0;break e}ii(),E()}if(t=f[i+4>>2],f[i+4>>2]=e,t&&(Mt(t),e=f[i+4>>2]),e)if(e=f[c+100>>2],t=f[c+96>>2],o[a+12|0]=0,Je(i+56|0,(e-t|0)/12|0,a+12|0),(0|(e=f[c+100>>2]))!=(0|(t=f[c+96>>2])))for(;;){if(!(f[f[i+56>>2]+(M>>>3&536870908)>>2]>>>M&1)){if(ne(i,0,e=d(M,3)),t=f[i+8>>2],r=f[i+12>>2],ne(i,1,e+1|0),_=f[i+20>>2],A=f[i+24>>2],ne(i,2,e+2|0),e=(_=A-_>>2)>>>0>(r=(t=r-t|0)>>2)>>>0,r=f[i+36>>2]-f[i+32>>2]>>2>>>0>(e?_:r)>>>0?2:e?1:t?0:-1,f[i+68>>2]<=0||(f[a+12>>2]=f[i+76>>2],f[a+8>>2]=n,ut(a+8|0,a+12|0),(0|(e=f[44+((r<<2)+i|0)>>2]))<0?e=-1:(t=(e>>>0)/3|0,e=f[(f[f[i>>2]+96>>2]+d(t,12)|0)+(e-d(t,3)<<2)>>2]),f[a+12>>2]=e,f[a+8>>2]=n,ut(a+8|0,a+12|0),t=f[i+72>>2],f[i+72>>2]=t+2,1&t&&(f[a+12>>2]=e,f[a+8>>2]=n,ut(a+8|0,a+12|0),f[i+72>>2]=f[i+72>>2]+1)),I=t=I-16|0,f[i+68>>2]=f[i+68>>2]+1,e=d(r,12)+i|0,!((0|(_=f[e+12>>2]-f[e+8>>2]|0))<=0)){e=-1,A=((r=f[44+((r<<2)+i|0)>>2])>>>0)/3|0,p=(h=-1==(0|r))?-1:A,b=f[i+56>>2]+(p>>>3&536870908)|0,f[b>>2]=f[b>>2]|1<<p,f[i+72>>2]=f[i+72>>2]+1,f[t+12>>2]=(0|r)>=0?f[(f[f[i>>2]+96>>2]+d(A,12)|0)+((r>>>0)%3<<2)>>2]:-1,f[t+8>>2]=n,ut(t+8|0,t+12|0);e:if(h)f[t+12>>2]=-1,f[t+8>>2]=n,ut(t+8|0,t+12|0);else{if((0|(p=((p=r+1|0)>>>0)%3|0?p:r-2|0))>=0?(h=(p>>>0)/3|0,b=f[(f[f[i>>2]+96>>2]+d(h,12)|0)+(p-d(h,3)<<2)>>2]):b=-1,f[t+12>>2]=b,f[t+8>>2]=n,ut(t+8|0,t+12|0),(0|(A=r+(r-d(A,3)|0?-1:2)|0))<0)break e;e=(A>>>0)/3|0,e=f[(f[f[i>>2]+96>>2]+d(e,12)|0)+(A-d(e,3)<<2)>>2]}if(f[i+76>>2]=e,f[t+12>>2]=e,f[t+8>>2]=n,e=-1,ut(t+8|0,t+12|0),e=-1!=(0|r)?f[f[f[i+4>>2]+12>>2]+(r<<2)>>2]:e,!(_>>>0<=7))for(h=(r=_>>>2|0)>>>0>1?r:1,r=1;;){_=e,p=(e>>>0)/3|0,e=-1==(0|e)?-1:p,A=f[i+56>>2]+(e>>>3&536870908)|0,f[A>>2]=f[A>>2]|1<<e,f[i+72>>2]=f[i+72>>2]+1,e=-1,e=(0|_)>=0?f[(f[f[i>>2]+96>>2]+d(p,12)|0)+((_>>>0)%3<<2)>>2]:e,f[i+76>>2]=e,f[t+12>>2]=e,f[t+8>>2]=n,ut(t+8|0,t+12|0);e:{t:{if(1&r){if(A=-1,-1==(0|_))break e;if((0|_)!=(0|d(p,3))){e=_-1|0;break t}e=_+2|0}else{if(A=-1,-1==(0|_))break e;e=((e=_+1|0)>>>0)%3|0?e:_-2|0}if(A=-1,-1==(0|e))break e}A=f[f[f[i+4>>2]+12>>2]+(e<<2)>>2]}if(e=A,(0|h)==(0|(r=r+1|0)))break}}I=t+16|0,t=f[c+96>>2],e=f[c+100>>2]}if(F=1,!((M=M+1|0)>>>0<(e-t|0)/12>>>0))break}else F=1;return I=a+16|0,F?((e=f[l>>2])&&(f[l+4>>2]=e,ee(e)),f[l>>2]=f[n>>2],f[l+4>>2]=f[n+4>>2],f[l+8>>2]=f[n+8>>2],W=f[n+84>>2]):(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),(e=f[n+72>>2])&&ee(e),(e=f[n+48>>2])&&(f[n+52>>2]=e,ee(e)),(e=f[n+36>>2])&&(f[n+40>>2]=e,ee(e)),(e=f[n+24>>2])&&(f[n+28>>2]=e,ee(e)),e=f[n+20>>2],f[n+20>>2]=0,e&&Mt(e),I=n+96|0,0|W},Wa:function(e,t,r,i){e|=0,r|=0,i|=0;var n=0,o=0,s=0;if(!(b[80+(t|=0)>>2]>65535||(o=f[t+96>>2],t=f[t+100>>2]-o|0,s=(0|(n=d(e=(0|t)/12|0,6)))==(0|r),!t|(0|r)!=(0|n))))for(s=1,n=e>>>0>1?e:1,e=0;t=d(e,6)+i|0,r=d(e,12)+o|0,a[t>>1]=f[r>>2],a[t+2>>1]=f[r+4>>2],a[t+4>>1]=f[r+8>>2],(0|n)!=(0|(e=e+1|0)););return 0|s},Xa:function(e,t,r,i){e|=0,r|=0,i|=0;var n,o=0,a=0,s=0;if(n=f[96+(t|=0)>>2],!((0|(t=f[t+100>>2]-n|0))!=(0|r)|!t))for(s=(e=(0|r)/12|0)>>>0>1?e:1,e=0;a=(o=d(e,12))+i|0,o=o+n|0,f[a>>2]=f[o>>2],f[a+4>>2]=f[o+4>>2],f[a+8>>2]=f[o+8>>2],(0|s)!=(0|(e=e+1|0)););return(0|t)==(0|r)|0},Ya:function(e,t,r,i){e|=0,r|=0,i|=0;var n=0,a=0,s=0;I=e=I-32|0,n=o[24+(t|=0)|0],a=f[2563],f[e+24>>2]=f[2562],f[e+28>>2]=a,a=f[2561],f[e+16>>2]=f[2560],f[e+20>>2]=a;e:{t:{if(r=V(t,r,n,e+16|0)){if(f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,t=0,n){if((0|n)<0)break t;s=ge(t=br(n<<=2),e+16|0,n)+n|0}(n=f[i>>2])&&(f[i+4>>2]=n,ee(n)),f[i+8>>2]=s,f[i+4>>2]=s,f[i>>2]=t}I=e+32|0;break e}ii(),E()}return 0|r},Za:function(e,t,r,i){e|=0,r|=0,i|=0;var n,a,s=0,c=0,l=0,b=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0;e=0,I=n=I-16|0,a=f[80+(t|=0)>>2],s=o[r+24|0],f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0;e:{t:{if(s){if((0|s)<0)break t;if(e=br(t=s<<2),f[n>>2]=e,l=e+t|0,f[n+8>>2]=l,_=1+((b=t-4|0)>>>2|0)&7)for(t=e;f[t>>2]=-1073741824,t=t+4|0,(0|_)!=(0|(c=c+1|0)););else t=e;if(b>>>0>=28)for(;f[t+24>>2]=-1073741824,f[t+28>>2]=-1073741824,f[t+16>>2]=-1073741824,f[t+20>>2]=-1073741824,f[t+8>>2]=-1073741824,f[t+12>>2]=-1073741824,f[t>>2]=-1073741824,f[t+4>>2]=-1073741824,(0|l)!=(0|(t=t+32|0)););f[n+4>>2]=l}t=d(s,a),l=f[i>>2],t>>>0>(c=f[i+4>>2]-l>>2)>>>0?st(i,t-c|0):t>>>0>=c>>>0||(f[i+4>>2]=l+(t<<2));r:if(a)if(p=1,(0|s)<=0)for(t=0;;){if(!V(r,u[r+84|0]?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],e))break r;if(p=a>>>0>(t=t+1|0)>>>0,(0|t)==(0|a))break}else{for(y=-4&s,_=3&s,c=0,v=s-1>>>0<3;;){if(V(r,u[r+84|0]?h:f[f[r+68>>2]+(h<<2)>>2],o[r+24|0],e)){if(m=f[i>>2],k=0,s=f[n>>2],t=0,p=0,!v)for(;b=t<<2,A[(l=m+(c<<2)|0)>>2]=A[b+s>>2],A[l+4>>2]=A[(4|b)+s>>2],A[l+8>>2]=A[(8|b)+s>>2],A[l+12>>2]=A[(12|b)+s>>2],t=t+4|0,c=c+4|0,(0|y)!=(0|(p=p+4|0)););if(_)for(;A[m+(c<<2)>>2]=A[(t<<2)+s>>2],t=t+1|0,c=c+1|0,(0|_)!=(0|(k=k+1|0)););if(p=(h=h+1|0)>>>0<a>>>0,(0|a)!=(0|h))continue}break}e=f[n>>2]}e&&ee(e),I=n+16|0,e=1&(-1^p);break e}ii(),E()}return 0|e},_a:_e,$a:function(e,t,r,i){e|=0,r|=0,i|=0;var n,a,s,c=0,l=0,b=0,A=0,p=0,_=0,h=0;I=n=I-16|0,a=f[80+(t|=0)>>2],s=u[r+24|0],c=d(a,t=s<<24>>24);e:{t:{r:{if(!(1==(0|(e=f[r+28>>2]))|2==(0|e))|!u[r+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,t){if((0|t)<0)break r;l=br(t),f[n>>2]=l,e=t+l|0,f[n+8>>2]=e,Ye(l,0,t),f[n+4>>2]=e}i:if((p=(e=f[i+4>>2])-(A=f[i>>2])|0)>>>0<c>>>0){if((_=c-p|0)>>>0<=(h=f[i+8>>2])-e>>>0){_&&(e=Ye(e,0,_)+_|0),f[i+4>>2]=e;break i}if((0|c)<0)break t;if(h=(e=h-A|0)<<1,(e=e>>>0<1073741823?c>>>0>h>>>0?c:h:2147483647)&&(b=br(e)),Ye(b+p|0,0,_),(0|p)>0&&ge(b,A,p),f[i+8>>2]=e+b,f[i+4>>2]=c+b,f[i>>2]=b,!A)break i;ee(A)}else c>>>0>=p>>>0||(f[i+4>>2]=c+A);i:if(a)if(t){for(A=-2&(e=t-1|0),p=1&e,e=0,t=1,b=0;;){if(c=f[n>>2],W(r,u[r+84|0]?b:f[f[r+68>>2]+(b<<2)>>2],o[r+24|0],c)){o[f[i>>2]+e|0]=u[0|c],t=1,e=e+1|0,l=0;n:{o:switch(s-1|0){default:for(;o[f[i>>2]+e|0]=u[f[n>>2]+t|0],o[1+(f[i>>2]+e|0)|0]=u[1+(f[n>>2]+t|0)|0],t=t+2|0,e=e+2|0,(0|A)!=(0|(l=l+2|0)););break;case 0:break n;case 1:}p&&(o[f[i>>2]+e|0]=u[f[n>>2]+t|0],e=e+1|0)}if(t=a>>>0>(b=b+1|0)>>>0,(0|b)!=(0|a))continue}break}l=f[n>>2]}else for(e=0,t=1;;){if(!W(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],l))break i;if(t=a>>>0>(e=e+1|0)>>>0,(0|e)==(0|a))break}else t=0;l&&ee(l),e=!t}else{if(e=f[r+48>>2],r=f[f[r>>2]>>2],t=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,c){if((0|c)<0)break r;t=ge(l=br(c),e+r|0,c)+c|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=t,f[i+4>>2]=t,f[i>>2]=l,e=1}I=n+16|0,e&=1;break e}ii(),E()}ii(),E()}return 0|e},ab:function(e,t,r,i){e|=0,r|=0,i|=0;var n,a,s,c=0,l=0,b=0,A=0,p=0,_=0,h=0;I=n=I-16|0,a=f[80+(t|=0)>>2],s=u[r+24|0],c=d(a,t=s<<24>>24);e:{t:{r:{if(!(1==(0|(e=f[r+28>>2]))|2==(0|e))|!u[r+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,t){if((0|t)<0)break r;l=br(t),f[n>>2]=l,e=t+l|0,f[n+8>>2]=e,Ye(l,0,t),f[n+4>>2]=e}i:if((p=(e=f[i+4>>2])-(A=f[i>>2])|0)>>>0<c>>>0){if((_=c-p|0)>>>0<=(h=f[i+8>>2])-e>>>0){_&&(e=Ye(e,0,_)+_|0),f[i+4>>2]=e;break i}if((0|c)<0)break t;if(h=(e=h-A|0)<<1,(e=e>>>0<1073741823?c>>>0>h>>>0?c:h:2147483647)&&(b=br(e)),Ye(b+p|0,0,_),(0|p)>0&&ge(b,A,p),f[i+8>>2]=e+b,f[i+4>>2]=c+b,f[i>>2]=b,!A)break i;ee(A)}else c>>>0>=p>>>0||(f[i+4>>2]=c+A);i:if(a)if(t){for(A=-2&(e=t-1|0),p=1&e,e=0,t=1,b=0;;){if(c=f[n>>2],j(r,u[r+84|0]?b:f[f[r+68>>2]+(b<<2)>>2],o[r+24|0],c)){o[f[i>>2]+e|0]=u[0|c],t=1,e=e+1|0,l=0;n:{o:switch(s-1|0){default:for(;o[f[i>>2]+e|0]=u[f[n>>2]+t|0],o[1+(f[i>>2]+e|0)|0]=u[1+(f[n>>2]+t|0)|0],t=t+2|0,e=e+2|0,(0|A)!=(0|(l=l+2|0)););break;case 0:break n;case 1:}p&&(o[f[i>>2]+e|0]=u[f[n>>2]+t|0],e=e+1|0)}if(t=a>>>0>(b=b+1|0)>>>0,(0|b)!=(0|a))continue}break}l=f[n>>2]}else for(e=0,t=1;;){if(!j(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],l))break i;if(t=a>>>0>(e=e+1|0)>>>0,(0|e)==(0|a))break}else t=0;l&&ee(l),e=!t}else{if(e=f[r+48>>2],r=f[f[r>>2]>>2],t=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,c){if((0|c)<0)break r;t=ge(l=br(c),e+r|0,c)+c|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=t,f[i+4>>2]=t,f[i>>2]=l,e=1}I=n+16|0,e&=1;break e}ii(),E()}ii(),E()}return 0|e},bb:function(e,t,r,i){e|=0,r|=0,i|=0;var n,s=0,c=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;I=n=I-16|0,A=f[80+(t|=0)>>2],e=o[r+24|0],s=d(A,e);e:{t:{if(!(3==(0|(t=f[r+28>>2]))|4==(0|t))|!u[r+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,e){if((0|e)<0)break t;b=br(t=e<<1),f[n>>2]=b,c=t+b|0,f[n+8>>2]=c,Ye(b,0,t),f[n+4>>2]=c}c=f[i>>2],(t=f[i+4>>2]-c>>1)>>>0<s>>>0?bt(i,s-t|0):t>>>0<=s>>>0||(f[i+4>>2]=c+(s<<1));r:if(A)if(e){for(v=-4&e,m=3&e,g=e-1>>>0<3,t=1,s=0;;){if(z(r,u[r+84|0]?s:f[f[r+68>>2]+(s<<2)>>2],o[r+24|0],b)){if(y=f[i>>2],k=0,c=f[n>>2],e=0,t=0,!g)for(;h=e<<1,a[(_=(p<<1)+y|0)>>1]=l[c+h>>1],a[_+2>>1]=l[c+(2|h)>>1],a[_+4>>1]=l[c+(4|h)>>1],a[_+6>>1]=l[c+(6|h)>>1],e=e+4|0,p=p+4|0,(0|v)!=(0|(t=t+4|0)););if(m)for(;a[(p<<1)+y>>1]=l[c+(e<<1)>>1],e=e+1|0,p=p+1|0,(0|(k=k+1|0))!=(0|m););if(t=A>>>0>(s=s+1|0)>>>0,(0|s)!=(0|A))continue}break}b=f[n>>2]}else for(e=0,t=1;;){if(!z(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],b))break r;if(t=A>>>0>(e=e+1|0)>>>0,(0|e)==(0|A))break}else t=0;b&&ee(b),e=1^t}else{if(b=f[r+48>>2],A=f[f[r>>2]>>2],t=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,r=0,e=s<<1){if((0|e)<0)break t;p=(t=ge(r=br(e),b+A|0,e))+e|0,t=t+(e>>1<<1)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=t,f[i+4>>2]=p,f[i>>2]=r,e=1}I=n+16|0,e&=1;break e}ii(),E()}return 0|e},cb:function(e,t,r,i){e|=0,r|=0,i|=0;var n,s=0,c=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;I=n=I-16|0,A=f[80+(t|=0)>>2],e=o[r+24|0],s=d(A,e);e:{t:{if(!(3==(0|(t=f[r+28>>2]))|4==(0|t))|!u[r+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,e){if((0|e)<0)break t;b=br(t=e<<1),f[n>>2]=b,c=t+b|0,f[n+8>>2]=c,Ye(b,0,t),f[n+4>>2]=c}c=f[i>>2],(t=f[i+4>>2]-c>>1)>>>0<s>>>0?bt(i,s-t|0):t>>>0<=s>>>0||(f[i+4>>2]=c+(s<<1));r:if(A)if(e){for(v=-4&e,m=3&e,g=e-1>>>0<3,t=1,s=0;;){if(J(r,u[r+84|0]?s:f[f[r+68>>2]+(s<<2)>>2],o[r+24|0],b)){if(y=f[i>>2],k=0,c=f[n>>2],e=0,t=0,!g)for(;h=e<<1,a[(_=(p<<1)+y|0)>>1]=l[c+h>>1],a[_+2>>1]=l[c+(2|h)>>1],a[_+4>>1]=l[c+(4|h)>>1],a[_+6>>1]=l[c+(6|h)>>1],e=e+4|0,p=p+4|0,(0|v)!=(0|(t=t+4|0)););if(m)for(;a[(p<<1)+y>>1]=l[c+(e<<1)>>1],e=e+1|0,p=p+1|0,(0|(k=k+1|0))!=(0|m););if(t=A>>>0>(s=s+1|0)>>>0,(0|s)!=(0|A))continue}break}b=f[n>>2]}else for(e=0,t=1;;){if(!J(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],b))break r;if(t=A>>>0>(e=e+1|0)>>>0,(0|e)==(0|A))break}else t=0;b&&ee(b),e=1^t}else{if(b=f[r+48>>2],A=f[f[r>>2]>>2],t=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,r=0,e=s<<1){if((0|e)<0)break t;p=(t=ge(r=br(e),b+A|0,e))+e|0,t=t+(e>>1<<1)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=t,f[i+4>>2]=p,f[i>>2]=r,e=1}I=n+16|0,e&=1;break e}ii(),E()}return 0|e},db:_e,eb:function(e,t,r,i){e|=0,r|=0,i|=0;var n,a=0,s=0,c=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0;I=n=I-16|0,l=f[80+(t|=0)>>2],e=o[r+24|0],a=d(l,e);e:{t:{if(!(5==(0|(t=f[r+28>>2]))|6==(0|t))|!u[r+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,e){if((0|e)<0)break t;c=br(t=e<<2),f[n>>2]=c,s=t+c|0,f[n+8>>2]=s,Ye(c,0,t),f[n+4>>2]=s}s=f[i>>2],(t=f[i+4>>2]-s>>2)>>>0<a>>>0?st(i,a-t|0):t>>>0<=a>>>0||(f[i+4>>2]=s+(a<<2));r:if(l)if(e){for(m=-4&e,h=3&e,y=e-1>>>0<3,t=1,a=0;;){if(X(r,u[r+84|0]?a:f[f[r+68>>2]+(a<<2)>>2],o[r+24|0],c)){if(k=f[i>>2],_=0,s=f[n>>2],e=0,t=0,!y)for(;p=e<<2,f[(A=(b<<2)+k|0)>>2]=f[s+p>>2],f[A+4>>2]=f[s+(4|p)>>2],f[A+8>>2]=f[s+(8|p)>>2],f[A+12>>2]=f[s+(12|p)>>2],e=e+4|0,b=b+4|0,(0|m)!=(0|(t=t+4|0)););if(h)for(;f[(b<<2)+k>>2]=f[s+(e<<2)>>2],e=e+1|0,b=b+1|0,(0|(_=_+1|0))!=(0|h););if(t=l>>>0>(a=a+1|0)>>>0,(0|a)!=(0|l))continue}break}c=f[n>>2]}else for(e=0,t=1;;){if(!X(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],c))break r;if(t=l>>>0>(e=e+1|0)>>>0,(0|e)==(0|l))break}else t=0;c&&ee(c),e=1^t}else{if(c=f[r+48>>2],l=f[f[r>>2]>>2],t=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,r=0,e=a<<2){if((0|e)<0)break t;b=(t=ge(r=br(e),c+l|0,e))+e|0,t=t+(e>>2<<2)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=t,f[i+4>>2]=b,f[i>>2]=r,e=1}I=n+16|0,e&=1;break e}ii(),E()}return 0|e},fb:function(e,t,r,i,n,s){e|=0,t|=0,r|=0,n|=0,s|=0;var c=0,b=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,x=0,R=0,N=0,C=0;e:{t:{r:{i:{n:switch((i|=0)-1|0){case 0:e=0,I=k=I-16|0,_=f[t+80>>2],c=o[r+24|0];o:if((0|d(_,c))==(0|n))if((t=1!=f[r+28>>2])|!(e=u[r+84|0])){if(i=0,f[k+8>>2]=0,f[k>>2]=0,f[k+4>>2]=0,c){if((0|c)<0)break i;b=br(c),f[k>>2]=b,Ye(b,0,c)}a:{f:if(_){if(t){if(!c)for(t=0,i=1;;){if(!W(r,255&e?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],b))break f;if(i=_>>>0>(t=t+1|0)>>>0,(0|t)==(0|_))break f;e=u[r+84|0]}for(p=-4&c,h=3&c,t=0,v=c-1>>>0<3,i=1,n=0;;){if(!W(r,255&e?n:f[f[r+68>>2]+(n<<2)>>2],o[r+24|0],b))break f;if(i=0,e=0,m=0,!v)for(;o[0|(c=t+s|0)]=u[e+b|0],o[c+1|0]=u[(1|e)+b|0],o[c+2|0]=u[(2|e)+b|0],o[c+3|0]=u[(3|e)+b|0],e=e+4|0,t=t+4|0,(0|p)!=(0|(m=m+4|0)););if(h)for(;o[t+s|0]=u[e+b|0],e=e+1|0,t=t+1|0,(0|h)!=(0|(i=i+1|0)););if((0|_)==(0|(n=n+1|0)))break;i=n>>>0<_>>>0,e=u[r+84|0]}e=n>>>0>=_>>>0;break a}if(c)for(v=-4&c,h=3&c,t=0,B=c-1>>>0<3;;){if(n=f[f[r>>2]>>2],w=f[r+40>>2],n=ge(b,n+(e=f[r+48>>2]+Jt(w,f[r+44>>2],255&e?i:f[f[r+68>>2]+(i<<2)>>2],0)|0)|0,w),m=0,e=0,p=0,!B)for(;o[0|(c=t+s|0)]=u[e+n|0],o[c+1|0]=u[n+(1|e)|0],o[c+2|0]=u[n+(2|e)|0],o[c+3|0]=u[n+(3|e)|0],e=e+4|0,t=t+4|0,(0|v)!=(0|(p=p+4|0)););if(h)for(;o[t+s|0]=u[e+n|0],e=e+1|0,t=t+1|0,(0|h)!=(0|(m=m+1|0)););if(e=1,(0|_)==(0|(i=i+1|0)))break a;e=u[r+84|0]}if(m=f[r>>2],n=f[r+48>>2],B=f[r+68>>2],s=f[r+44>>2],w=r=f[r+40>>2],t=0,1!=(0|_))for(g=-2&_,T=255&e;c=1|t,h=ge(b,(y=f[m>>2])+(h=Jt(r,s,T?t:f[B+(t<<2)>>2],0)+n|0)|0,w),y=f[m>>2],T||(c=f[B+(c<<2)>>2]),ge(h,(c=Jt(r,s,c,0)+n|0)+y|0,w),t=t+2|0,(0|g)!=(0|(p=p+2|0)););if(!(1&_))break f;c=f[m>>2],255&e||(t=f[B+(t<<2)>>2]),ge(b,(e=Jt(r,s,t,0)+n|0)+c|0,w)}if(e=1^i,!b)break o}ee(b)}else ge(s,f[f[r>>2]>>2]+f[r+48>>2]|0,n),e=1;break r;case 2:e=0,I=m=I-16|0,c=(i=o[r+24|0])<<1,_=f[t+80>>2];o:if((0|d(c,_))==(0|n))if((t=3!=f[r+28>>2])|!(e=u[r+84|0])){if(f[m+8>>2]=0,f[m>>2]=0,f[m+4>>2]=0,i){if((0|i)<0)break i;b=br(c),f[m>>2]=b,Ye(b,0,c)}a:{f:if(_){if(t){if(!i)for(t=0,p=1;;){if(!z(r,255&e?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],b))break f;if(p=_>>>0>(t=t+1|0)>>>0,(0|t)==(0|_))break f;e=u[r+84|0]}for(v=-4&i,k=3&i,t=0,B=i-1>>>0<3,p=1,i=0;;){if(!z(r,255&e?i:f[f[r+68>>2]+(i<<2)>>2],o[r+24|0],b))break f;if(p=0,e=0,n=0,!B)for(;h=e<<1,a[(c=(t<<1)+s|0)>>1]=l[h+b>>1],a[c+2>>1]=l[(2|h)+b>>1],a[c+4>>1]=l[(4|h)+b>>1],a[c+6>>1]=l[(6|h)+b>>1],e=e+4|0,t=t+4|0,(0|v)!=(0|(n=n+4|0)););if(k)for(;a[(t<<1)+s>>1]=l[(e<<1)+b>>1],e=e+1|0,t=t+1|0,(0|k)!=(0|(p=p+1|0)););if((0|_)==(0|(i=i+1|0)))break;p=i>>>0<_>>>0,e=u[r+84|0]}e=i>>>0>=_>>>0;break a}if(v=f[r>>2],c=f[r+48>>2],w=f[r+68>>2],h=f[r+44>>2],T=k=f[r+40>>2],i){for(R=-4&i,x=3&i,t=0,N=255&e,C=i-1>>>0<3,i=0;;){if(p=ge(b,(r=f[v>>2])+(e=Jt(k,h,N?i:f[w+(i<<2)>>2],0)+c|0)|0,T),n=0,e=0,r=0,!C)for(;y=e<<1,a[(g=(t<<1)+s|0)>>1]=l[y+p>>1],a[g+2>>1]=l[p+(2|y)>>1],a[g+4>>1]=l[p+(4|y)>>1],a[g+6>>1]=l[p+(6|y)>>1],e=e+4|0,t=t+4|0,(0|R)!=(0|(r=r+4|0)););if(x)for(;a[(t<<1)+s>>1]=l[p+(e<<1)>>1],e=e+1|0,t=t+1|0,(0|x)!=(0|(n=n+1|0)););if(e=1,(0|_)==(0|(i=i+1|0)))break}break a}if(t=0,1!=(0|_))for(g=-2&_,s=255&e,i=0;r=1|t,n=ge(b,(y=f[v>>2])+(n=Jt(k,h,s?t:f[w+(t<<2)>>2],0)+c|0)|0,T),y=f[v>>2],s||(r=f[w+(r<<2)>>2]),ge(n,(r=Jt(k,h,r,0)+c|0)+y|0,T),t=t+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&_))break f;r=f[v>>2],255&e||(t=f[w+(t<<2)>>2]),ge(b,(e=Jt(k,h,t,0)+c|0)+r|0,T)}if(e=1^p,!b)break o}ee(b)}else ge(s,f[f[r>>2]>>2]+f[r+48>>2]|0,n),e=1;break t;case 4:e=0,I=m=I-16|0,c=(i=o[r+24|0])<<2,_=f[t+80>>2];o:if((0|d(c,_))==(0|n))if((t=5!=f[r+28>>2])|!(e=u[r+84|0])){if(f[m+8>>2]=0,f[m>>2]=0,f[m+4>>2]=0,i){if((0|i)<0)break i;b=br(c),f[m>>2]=b,Ye(b,0,c)}a:{f:if(_){if(t){if(!i)for(t=0,p=1;;){if(!L(r,255&e?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],b))break f;if(p=_>>>0>(t=t+1|0)>>>0,(0|t)==(0|_))break f;e=u[r+84|0]}for(v=-4&i,k=3&i,t=0,B=i-1>>>0<3,p=1,i=0;;){if(!L(r,255&e?i:f[f[r+68>>2]+(i<<2)>>2],o[r+24|0],b))break f;if(p=0,e=0,n=0,!B)for(;h=e<<2,f[(c=(t<<2)+s|0)>>2]=f[h+b>>2],f[c+4>>2]=f[(4|h)+b>>2],f[c+8>>2]=f[(8|h)+b>>2],f[c+12>>2]=f[(12|h)+b>>2],e=e+4|0,t=t+4|0,(0|v)!=(0|(n=n+4|0)););if(k)for(;f[(t<<2)+s>>2]=f[(e<<2)+b>>2],e=e+1|0,t=t+1|0,(0|k)!=(0|(p=p+1|0)););if((0|_)==(0|(i=i+1|0)))break;p=i>>>0<_>>>0,e=u[r+84|0]}e=i>>>0>=_>>>0;break a}if(v=f[r>>2],c=f[r+48>>2],w=f[r+68>>2],h=f[r+44>>2],T=k=f[r+40>>2],i){for(R=-4&i,x=3&i,t=0,N=255&e,C=i-1>>>0<3,i=0;;){if(p=ge(b,(r=f[v>>2])+(e=Jt(k,h,N?i:f[w+(i<<2)>>2],0)+c|0)|0,T),n=0,e=0,r=0,!C)for(;y=e<<2,f[(g=(t<<2)+s|0)>>2]=f[y+p>>2],f[g+4>>2]=f[p+(4|y)>>2],f[g+8>>2]=f[p+(8|y)>>2],f[g+12>>2]=f[p+(12|y)>>2],e=e+4|0,t=t+4|0,(0|R)!=(0|(r=r+4|0)););if(x)for(;f[(t<<2)+s>>2]=f[p+(e<<2)>>2],e=e+1|0,t=t+1|0,(0|x)!=(0|(n=n+1|0)););if(e=1,(0|_)==(0|(i=i+1|0)))break}break a}if(t=0,1!=(0|_))for(g=-2&_,s=255&e,i=0;r=1|t,n=ge(b,(y=f[v>>2])+(n=Jt(k,h,s?t:f[w+(t<<2)>>2],0)+c|0)|0,T),y=f[v>>2],s||(r=f[w+(r<<2)>>2]),ge(n,(r=Jt(k,h,r,0)+c|0)+y|0,T),t=t+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&_))break f;r=f[v>>2],255&e||(t=f[w+(t<<2)>>2]),ge(b,(e=Jt(k,h,t,0)+c|0)+r|0,T)}if(e=1^p,!b)break o}ee(b)}else ge(s,f[f[r>>2]>>2]+f[r+48>>2]|0,n),e=1;break t;case 1:e=0,I=k=I-16|0,_=f[t+80>>2],c=o[r+24|0];o:if((0|d(_,c))==(0|n))if((t=2!=f[r+28>>2])|!(e=u[r+84|0])){if(i=0,f[k+8>>2]=0,f[k>>2]=0,f[k+4>>2]=0,c){if((0|c)<0)break i;b=br(c),f[k>>2]=b,Ye(b,0,c)}a:{f:if(_){if(t){if(!c)for(t=0,i=1;;){if(!j(r,255&e?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],b))break f;if(i=_>>>0>(t=t+1|0)>>>0,(0|t)==(0|_))break f;e=u[r+84|0]}for(p=-4&c,h=3&c,t=0,v=c-1>>>0<3,i=1,n=0;;){if(!j(r,255&e?n:f[f[r+68>>2]+(n<<2)>>2],o[r+24|0],b))break f;if(i=0,e=0,m=0,!v)for(;o[0|(c=t+s|0)]=u[e+b|0],o[c+1|0]=u[(1|e)+b|0],o[c+2|0]=u[(2|e)+b|0],o[c+3|0]=u[(3|e)+b|0],e=e+4|0,t=t+4|0,(0|p)!=(0|(m=m+4|0)););if(h)for(;o[t+s|0]=u[e+b|0],e=e+1|0,t=t+1|0,(0|h)!=(0|(i=i+1|0)););if((0|_)==(0|(n=n+1|0)))break;i=n>>>0<_>>>0,e=u[r+84|0]}e=n>>>0>=_>>>0;break a}if(c)for(v=-4&c,h=3&c,t=0,B=c-1>>>0<3;;){if(n=f[f[r>>2]>>2],w=f[r+40>>2],n=ge(b,n+(e=f[r+48>>2]+Jt(w,f[r+44>>2],255&e?i:f[f[r+68>>2]+(i<<2)>>2],0)|0)|0,w),m=0,e=0,p=0,!B)for(;o[0|(c=t+s|0)]=u[e+n|0],o[c+1|0]=u[n+(1|e)|0],o[c+2|0]=u[n+(2|e)|0],o[c+3|0]=u[n+(3|e)|0],e=e+4|0,t=t+4|0,(0|v)!=(0|(p=p+4|0)););if(h)for(;o[t+s|0]=u[e+n|0],e=e+1|0,t=t+1|0,(0|h)!=(0|(m=m+1|0)););if(e=1,(0|_)==(0|(i=i+1|0)))break a;e=u[r+84|0]}if(m=f[r>>2],n=f[r+48>>2],B=f[r+68>>2],s=f[r+44>>2],w=r=f[r+40>>2],t=0,1!=(0|_))for(g=-2&_,T=255&e;c=1|t,h=ge(b,(y=f[m>>2])+(h=Jt(r,s,T?t:f[B+(t<<2)>>2],0)+n|0)|0,w),y=f[m>>2],T||(c=f[B+(c<<2)>>2]),ge(h,(c=Jt(r,s,c,0)+n|0)+y|0,w),t=t+2|0,(0|g)!=(0|(p=p+2|0)););if(!(1&_))break f;c=f[m>>2],255&e||(t=f[B+(t<<2)>>2]),ge(b,(e=Jt(r,s,t,0)+n|0)+c|0,w)}if(e=1^i,!b)break o}ee(b)}else ge(s,f[f[r>>2]>>2]+f[r+48>>2]|0,n),e=1;break r;case 3:e=0,I=m=I-16|0,c=(i=o[r+24|0])<<1,_=f[t+80>>2];o:if((0|d(c,_))==(0|n))if((t=4!=f[r+28>>2])|!(e=u[r+84|0])){if(f[m+8>>2]=0,f[m>>2]=0,f[m+4>>2]=0,i){if((0|i)<0)break i;b=br(c),f[m>>2]=b,Ye(b,0,c)}a:{f:if(_){if(t){if(!i)for(t=0,p=1;;){if(!J(r,255&e?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],b))break f;if(p=_>>>0>(t=t+1|0)>>>0,(0|t)==(0|_))break f;e=u[r+84|0]}for(v=-4&i,k=3&i,t=0,B=i-1>>>0<3,p=1,i=0;;){if(!J(r,255&e?i:f[f[r+68>>2]+(i<<2)>>2],o[r+24|0],b))break f;if(p=0,e=0,n=0,!B)for(;h=e<<1,a[(c=(t<<1)+s|0)>>1]=l[h+b>>1],a[c+2>>1]=l[(2|h)+b>>1],a[c+4>>1]=l[(4|h)+b>>1],a[c+6>>1]=l[(6|h)+b>>1],e=e+4|0,t=t+4|0,(0|v)!=(0|(n=n+4|0)););if(k)for(;a[(t<<1)+s>>1]=l[(e<<1)+b>>1],e=e+1|0,t=t+1|0,(0|k)!=(0|(p=p+1|0)););if((0|_)==(0|(i=i+1|0)))break;p=i>>>0<_>>>0,e=u[r+84|0]}e=i>>>0>=_>>>0;break a}if(v=f[r>>2],c=f[r+48>>2],w=f[r+68>>2],h=f[r+44>>2],T=k=f[r+40>>2],i){for(R=-4&i,x=3&i,t=0,N=255&e,C=i-1>>>0<3,i=0;;){if(p=ge(b,(r=f[v>>2])+(e=Jt(k,h,N?i:f[w+(i<<2)>>2],0)+c|0)|0,T),n=0,e=0,r=0,!C)for(;y=e<<1,a[(g=(t<<1)+s|0)>>1]=l[y+p>>1],a[g+2>>1]=l[p+(2|y)>>1],a[g+4>>1]=l[p+(4|y)>>1],a[g+6>>1]=l[p+(6|y)>>1],e=e+4|0,t=t+4|0,(0|R)!=(0|(r=r+4|0)););if(x)for(;a[(t<<1)+s>>1]=l[p+(e<<1)>>1],e=e+1|0,t=t+1|0,(0|x)!=(0|(n=n+1|0)););if(e=1,(0|_)==(0|(i=i+1|0)))break}break a}if(t=0,1!=(0|_))for(g=-2&_,s=255&e,i=0;r=1|t,n=ge(b,(y=f[v>>2])+(n=Jt(k,h,s?t:f[w+(t<<2)>>2],0)+c|0)|0,T),y=f[v>>2],s||(r=f[w+(r<<2)>>2]),ge(n,(r=Jt(k,h,r,0)+c|0)+y|0,T),t=t+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&_))break f;r=f[v>>2],255&e||(t=f[w+(t<<2)>>2]),ge(b,(e=Jt(k,h,t,0)+c|0)+r|0,T)}if(e=1^p,!b)break o}ee(b)}else ge(s,f[f[r>>2]>>2]+f[r+48>>2]|0,n),e=1;break t;case 5:e=0,I=m=I-16|0,c=(i=o[r+24|0])<<2,_=f[t+80>>2];o:if((0|d(c,_))==(0|n))if((t=6!=f[r+28>>2])|!(e=u[r+84|0])){if(f[m+8>>2]=0,f[m>>2]=0,f[m+4>>2]=0,i){if((0|i)<0)break i;b=br(c),f[m>>2]=b,Ye(b,0,c)}a:{f:if(_){if(t){if(!i)for(t=0,p=1;;){if(!X(r,255&e?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],b))break f;if(p=_>>>0>(t=t+1|0)>>>0,(0|t)==(0|_))break f;e=u[r+84|0]}for(v=-4&i,k=3&i,t=0,B=i-1>>>0<3,p=1,i=0;;){if(!X(r,255&e?i:f[f[r+68>>2]+(i<<2)>>2],o[r+24|0],b))break f;if(p=0,e=0,n=0,!B)for(;h=e<<2,f[(c=(t<<2)+s|0)>>2]=f[h+b>>2],f[c+4>>2]=f[(4|h)+b>>2],f[c+8>>2]=f[(8|h)+b>>2],f[c+12>>2]=f[(12|h)+b>>2],e=e+4|0,t=t+4|0,(0|v)!=(0|(n=n+4|0)););if(k)for(;f[(t<<2)+s>>2]=f[(e<<2)+b>>2],e=e+1|0,t=t+1|0,(0|k)!=(0|(p=p+1|0)););if((0|_)==(0|(i=i+1|0)))break;p=i>>>0<_>>>0,e=u[r+84|0]}e=i>>>0>=_>>>0;break a}if(v=f[r>>2],c=f[r+48>>2],w=f[r+68>>2],h=f[r+44>>2],T=k=f[r+40>>2],i){for(R=-4&i,x=3&i,t=0,N=255&e,C=i-1>>>0<3,i=0;;){if(p=ge(b,(r=f[v>>2])+(e=Jt(k,h,N?i:f[w+(i<<2)>>2],0)+c|0)|0,T),n=0,e=0,r=0,!C)for(;y=e<<2,f[(g=(t<<2)+s|0)>>2]=f[y+p>>2],f[g+4>>2]=f[p+(4|y)>>2],f[g+8>>2]=f[p+(8|y)>>2],f[g+12>>2]=f[p+(12|y)>>2],e=e+4|0,t=t+4|0,(0|R)!=(0|(r=r+4|0)););if(x)for(;f[(t<<2)+s>>2]=f[p+(e<<2)>>2],e=e+1|0,t=t+1|0,(0|x)!=(0|(n=n+1|0)););if(e=1,(0|_)==(0|(i=i+1|0)))break}break a}if(t=0,1!=(0|_))for(g=-2&_,s=255&e,i=0;r=1|t,n=ge(b,(y=f[v>>2])+(n=Jt(k,h,s?t:f[w+(t<<2)>>2],0)+c|0)|0,T),y=f[v>>2],s||(r=f[w+(r<<2)>>2]),ge(n,(r=Jt(k,h,r,0)+c|0)+y|0,T),t=t+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&_))break f;r=f[v>>2],255&e||(t=f[w+(t<<2)>>2]),ge(b,(e=Jt(k,h,t,0)+c|0)+r|0,T)}if(e=1^p,!b)break o}ee(b)}else ge(s,f[f[r>>2]>>2]+f[r+48>>2]|0,n),e=1;break t;case 8:break n;default:break e}e=0,I=v=I-16|0,i=(h=o[r+24|0])<<2,_=f[t+80>>2];n:if((0|d(i,_))==(0|n)){n=f[r+28>>2],f[v+8>>2]=0,f[v>>2]=0,f[v+4>>2]=0,t=0;o:{a:{f:{if(h){if((0|h)<0)break f;if(t=br(i),f[v>>2]=t,c=(h<<2)+t|0,f[v+8>>2]=c,k=1+((i=i-4|0)>>>2|0)&7)for(e=t;f[e>>2]=-1073741824,e=e+4|0,(0|k)!=(0|(b=b+1|0)););else e=t;if(!(i>>>0<28))for(;f[e+24>>2]=-1073741824,f[e+28>>2]=-1073741824,f[e+16>>2]=-1073741824,f[e+20>>2]=-1073741824,f[e+8>>2]=-1073741824,f[e+12>>2]=-1073741824,f[e>>2]=-1073741824,f[e+4>>2]=-1073741824,(0|c)!=(0|(e=e+32|0)););}if(!_)break a;if(9==(0|n)){if(e=0,B=f[r>>2],i=f[r+48>>2],T=f[r+68>>2],g=u[r+84|0],n=f[r+44>>2],y=c=f[r+40>>2],(0|h)<=0){if(1!=(0|_))for(h=-2&_,r=0;s=1|e,b=ge(t,(k=f[B>>2])+(b=Jt(c,n,g?e:f[T+(e<<2)>>2],0)+i|0)|0,y),k=f[B>>2],g||(s=f[T+(s<<2)>>2]),ge(b,(s=Jt(c,n,s,0)+i|0)+k|0,y),e=e+2|0,(0|h)!=(0|(r=r+2|0)););if(!(1&_))break a;r=f[B>>2],g||(e=f[T+(e<<2)>>2]),ge(t,(e=Jt(c,n,e,0)+i|0)+r|0,y);break a}for(N=-4&h,x=3&h,b=0,C=h-1>>>0<3;;){if(r=ge(t,(r=f[B>>2])+(e=Jt(c,n,g?p:f[T+(p<<2)>>2],0)+i|0)|0,y),k=0,e=0,R=0,!C)for(;m=e<<2,A[(h=(b<<2)+s|0)>>2]=A[m+r>>2],A[h+4>>2]=A[r+(4|m)>>2],A[h+8>>2]=A[r+(8|m)>>2],A[h+12>>2]=A[r+(12|m)>>2],e=e+4|0,b=b+4|0,(0|N)!=(0|(R=R+4|0)););if(x)for(;A[(b<<2)+s>>2]=A[r+(e<<2)>>2],e=e+1|0,b=b+1|0,(0|x)!=(0|(k=k+1|0)););if(e=1,(0|_)==(0|(p=p+1|0)))break}break o}if(m=1,(0|h)<=0){for(e=0;;){if(!V(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],t))break a;if(m=_>>>0>(e=e+1|0)>>>0,(0|e)==(0|_))break}break a}for(B=-4&h,c=3&h,b=0,h=h-1>>>0<3;;){if(!V(r,u[r+84|0]?p:f[f[r+68>>2]+(p<<2)>>2],o[r+24|0],t))break a;if(m=0,e=0,k=0,!h)for(;n=e<<2,A[(i=(b<<2)+s|0)>>2]=A[n+t>>2],A[i+4>>2]=A[(4|n)+t>>2],A[i+8>>2]=A[(8|n)+t>>2],A[i+12>>2]=A[(12|n)+t>>2],e=e+4|0,b=b+4|0,(0|B)!=(0|(k=k+4|0)););if(c)for(;A[(b<<2)+s>>2]=A[(e<<2)+t>>2],e=e+1|0,b=b+1|0,(0|c)!=(0|(m=m+1|0)););if(m=_>>>0>(p=p+1|0)>>>0,(0|p)==(0|_))break}e=p>>>0>=_>>>0;break o}ii(),E()}if(e=1^m,!t)break n}ee(t)}I=v+16|0,b=1&e;break e}ii(),E()}I=k+16|0,b=1&e;break e}I=m+16|0,b=1&e}return 0|b},gb:function(e,t){e|=0,t|=0;var r,i=0,n=0,a=0,s=0,c=0,l=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0;I=r=I-16|0,f[r+12>>2]=t,t=br(32),f[r>>2]=t,f[r+4>>2]=24,f[r+8>>2]=-2147483616,o[t+24|0]=0,n=u[1308]|u[1309]<<8|u[1310]<<16|u[1311]<<24,i=u[1304]|u[1305]<<8|u[1306]<<16|u[1307]<<24,o[t+16|0]=i,o[t+17|0]=i>>>8,o[t+18|0]=i>>>16,o[t+19|0]=i>>>24,o[t+20|0]=n,o[t+21|0]=n>>>8,o[t+22|0]=n>>>16,o[t+23|0]=n>>>24,n=u[1300]|u[1301]<<8|u[1302]<<16|u[1303]<<24,i=u[1296]|u[1297]<<8|u[1298]<<16|u[1299]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=n,o[t+13|0]=n>>>8,o[t+14|0]=n>>>16,o[t+15|0]=n>>>24,n=u[1292]|u[1293]<<8|u[1294]<<16|u[1295]<<24,i=u[1288]|u[1289]<<8|u[1290]<<16|u[1291]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=n,o[t+5|0]=n>>>8,o[t+6|0]=n>>>16,o[t+7|0]=n>>>24,I=l=I-48|0,d=e;e:{if(e=f[(n=e+16|0)>>2]){for(i=f[r+12>>2],t=n;t=(s=(0|i)>f[e+16>>2])?t:e,e=f[(s<<2)+e>>2];);if((0|t)!=(0|n)&&(0|i)>=f[t+16>>2])break e}if(f[4+(e=w=l+24|0)>>2]=0,f[e+8>>2]=0,T=e+4|0,f[e>>2]=T,e=f[r+12>>2],f[(i=l+16|0)>>2]=0,f[i+4>>2]=0,f[l+8>>2]=e,f[l+12>>2]=i,(0|T)!=(0|(t=f[w>>2])))for(_=l+8|4;;){s=t,c=t+16|0,I=y=I-16|0,A=y+12|0,e=y+8|0;t:{r:{i:{n:{o:{a:{f:if((0|(v=_+4|0))!=(0|i))if(a=(t=u[i+27|0])<<24>>24<0,p=(0|(B=(h=u[c+11|0])<<24>>24))<0,m=(k=(t=a?f[i+20>>2]:t)>>>0<(h=p?f[c+4>>2]:h)>>>0)?t:h){if(g=i+16|0,!(g=xt(p=p?f[c>>2]:c,a=a?f[g>>2]:g,m))){if(t>>>0>h>>>0)break f;break a}if((0|g)>=0)break a}else if(t>>>0<=h>>>0)break o;a=f[i>>2];f:{s:if((0|(e=i))!=f[_>>2]){if(a)for(t=a;e=t,t=f[t+4>>2];);else{if(e=i+8|0,(0|i)==f[f[i+8>>2]>>2])for(;e=(t=f[e>>2])+8|0,(0|t)==f[f[t+8>>2]>>2];);e=f[e>>2]}if(t=(p=u[c+11|0])<<24>>24<0,h=(k=u[e+27|0])<<24>>24<0,!((m=(p=t?f[c+4>>2]:p)>>>0<(k=h?f[e+20>>2]:k)>>>0?p:k)&&(v=e+16|0,t=xt(h?f[v>>2]:v,t?f[c>>2]:c,m)))){if(p>>>0>k>>>0)break s;break f}if((0|t)>=0)break f}if(!a){f[A>>2]=i,e=i;break t}f[A>>2]=e,e=e+4|0;break t}e=qe(_,A,c);break t}if(t=xt(a,p,m))break n}if(k)break i;break r}if((0|t)>=0)break r}if(a=f[i+4>>2])for(t=a;e=t,t=f[t>>2];);else if(e=f[i+8>>2],(0|i)!=f[e>>2])for(t=i+8|0;t=(p=f[t>>2])+8|0,e=f[p+8>>2],(0|p)!=f[e>>2];);i:{n:if((0|e)!=(0|v)){if(!((k=(p=(t=(p=u[e+27|0])<<24>>24<0)?f[e+20>>2]:p)>>>0<h>>>0?p:h)&&(m=e+16|0,t=xt((0|B)<0?f[c>>2]:c,t?f[m>>2]:m,k)))){if(p>>>0>h>>>0)break n;break i}if((0|t)>=0)break i}if(!a){f[A>>2]=i,e=i+4|0;break t}f[A>>2]=e;break t}e=qe(_,A,c);break t}f[A>>2]=i,f[e>>2]=i}(e=f[(t=e)>>2])?t=0:(a=(e=br(40))+16|0,o[c+11|0]>=0?(A=f[c+4>>2],f[a>>2]=f[c>>2],f[a+4>>2]=A,f[a+8>>2]=f[c+8>>2]):Vt(a,f[c>>2],f[c+4>>2]),a=e+28|0,o[c+23|0]>=0?(A=f[c+16>>2],f[a>>2]=f[c+12>>2],f[a+4>>2]=A,f[a+8>>2]=f[c+20>>2]):Vt(a,f[c+12>>2],f[c+16>>2]),f[e+8>>2]=f[y+12>>2],f[e>>2]=0,f[e+4>>2]=0,f[t>>2]=e,(a=f[f[_>>2]>>2])?(f[_>>2]=a,t=f[t>>2]):t=e,Te(f[_+4>>2],t),f[_+8>>2]=f[_+8>>2]+1,t=1),o[l+44|0]=t,f[l+40>>2]=e,I=y+16|0;t:if(e=f[s+4>>2])for(;e=f[(t=e)>>2];);else{if(t=f[s+8>>2],(0|s)==f[t>>2])break t;for(e=s+8|0;e=(s=f[e>>2])+8|0,t=f[s+8>>2],(0|s)!=f[t>>2];);}if((0|t)==(0|T))break}t:{if(e=f[n>>2])for(n=d+16|0,s=f[l+8>>2];;){r:{if((0|(t=f[e+16>>2]))>(0|s)){if(t=f[e>>2])break r;n=e;break t}if((0|t)>=(0|s))break t;if(n=e+4|0,!(t=f[e+4>>2]))break t;e=n}n=e,e=t}e=n}(t=f[n>>2])||(t=br(32),f[t+16>>2]=f[l+8>>2],f[t+20>>2]=f[l+12>>2],s=t+24|0,a=f[l+16>>2],f[s>>2]=a,c=f[l+20>>2],f[t+28>>2]=c,c?(f[a+8>>2]=s,f[l+16>>2]=0,f[l+20>>2]=0,f[l+12>>2]=i):f[t+20>>2]=s,f[t+8>>2]=e,f[t>>2]=0,f[t+4>>2]=0,f[n>>2]=t,(e=f[f[d+12>>2]>>2])?(f[d+12>>2]=e,e=f[n>>2]):e=t,Te(f[d+16>>2],e),f[d+20>>2]=f[d+20>>2]+1),Ar(l+8|4,f[l+16>>2]),Ar(w,f[w+4>>2])}if(I=i=(I=d=(I=l+48|0)-48|0)-32|0,(0|(s=(c=i+32|0)-(e=n=i+21|0)|0))<=9&(0|s)<(1-(b[2744]>1)|0)?(f[i+8>>2]=c,e=61):(o[0|e]=49,f[i+8>>2]=e+1,e=0),f[i+12>>2]=e,e=d+8|0,I=a=(I=l=I-16|0)-16|0,(s=(_=f[i+8>>2])-n|0)>>>0<=4294967279){for(s>>>0<=10?(o[e+11|0]=s,i=e):(i=s>>>0>=11?11==(0|(i=(A=s+16&-16)-1|0))?A:i:10,i=br(A=i+1|0),f[e>>2]=i,f[e+8>>2]=-2147483648|A,f[e+4>>2]=s);(0|n)!=(0|_);)o[0|i]=u[0|n],i=i+1|0,n=n+1|0;o[a+15|0]=0,o[0|i]=u[a+15|0],I=a+16|0}else oi(),E();I=l+16|0,I=c,f[d+32>>2]=r;e:{t:{if(e=f[4+(i=t+20|0)>>2])for(a=(n=(t=u[r+11|0])<<24>>24<0)?f[r>>2]:r,s=n?f[r+4>>2]:t,t=i+4|0;;){r:{i:{n:{o:{a:{f:if(_=(l=(n=(c=(n=u[e+27|0])<<24>>24<0)?f[e+20>>2]:n)>>>0<s>>>0)?n:s){if(A=e+16|0,!(A=xt(a,c=c?f[A>>2]:A,_))){if(n>>>0>s>>>0)break f;break a}if((0|A)>=0)break a}else if(n>>>0<=s>>>0)break o;if(n=f[e>>2])break r;break t}if(n=xt(c,a,_))break n}if(l)break i;break e}if((0|n)>=0)break e}if(t=e+4|0,!(n=f[e+4>>2]))break e;e=t}t=e,e=n}e=i+4|0}t=e}(n=f[t>>2])?e=0:(a=(n=br(40))+16|0,s=f[d+32>>2],o[s+11|0]>=0?(c=f[s+4>>2],f[a>>2]=f[s>>2],f[a+4>>2]=c,f[a+8>>2]=f[s+8>>2]):Vt(a,f[s>>2],f[s+4>>2]),f[n+8>>2]=e,f[n>>2]=0,f[n+4>>2]=0,f[n+36>>2]=0,f[n+28>>2]=0,f[n+32>>2]=0,f[t>>2]=n,(e=f[f[i>>2]>>2])?(f[i>>2]=e,e=f[t>>2]):e=n,Te(f[i+4>>2],e),f[i+8>>2]=f[i+8>>2]+1,e=1),o[d+44|0]=e,f[d+40>>2]=n,e=f[d+40>>2],o[e+39|0]<0&&ee(f[e+28>>2]),t=f[d+12>>2],f[e+28>>2]=f[d+8>>2],f[e+32>>2]=t,f[e+36>>2]=f[d+16>>2],I=d+48|0,o[r+11|0]<0&&ee(f[r>>2]),I=r+16|0},hb:function(e,t){e|=0;var r,i,n=0,a=0;a=8+(i=I-32|0)|0,I=r=(I=i)-80|0,e=f[36+(t|=0)>>2],f[r+72>>2]=f[t+32>>2],f[r+76>>2]=e,n=f[t+28>>2],f[(e=r- -64|0)>>2]=f[t+24>>2],f[e+4>>2]=n,e=f[t+20>>2],f[r+56>>2]=f[t+16>>2],f[r+60>>2]=e,e=f[t+12>>2],f[r+48>>2]=f[t+8>>2],f[r+52>>2]=e,e=f[t+4>>2],f[r+40>>2]=f[t>>2],f[r+44>>2]=e,Q(r+8|0,r+40|0,r+24|0);e:if(e=f[r+8>>2]){if(f[a>>2]=e,e=a+4|0,o[r+23|0]>=0){a=f[4+(t=r+8|4)>>2],f[e>>2]=f[t>>2],f[e+4>>2]=a,f[e+8>>2]=f[t+8>>2];break e}if(Vt(e,f[r+12>>2],f[r+16>>2]),o[r+23|0]>=0)break e;ee(f[r+12>>2])}else o[r+23|0]<0&&ee(f[r+12>>2]),(e=u[r+31|0])>>>0>=2?(e=br(32),t=u[1619]|u[1620]<<8,o[e+24|0]=t,o[e+25|0]=t>>>8,t=u[1615]|u[1616]<<8|u[1617]<<16|u[1618]<<24,n=u[1611]|u[1612]<<8|u[1613]<<16|u[1614]<<24,o[e+16|0]=n,o[e+17|0]=n>>>8,o[e+18|0]=n>>>16,o[e+19|0]=n>>>24,o[e+20|0]=t,o[e+21|0]=t>>>8,o[e+22|0]=t>>>16,o[e+23|0]=t>>>24,t=u[1607]|u[1608]<<8|u[1609]<<16|u[1610]<<24,n=u[1603]|u[1604]<<8|u[1605]<<16|u[1606]<<24,o[e+8|0]=n,o[e+9|0]=n>>>8,o[e+10|0]=n>>>16,o[e+11|0]=n>>>24,o[e+12|0]=t,o[e+13|0]=t>>>8,o[e+14|0]=t>>>16,o[e+15|0]=t>>>24,t=u[1599]|u[1600]<<8|u[1601]<<16|u[1602]<<24,n=u[1595]|u[1596]<<8|u[1597]<<16|u[1598]<<24,o[0|e]=n,o[e+1|0]=n>>>8,o[e+2|0]=n>>>16,o[e+3|0]=n>>>24,o[e+4|0]=t,o[e+5|0]=t>>>8,o[e+6|0]=t>>>16,o[e+7|0]=t>>>24,o[e+26|0]=0,f[r+8>>2]=-1,Vt(t=r+8|4,e,26),n=o[r+23|0],f[a>>2]=f[r+8>>2],a=a+4|0,(0|n)>=0?(n=f[t+4>>2],f[a>>2]=f[t>>2],f[a+4>>2]=n,f[a+8>>2]=f[t+8>>2]):Vt(a,f[r+12>>2],f[r+16>>2]),o[r+23|0]<0&&ee(f[r+12>>2]),ee(e)):(f[a>>2]=0,f[a+4>>2]=0,f[a+16>>2]=e,f[a+8>>2]=0,f[a+12>>2]=0);return I=r+80|0,e=f[i+24>>2],o[i+23|0]<0&&ee(f[i+12>>2]),I=i+32|0,0|e},ib:function(e,t,r){e|=0,t|=0,r|=0;var i,n=0,a=0;I=t=I-16|0,We(t),f[e+24>>2]=f[t>>2];e:if((0|(i=e+24|0))!=(0|t))if(r=4|t,n=(a=u[t+15|0])<<24>>24,o[11+(e=e+28|0)|0]>=0){if((0|n)>=0){n=f[r+4>>2],f[e>>2]=f[r>>2],f[e+4>>2]=n,f[e+8>>2]=f[r+8>>2];break e}tr(e,f[t+4>>2],f[t+8>>2])}else zt(e,(e=(0|n)<0)?f[t+4>>2]:r,e?f[t+8>>2]:a);return o[t+15|0]<0&&ee(f[t+4>>2]),I=t+16|0,0|i},jb:function(e,t,r){var i,n,a=0;I=i=I-16|0,G(i,e|=0,t|=0,r|=0),f[e+24>>2]=f[i>>2];e:if((0|(n=e+24|0))!=(0|i))if(t=4|i,r=(a=u[i+15|0])<<24>>24,o[11+(e=e+28|0)|0]>=0){if((0|r)>=0){r=f[t+4>>2],f[e>>2]=f[t>>2],f[e+4>>2]=r,f[e+8>>2]=f[t+8>>2];break e}tr(e,f[i+4>>2],f[i+8>>2])}else zt(e,(e=(0|r)<0)?f[i+4>>2]:t,e?f[i+8>>2]:a);return o[i+15|0]<0&&ee(f[i+4>>2]),I=i+16|0,0|n},kb:function(e){(e|=0)&&(o[e+39|0]<0&&ee(f[e+28>>2]),function e(t,r){r&&(e(t,f[r>>2]),e(t,f[r+4>>2]),Ar(r+20|0,f[r+24>>2]),ee(r))}(e+12|0,f[e+16>>2]),Ar(e,f[e+4>>2]),ee(e))},lb:fi,mb:ui,nb:si,ob:Ai,pb:fi,qb:ui,rb:si,sb:Ai,tb:li,ub:bi,vb:fi,wb:ui,xb:si,yb:ui,zb:si,Ab:Ai,Bb:li,Cb:bi,Db:function(){return 5},Eb:function(){return 6},Fb:function(){return 7},Gb:function(){return 8},Hb:function(){return 9},Ib:function(){return 10},Jb:function(){return 11},Kb:function(){return 12},Lb:ui,Mb:fi,Nb:function(){return-2},Ob:function(){return-3},Pb:function(){return-4},Qb:function(){return-5},Rb:M,Sb:ee}}(e)}(ae)},instantiate:function(e,t){return{then:function(t){var r=new B.Module(e);t({instance:new B.Instance(r)})}}},RuntimeError:Error};w=[],"object"!=typeof B&&L("no native wasm support detected");var x=!1;function R(e,t){e||L("Assertion failed: "+t)}var N,I,C,D,M="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function G(e,t){return e?function(e,t,r){for(var i=t+r,n=t;e[n]&&!(n>=i);)++n;if(n-t>16&&e.subarray&&M)return M.decode(e.subarray(t,n));for(var o="";t<n;){var a=e[t++];if(128&a){var f=63&e[t++];if(192!=(224&a)){var s=63&e[t++];if((a=224==(240&a)?(15&a)<<12|f<<6|s:(7&a)<<18|f<<12|s<<6|63&e[t++])<65536)o+=String.fromCharCode(a);else{var c=a-65536;o+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else o+=String.fromCharCode((31&a)<<6|f)}else o+=String.fromCharCode(a)}return o}(C,e,t):""}function U(e){N=e,s.HEAP8=I=new Int8Array(e),s.HEAP16=new Int16Array(e),s.HEAP32=D=new Int32Array(e),s.HEAPU8=C=new Uint8Array(e),s.HEAPU16=new Uint16Array(e),s.HEAPU32=new Uint32Array(e),s.HEAPF32=new Float32Array(e),s.HEAPF64=new Float64Array(e)}var V,S=s.INITIAL_MEMORY||16777216;(T=s.wasmMemory?s.wasmMemory:new B.Memory({initial:S/65536,maximum:32768}))&&(N=T.buffer),S=N.byteLength,U(N);var F=[],W=[],j=[],O=!1;function Z(e){W.unshift(e)}var P,Y,z=0,J=null,Q=null;function L(e){s.onAbort&&s.onAbort(e),E(e="Aborted("+e+")"),x=!0,e+=". Build with -s ASSERTIONS=1 for more info.";var t=new B.RuntimeError(e);throw f(t),t}function X(e){return e.startsWith("data:application/octet-stream;base64,")}function H(e){return e.startsWith("file://")}function q(e){try{if(e==P&&w)return new Uint8Array(w);var t=ne(e);if(t)return t;if(d)return d(e);throw"both async and sync fetching of the wasm failed"}catch(e){L(e)}}function $(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var r=t.func;"number"==typeof r?void 0===t.arg?ee(r)():ee(r)(t.arg):r(void 0===t.arg?null:t.arg)}else t(s)}}s.preloadedImages={},s.preloadedAudios={},X(P="draco_decoder_gltf.wasm")||(Y=P,P=s.locateFile?s.locateFile(Y,g):g+Y);var K=[];function ee(e){var t=K[e];return t||(e>=K.length&&(K.length=e+1),K[e]=t=V.get(e)),t}function te(e){this.excPtr=e,this.ptr=e-16,this.set_type=function(e){D[this.ptr+4>>2]=e},this.get_type=function(){return D[this.ptr+4>>2]},this.set_destructor=function(e){D[this.ptr+8>>2]=e},this.get_destructor=function(){return D[this.ptr+8>>2]},this.set_refcount=function(e){D[this.ptr>>2]=e},this.set_caught=function(e){e=e?1:0,I[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=I[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,I[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=I[this.ptr+13>>0]},this.init=function(e,t){this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=D[this.ptr>>2];D[this.ptr>>2]=e+1},this.release_ref=function(){var e=D[this.ptr>>2];return D[this.ptr>>2]=e-1,1===e}}function re(e){try{return T.grow(e-N.byteLength+65535>>>16),U(T.buffer),1}catch(e){}}var ie="function"==typeof atob?atob:function(e){var t,r,i,n,o,a,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s="",c=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{t=f.indexOf(e.charAt(c++))<<2|(n=f.indexOf(e.charAt(c++)))>>4,r=(15&n)<<4|(o=f.indexOf(e.charAt(c++)))>>2,i=(3&o)<<6|(a=f.indexOf(e.charAt(c++))),s+=String.fromCharCode(t),64!==o&&(s+=String.fromCharCode(r)),64!==a&&(s+=String.fromCharCode(i))}while(c<e.length);return s};function ne(e){if(X(e))return function(e){if("boolean"==typeof v&&v){var t=o.from(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}try{for(var r=ie(e),i=new Uint8Array(r.length),n=0;n<r.length;++n)i[n]=r.charCodeAt(n);return i}catch(e){throw new Error("Converting base64 string to bytes failed.")}}(e.slice("data:application/octet-stream;base64,".length))}var oe,ae={f:function(e){return Zr(e+16)+16},e:function(e,t,r){throw new te(e).init(t,r),e},b:function(){L("")},c:function(e,t,r){C.copyWithin(e,t,t+r)},d:function(e){var t,r,i=C.length;if((e>>>=0)>2147483648)return!1;for(var n=1;n<=4;n*=2){var o=i*(1+.2/n);if(o=Math.min(o,e+100663296),re(Math.min(2147483648,((t=Math.max(e,o))%(r=65536)>0&&(t+=r-t%r),t))))return!0}return!1},a:T},fe=(function(){var e={a:ae};function t(e,t){var r=e.exports;s.asm=r,V=s.asm.h,Z(s.asm.g),function(e){if(z--,s.monitorRunDependencies&&s.monitorRunDependencies(z),0==z&&(null!==J&&(clearInterval(J),J=null),Q)){var t=Q;Q=null,t()}}()}function r(e){t(e.instance)}function i(t){return function(){if(!w&&(m||y)){if("function"==typeof fetch&&!H(P))return fetch(P,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+P+"'";return e.arrayBuffer()})).catch((function(){return q(P)}));if(p)return new Promise((function(e,t){p(P,(function(t){e(new Uint8Array(t))}),t)}))}return Promise.resolve().then((function(){return q(P)}))}().then((function(t){return B.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){E("failed to asynchronously prepare wasm: "+e),L(e)}))}if(z++,s.monitorRunDependencies&&s.monitorRunDependencies(z),s.instantiateWasm)try{return s.instantiateWasm(e,t)}catch(e){return E("Module.instantiateWasm callback failed with error: "+e),!1}(w||"function"!=typeof B.instantiateStreaming||X(P)||H(P)||"function"!=typeof fetch?i(r):fetch(P,{credentials:"same-origin"}).then((function(t){return B.instantiateStreaming(t,e).then(r,(function(e){return E("wasm streaming compile failed: "+e),E("falling back to ArrayBuffer instantiation"),i(r)}))}))).catch(f)}(),s.___wasm_call_ctors=function(){return(s.___wasm_call_ctors=s.asm.g).apply(null,arguments)},s._emscripten_bind_VoidPtr___destroy___0=function(){return(fe=s._emscripten_bind_VoidPtr___destroy___0=s.asm.i).apply(null,arguments)}),se=s._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return(se=s._emscripten_bind_DecoderBuffer_DecoderBuffer_0=s.asm.j).apply(null,arguments)},ce=s._emscripten_bind_DecoderBuffer_Init_2=function(){return(ce=s._emscripten_bind_DecoderBuffer_Init_2=s.asm.k).apply(null,arguments)},ue=s._emscripten_bind_DecoderBuffer___destroy___0=function(){return(ue=s._emscripten_bind_DecoderBuffer___destroy___0=s.asm.l).apply(null,arguments)},le=s._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return(le=s._emscripten_bind_AttributeTransformData_AttributeTransformData_0=s.asm.m).apply(null,arguments)},be=s._emscripten_bind_AttributeTransformData_transform_type_0=function(){return(be=s._emscripten_bind_AttributeTransformData_transform_type_0=s.asm.n).apply(null,arguments)},Ae=s._emscripten_bind_AttributeTransformData___destroy___0=function(){return(Ae=s._emscripten_bind_AttributeTransformData___destroy___0=s.asm.o).apply(null,arguments)},pe=s._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return(pe=s._emscripten_bind_GeometryAttribute_GeometryAttribute_0=s.asm.p).apply(null,arguments)},de=s._emscripten_bind_GeometryAttribute___destroy___0=function(){return(de=s._emscripten_bind_GeometryAttribute___destroy___0=s.asm.q).apply(null,arguments)},_e=s._emscripten_bind_PointAttribute_PointAttribute_0=function(){return(_e=s._emscripten_bind_PointAttribute_PointAttribute_0=s.asm.r).apply(null,arguments)},he=s._emscripten_bind_PointAttribute_size_0=function(){return(he=s._emscripten_bind_PointAttribute_size_0=s.asm.s).apply(null,arguments)},ke=s._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return(ke=s._emscripten_bind_PointAttribute_GetAttributeTransformData_0=s.asm.t).apply(null,arguments)},me=s._emscripten_bind_PointAttribute_attribute_type_0=function(){return(me=s._emscripten_bind_PointAttribute_attribute_type_0=s.asm.u).apply(null,arguments)},ye=s._emscripten_bind_PointAttribute_data_type_0=function(){return(ye=s._emscripten_bind_PointAttribute_data_type_0=s.asm.v).apply(null,arguments)},ve=s._emscripten_bind_PointAttribute_num_components_0=function(){return(ve=s._emscripten_bind_PointAttribute_num_components_0=s.asm.w).apply(null,arguments)},ge=s._emscripten_bind_PointAttribute_normalized_0=function(){return(ge=s._emscripten_bind_PointAttribute_normalized_0=s.asm.x).apply(null,arguments)},we=s._emscripten_bind_PointAttribute_byte_stride_0=function(){return(we=s._emscripten_bind_PointAttribute_byte_stride_0=s.asm.y).apply(null,arguments)},Ee=s._emscripten_bind_PointAttribute_byte_offset_0=function(){return(Ee=s._emscripten_bind_PointAttribute_byte_offset_0=s.asm.z).apply(null,arguments)},Te=s._emscripten_bind_PointAttribute_unique_id_0=function(){return(Te=s._emscripten_bind_PointAttribute_unique_id_0=s.asm.A).apply(null,arguments)},Be=s._emscripten_bind_PointAttribute___destroy___0=function(){return(Be=s._emscripten_bind_PointAttribute___destroy___0=s.asm.B).apply(null,arguments)},xe=s._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return(xe=s._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=s.asm.C).apply(null,arguments)},Re=s._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return(Re=s._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=s.asm.D).apply(null,arguments)},Ne=s._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return(Ne=s._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=s.asm.E).apply(null,arguments)},Ie=s._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return(Ie=s._emscripten_bind_AttributeQuantizationTransform_min_value_1=s.asm.F).apply(null,arguments)},Ce=s._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return(Ce=s._emscripten_bind_AttributeQuantizationTransform_range_0=s.asm.G).apply(null,arguments)},De=s._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return(De=s._emscripten_bind_AttributeQuantizationTransform___destroy___0=s.asm.H).apply(null,arguments)},Me=s._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return(Me=s._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=s.asm.I).apply(null,arguments)},Ge=s._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return(Ge=s._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=s.asm.J).apply(null,arguments)},Ue=s._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return(Ue=s._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=s.asm.K).apply(null,arguments)},Ve=s._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return(Ve=s._emscripten_bind_AttributeOctahedronTransform___destroy___0=s.asm.L).apply(null,arguments)},Se=s._emscripten_bind_PointCloud_PointCloud_0=function(){return(Se=s._emscripten_bind_PointCloud_PointCloud_0=s.asm.M).apply(null,arguments)},Fe=s._emscripten_bind_PointCloud_num_attributes_0=function(){return(Fe=s._emscripten_bind_PointCloud_num_attributes_0=s.asm.N).apply(null,arguments)},We=s._emscripten_bind_PointCloud_num_points_0=function(){return(We=s._emscripten_bind_PointCloud_num_points_0=s.asm.O).apply(null,arguments)},je=s._emscripten_bind_PointCloud___destroy___0=function(){return(je=s._emscripten_bind_PointCloud___destroy___0=s.asm.P).apply(null,arguments)},Oe=s._emscripten_bind_Mesh_Mesh_0=function(){return(Oe=s._emscripten_bind_Mesh_Mesh_0=s.asm.Q).apply(null,arguments)},Ze=s._emscripten_bind_Mesh_num_faces_0=function(){return(Ze=s._emscripten_bind_Mesh_num_faces_0=s.asm.R).apply(null,arguments)},Pe=s._emscripten_bind_Mesh_num_attributes_0=function(){return(Pe=s._emscripten_bind_Mesh_num_attributes_0=s.asm.S).apply(null,arguments)},Ye=s._emscripten_bind_Mesh_num_points_0=function(){return(Ye=s._emscripten_bind_Mesh_num_points_0=s.asm.T).apply(null,arguments)},ze=s._emscripten_bind_Mesh___destroy___0=function(){return(ze=s._emscripten_bind_Mesh___destroy___0=s.asm.U).apply(null,arguments)},Je=s._emscripten_bind_Metadata_Metadata_0=function(){return(Je=s._emscripten_bind_Metadata_Metadata_0=s.asm.V).apply(null,arguments)},Qe=s._emscripten_bind_Metadata___destroy___0=function(){return(Qe=s._emscripten_bind_Metadata___destroy___0=s.asm.W).apply(null,arguments)},Le=s._emscripten_bind_Status_code_0=function(){return(Le=s._emscripten_bind_Status_code_0=s.asm.X).apply(null,arguments)},Xe=s._emscripten_bind_Status_ok_0=function(){return(Xe=s._emscripten_bind_Status_ok_0=s.asm.Y).apply(null,arguments)},He=s._emscripten_bind_Status_error_msg_0=function(){return(He=s._emscripten_bind_Status_error_msg_0=s.asm.Z).apply(null,arguments)},qe=s._emscripten_bind_Status___destroy___0=function(){return(qe=s._emscripten_bind_Status___destroy___0=s.asm._).apply(null,arguments)},$e=s._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return($e=s._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=s.asm.$).apply(null,arguments)},Ke=s._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return(Ke=s._emscripten_bind_DracoFloat32Array_GetValue_1=s.asm.aa).apply(null,arguments)},et=s._emscripten_bind_DracoFloat32Array_size_0=function(){return(et=s._emscripten_bind_DracoFloat32Array_size_0=s.asm.ba).apply(null,arguments)},tt=s._emscripten_bind_DracoFloat32Array___destroy___0=function(){return(tt=s._emscripten_bind_DracoFloat32Array___destroy___0=s.asm.ca).apply(null,arguments)},rt=s._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return(rt=s._emscripten_bind_DracoInt8Array_DracoInt8Array_0=s.asm.da).apply(null,arguments)},it=s._emscripten_bind_DracoInt8Array_GetValue_1=function(){return(it=s._emscripten_bind_DracoInt8Array_GetValue_1=s.asm.ea).apply(null,arguments)},nt=s._emscripten_bind_DracoInt8Array_size_0=function(){return(nt=s._emscripten_bind_DracoInt8Array_size_0=s.asm.fa).apply(null,arguments)},ot=s._emscripten_bind_DracoInt8Array___destroy___0=function(){return(ot=s._emscripten_bind_DracoInt8Array___destroy___0=s.asm.ga).apply(null,arguments)},at=s._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return(at=s._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=s.asm.ha).apply(null,arguments)},ft=s._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return(ft=s._emscripten_bind_DracoUInt8Array_GetValue_1=s.asm.ia).apply(null,arguments)},st=s._emscripten_bind_DracoUInt8Array_size_0=function(){return(st=s._emscripten_bind_DracoUInt8Array_size_0=s.asm.ja).apply(null,arguments)},ct=s._emscripten_bind_DracoUInt8Array___destroy___0=function(){return(ct=s._emscripten_bind_DracoUInt8Array___destroy___0=s.asm.ka).apply(null,arguments)},ut=s._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return(ut=s._emscripten_bind_DracoInt16Array_DracoInt16Array_0=s.asm.la).apply(null,arguments)},lt=s._emscripten_bind_DracoInt16Array_GetValue_1=function(){return(lt=s._emscripten_bind_DracoInt16Array_GetValue_1=s.asm.ma).apply(null,arguments)},bt=s._emscripten_bind_DracoInt16Array_size_0=function(){return(bt=s._emscripten_bind_DracoInt16Array_size_0=s.asm.na).apply(null,arguments)},At=s._emscripten_bind_DracoInt16Array___destroy___0=function(){return(At=s._emscripten_bind_DracoInt16Array___destroy___0=s.asm.oa).apply(null,arguments)},pt=s._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return(pt=s._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=s.asm.pa).apply(null,arguments)},dt=s._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return(dt=s._emscripten_bind_DracoUInt16Array_GetValue_1=s.asm.qa).apply(null,arguments)},_t=s._emscripten_bind_DracoUInt16Array_size_0=function(){return(_t=s._emscripten_bind_DracoUInt16Array_size_0=s.asm.ra).apply(null,arguments)},ht=s._emscripten_bind_DracoUInt16Array___destroy___0=function(){return(ht=s._emscripten_bind_DracoUInt16Array___destroy___0=s.asm.sa).apply(null,arguments)},kt=s._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return(kt=s._emscripten_bind_DracoInt32Array_DracoInt32Array_0=s.asm.ta).apply(null,arguments)},mt=s._emscripten_bind_DracoInt32Array_GetValue_1=function(){return(mt=s._emscripten_bind_DracoInt32Array_GetValue_1=s.asm.ua).apply(null,arguments)},yt=s._emscripten_bind_DracoInt32Array_size_0=function(){return(yt=s._emscripten_bind_DracoInt32Array_size_0=s.asm.va).apply(null,arguments)},vt=s._emscripten_bind_DracoInt32Array___destroy___0=function(){return(vt=s._emscripten_bind_DracoInt32Array___destroy___0=s.asm.wa).apply(null,arguments)},gt=s._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return(gt=s._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=s.asm.xa).apply(null,arguments)},wt=s._emscripten_bind_DracoUInt32Array_GetValue_1=function(){return(wt=s._emscripten_bind_DracoUInt32Array_GetValue_1=s.asm.ya).apply(null,arguments)},Et=s._emscripten_bind_DracoUInt32Array_size_0=function(){return(Et=s._emscripten_bind_DracoUInt32Array_size_0=s.asm.za).apply(null,arguments)},Tt=s._emscripten_bind_DracoUInt32Array___destroy___0=function(){return(Tt=s._emscripten_bind_DracoUInt32Array___destroy___0=s.asm.Aa).apply(null,arguments)},Bt=s._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return(Bt=s._emscripten_bind_MetadataQuerier_MetadataQuerier_0=s.asm.Ba).apply(null,arguments)},xt=s._emscripten_bind_MetadataQuerier_HasEntry_2=function(){return(xt=s._emscripten_bind_MetadataQuerier_HasEntry_2=s.asm.Ca).apply(null,arguments)},Rt=s._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return(Rt=s._emscripten_bind_MetadataQuerier_GetIntEntry_2=s.asm.Da).apply(null,arguments)},Nt=s._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=function(){return(Nt=s._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=s.asm.Ea).apply(null,arguments)},It=s._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return(It=s._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=s.asm.Fa).apply(null,arguments)},Ct=s._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return(Ct=s._emscripten_bind_MetadataQuerier_GetStringEntry_2=s.asm.Ga).apply(null,arguments)},Dt=s._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return(Dt=s._emscripten_bind_MetadataQuerier_NumEntries_1=s.asm.Ha).apply(null,arguments)},Mt=s._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return(Mt=s._emscripten_bind_MetadataQuerier_GetEntryName_2=s.asm.Ia).apply(null,arguments)},Gt=s._emscripten_bind_MetadataQuerier___destroy___0=function(){return(Gt=s._emscripten_bind_MetadataQuerier___destroy___0=s.asm.Ja).apply(null,arguments)},Ut=s._emscripten_bind_Decoder_Decoder_0=function(){return(Ut=s._emscripten_bind_Decoder_Decoder_0=s.asm.Ka).apply(null,arguments)},Vt=s._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=function(){return(Vt=s._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=s.asm.La).apply(null,arguments)},St=s._emscripten_bind_Decoder_DecodeArrayToMesh_3=function(){return(St=s._emscripten_bind_Decoder_DecodeArrayToMesh_3=s.asm.Ma).apply(null,arguments)},Ft=s._emscripten_bind_Decoder_GetAttributeId_2=function(){return(Ft=s._emscripten_bind_Decoder_GetAttributeId_2=s.asm.Na).apply(null,arguments)},Wt=s._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return(Wt=s._emscripten_bind_Decoder_GetAttributeIdByName_2=s.asm.Oa).apply(null,arguments)},jt=s._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return(jt=s._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=s.asm.Pa).apply(null,arguments)},Ot=s._emscripten_bind_Decoder_GetAttribute_2=function(){return(Ot=s._emscripten_bind_Decoder_GetAttribute_2=s.asm.Qa).apply(null,arguments)},Zt=s._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return(Zt=s._emscripten_bind_Decoder_GetAttributeByUniqueId_2=s.asm.Ra).apply(null,arguments)},Pt=s._emscripten_bind_Decoder_GetMetadata_1=function(){return(Pt=s._emscripten_bind_Decoder_GetMetadata_1=s.asm.Sa).apply(null,arguments)},Yt=s._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return(Yt=s._emscripten_bind_Decoder_GetAttributeMetadata_2=s.asm.Ta).apply(null,arguments)},zt=s._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return(zt=s._emscripten_bind_Decoder_GetFaceFromMesh_3=s.asm.Ua).apply(null,arguments)},Jt=s._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return(Jt=s._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=s.asm.Va).apply(null,arguments)},Qt=s._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=function(){return(Qt=s._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=s.asm.Wa).apply(null,arguments)},Lt=s._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=function(){return(Lt=s._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=s.asm.Xa).apply(null,arguments)},Xt=s._emscripten_bind_Decoder_GetAttributeFloat_3=function(){return(Xt=s._emscripten_bind_Decoder_GetAttributeFloat_3=s.asm.Ya).apply(null,arguments)},Ht=s._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return(Ht=s._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=s.asm.Za).apply(null,arguments)},qt=s._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return(qt=s._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=s.asm._a).apply(null,arguments)},$t=s._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=function(){return($t=s._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=s.asm.$a).apply(null,arguments)},Kt=s._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return(Kt=s._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=s.asm.ab).apply(null,arguments)},er=s._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return(er=s._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=s.asm.bb).apply(null,arguments)},tr=s._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return(tr=s._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=s.asm.cb).apply(null,arguments)},rr=s._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return(rr=s._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=s.asm.db).apply(null,arguments)},ir=s._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=function(){return(ir=s._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=s.asm.eb).apply(null,arguments)},nr=s._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=function(){return(nr=s._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=s.asm.fb).apply(null,arguments)},or=s._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return(or=s._emscripten_bind_Decoder_SkipAttributeTransform_1=s.asm.gb).apply(null,arguments)},ar=s._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=function(){return(ar=s._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=s.asm.hb).apply(null,arguments)},fr=s._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return(fr=s._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=s.asm.ib).apply(null,arguments)},sr=s._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return(sr=s._emscripten_bind_Decoder_DecodeBufferToMesh_2=s.asm.jb).apply(null,arguments)},cr=s._emscripten_bind_Decoder___destroy___0=function(){return(cr=s._emscripten_bind_Decoder___destroy___0=s.asm.kb).apply(null,arguments)},ur=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return(ur=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=s.asm.lb).apply(null,arguments)},lr=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return(lr=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=s.asm.mb).apply(null,arguments)},br=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return(br=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=s.asm.nb).apply(null,arguments)},Ar=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=function(){return(Ar=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=s.asm.ob).apply(null,arguments)},pr=s._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return(pr=s._emscripten_enum_draco_GeometryAttribute_Type_INVALID=s.asm.pb).apply(null,arguments)},dr=s._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return(dr=s._emscripten_enum_draco_GeometryAttribute_Type_POSITION=s.asm.qb).apply(null,arguments)},_r=s._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return(_r=s._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=s.asm.rb).apply(null,arguments)},hr=s._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return(hr=s._emscripten_enum_draco_GeometryAttribute_Type_COLOR=s.asm.sb).apply(null,arguments)},kr=s._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return(kr=s._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=s.asm.tb).apply(null,arguments)},mr=s._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return(mr=s._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=s.asm.ub).apply(null,arguments)},yr=s._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return(yr=s._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=s.asm.vb).apply(null,arguments)},vr=s._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return(vr=s._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=s.asm.wb).apply(null,arguments)},gr=s._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return(gr=s._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=s.asm.xb).apply(null,arguments)},wr=s._emscripten_enum_draco_DataType_DT_INVALID=function(){return(wr=s._emscripten_enum_draco_DataType_DT_INVALID=s.asm.yb).apply(null,arguments)},Er=s._emscripten_enum_draco_DataType_DT_INT8=function(){return(Er=s._emscripten_enum_draco_DataType_DT_INT8=s.asm.zb).apply(null,arguments)},Tr=s._emscripten_enum_draco_DataType_DT_UINT8=function(){return(Tr=s._emscripten_enum_draco_DataType_DT_UINT8=s.asm.Ab).apply(null,arguments)},Br=s._emscripten_enum_draco_DataType_DT_INT16=function(){return(Br=s._emscripten_enum_draco_DataType_DT_INT16=s.asm.Bb).apply(null,arguments)},xr=s._emscripten_enum_draco_DataType_DT_UINT16=function(){return(xr=s._emscripten_enum_draco_DataType_DT_UINT16=s.asm.Cb).apply(null,arguments)},Rr=s._emscripten_enum_draco_DataType_DT_INT32=function(){return(Rr=s._emscripten_enum_draco_DataType_DT_INT32=s.asm.Db).apply(null,arguments)},Nr=s._emscripten_enum_draco_DataType_DT_UINT32=function(){return(Nr=s._emscripten_enum_draco_DataType_DT_UINT32=s.asm.Eb).apply(null,arguments)},Ir=s._emscripten_enum_draco_DataType_DT_INT64=function(){return(Ir=s._emscripten_enum_draco_DataType_DT_INT64=s.asm.Fb).apply(null,arguments)},Cr=s._emscripten_enum_draco_DataType_DT_UINT64=function(){return(Cr=s._emscripten_enum_draco_DataType_DT_UINT64=s.asm.Gb).apply(null,arguments)},Dr=s._emscripten_enum_draco_DataType_DT_FLOAT32=function(){return(Dr=s._emscripten_enum_draco_DataType_DT_FLOAT32=s.asm.Hb).apply(null,arguments)},Mr=s._emscripten_enum_draco_DataType_DT_FLOAT64=function(){return(Mr=s._emscripten_enum_draco_DataType_DT_FLOAT64=s.asm.Ib).apply(null,arguments)},Gr=s._emscripten_enum_draco_DataType_DT_BOOL=function(){return(Gr=s._emscripten_enum_draco_DataType_DT_BOOL=s.asm.Jb).apply(null,arguments)},Ur=s._emscripten_enum_draco_DataType_DT_TYPES_COUNT=function(){return(Ur=s._emscripten_enum_draco_DataType_DT_TYPES_COUNT=s.asm.Kb).apply(null,arguments)},Vr=s._emscripten_enum_draco_StatusCode_OK=function(){return(Vr=s._emscripten_enum_draco_StatusCode_OK=s.asm.Lb).apply(null,arguments)},Sr=s._emscripten_enum_draco_StatusCode_DRACO_ERROR=function(){return(Sr=s._emscripten_enum_draco_StatusCode_DRACO_ERROR=s.asm.Mb).apply(null,arguments)},Fr=s._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return(Fr=s._emscripten_enum_draco_StatusCode_IO_ERROR=s.asm.Nb).apply(null,arguments)},Wr=s._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return(Wr=s._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=s.asm.Ob).apply(null,arguments)},jr=s._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return(jr=s._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=s.asm.Pb).apply(null,arguments)},Or=s._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return(Or=s._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=s.asm.Qb).apply(null,arguments)},Zr=s._malloc=function(){return(Zr=s._malloc=s.asm.Rb).apply(null,arguments)};function Pr(e){function r(){oe||(oe=!0,s.calledRun=!0,x||(O=!0,$(W),t(s),s.onRuntimeInitialized&&s.onRuntimeInitialized(),function(){if(s.postRun)for("function"==typeof s.postRun&&(s.postRun=[s.postRun]);s.postRun.length;)e=s.postRun.shift(),j.unshift(e);var e;$(j)}()))}e=e||k,z>0||(function(){if(s.preRun)for("function"==typeof s.preRun&&(s.preRun=[s.preRun]);s.preRun.length;)e=s.preRun.shift(),F.unshift(e);var e;$(F)}(),z>0||(s.setStatus?(s.setStatus("Running..."),setTimeout((function(){setTimeout((function(){s.setStatus("")}),1),r()}),1)):r()))}if(s._free=function(){return(s._free=s.asm.Sb).apply(null,arguments)},Q=function e(){oe||Pr(),oe||(Q=e)},s.run=Pr,s.preInit)for("function"==typeof s.preInit&&(s.preInit=[s.preInit]);s.preInit.length>0;)s.preInit.pop()();function Yr(){}function zr(e){return(e||Yr).__cache__}function Jr(e,t){var r=zr(t),i=r[e];return i||((i=Object.create((t||Yr).prototype)).ptr=e,r[e]=i)}Pr(),Yr.prototype=Object.create(Yr.prototype),Yr.prototype.constructor=Yr,Yr.prototype.__class__=Yr,Yr.__cache__={},s.WrapperObject=Yr,s.getCache=zr,s.wrapPointer=Jr,s.castObject=function(e,t){return Jr(e.ptr,t)},s.NULL=Jr(0),s.destroy=function(e){if(!e.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";e.__destroy__(),delete zr(e.__class__)[e.ptr]},s.compare=function(e,t){return e.ptr===t.ptr},s.getPointer=function(e){return e.ptr},s.getClass=function(e){return e.__class__};var Qr={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(Qr.needed){for(var e=0;e<Qr.temps.length;e++)s._free(Qr.temps[e]);Qr.temps.length=0,s._free(Qr.buffer),Qr.buffer=0,Qr.size+=Qr.needed,Qr.needed=0}Qr.buffer||(Qr.size+=128,Qr.buffer=s._malloc(Qr.size),R(Qr.buffer)),Qr.pos=0},alloc:function(e,t){R(Qr.buffer);var r,i=t.BYTES_PER_ELEMENT,n=e.length*i;return n=n+7&-8,Qr.pos+n>=Qr.size?(R(n>0),Qr.needed+=n,r=s._malloc(n),Qr.temps.push(r)):(r=Qr.buffer+Qr.pos,Qr.pos+=n),r},copy:function(e,t,r){switch(r>>>=0,t.BYTES_PER_ELEMENT){case 2:r>>>=1;break;case 4:r>>>=2;break;case 8:r>>>=3}for(var i=0;i<e.length;i++)t[r+i]=e[i]}};function Lr(e){if("string"==typeof e){var t=(i=e,a=o>0?o:function(e){for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i>=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++r)),i<=127?++t:t+=i<=2047?2:i<=65535?3:4}return t}(i)+1,f=new Array(a),s=function(e,t,r,i){if(!(i>0))return 0;for(var n=r,o=r+i-1,a=0;a<e.length;++a){var f=e.charCodeAt(a);if(f>=55296&&f<=57343&&(f=65536+((1023&f)<<10)|1023&e.charCodeAt(++a)),f<=127){if(r>=o)break;t[r++]=f}else if(f<=2047){if(r+1>=o)break;t[r++]=192|f>>6,t[r++]=128|63&f}else if(f<=65535){if(r+2>=o)break;t[r++]=224|f>>12,t[r++]=128|f>>6&63,t[r++]=128|63&f}else{if(r+3>=o)break;t[r++]=240|f>>18,t[r++]=128|f>>12&63,t[r++]=128|f>>6&63,t[r++]=128|63&f}}return t[r]=0,r-n}(i,f,0,f.length),n&&(f.length=s),f),r=Qr.alloc(t,I);return Qr.copy(t,I,r),r}var i,n,o,a,f,s;return e}function Xr(e){if("object"==typeof e){var t=Qr.alloc(e,I);return Qr.copy(e,I,t),t}return e}function Hr(){throw"cannot construct a VoidPtr, no constructor in IDL"}function qr(){this.ptr=se(),zr(qr)[this.ptr]=this}function $r(){this.ptr=le(),zr($r)[this.ptr]=this}function Kr(){this.ptr=pe(),zr(Kr)[this.ptr]=this}function ei(){this.ptr=_e(),zr(ei)[this.ptr]=this}function ti(){this.ptr=xe(),zr(ti)[this.ptr]=this}function ri(){this.ptr=Me(),zr(ri)[this.ptr]=this}function ii(){this.ptr=Se(),zr(ii)[this.ptr]=this}function ni(){this.ptr=Oe(),zr(ni)[this.ptr]=this}function oi(){this.ptr=Je(),zr(oi)[this.ptr]=this}function ai(){throw"cannot construct a Status, no constructor in IDL"}function fi(){this.ptr=$e(),zr(fi)[this.ptr]=this}function si(){this.ptr=rt(),zr(si)[this.ptr]=this}function ci(){this.ptr=at(),zr(ci)[this.ptr]=this}function ui(){this.ptr=ut(),zr(ui)[this.ptr]=this}function li(){this.ptr=pt(),zr(li)[this.ptr]=this}function bi(){this.ptr=kt(),zr(bi)[this.ptr]=this}function Ai(){this.ptr=gt(),zr(Ai)[this.ptr]=this}function pi(){this.ptr=Bt(),zr(pi)[this.ptr]=this}function di(){this.ptr=Ut(),zr(di)[this.ptr]=this}return Hr.prototype=Object.create(Yr.prototype),Hr.prototype.constructor=Hr,Hr.prototype.__class__=Hr,Hr.__cache__={},s.VoidPtr=Hr,Hr.prototype.__destroy__=Hr.prototype.__destroy__=function(){var e=this.ptr;fe(e)},qr.prototype=Object.create(Yr.prototype),qr.prototype.constructor=qr,qr.prototype.__class__=qr,qr.__cache__={},s.DecoderBuffer=qr,qr.prototype.Init=qr.prototype.Init=function(e,t){var r=this.ptr;Qr.prepare(),"object"==typeof e&&(e=Xr(e)),t&&"object"==typeof t&&(t=t.ptr),ce(r,e,t)},qr.prototype.__destroy__=qr.prototype.__destroy__=function(){var e=this.ptr;ue(e)},$r.prototype=Object.create(Yr.prototype),$r.prototype.constructor=$r,$r.prototype.__class__=$r,$r.__cache__={},s.AttributeTransformData=$r,$r.prototype.transform_type=$r.prototype.transform_type=function(){var e=this.ptr;return be(e)},$r.prototype.__destroy__=$r.prototype.__destroy__=function(){var e=this.ptr;Ae(e)},Kr.prototype=Object.create(Yr.prototype),Kr.prototype.constructor=Kr,Kr.prototype.__class__=Kr,Kr.__cache__={},s.GeometryAttribute=Kr,Kr.prototype.__destroy__=Kr.prototype.__destroy__=function(){var e=this.ptr;de(e)},ei.prototype=Object.create(Yr.prototype),ei.prototype.constructor=ei,ei.prototype.__class__=ei,ei.__cache__={},s.PointAttribute=ei,ei.prototype.size=ei.prototype.size=function(){var e=this.ptr;return he(e)},ei.prototype.GetAttributeTransformData=ei.prototype.GetAttributeTransformData=function(){var e=this.ptr;return Jr(ke(e),$r)},ei.prototype.attribute_type=ei.prototype.attribute_type=function(){var e=this.ptr;return me(e)},ei.prototype.data_type=ei.prototype.data_type=function(){var e=this.ptr;return ye(e)},ei.prototype.num_components=ei.prototype.num_components=function(){var e=this.ptr;return ve(e)},ei.prototype.normalized=ei.prototype.normalized=function(){var e=this.ptr;return!!ge(e)},ei.prototype.byte_stride=ei.prototype.byte_stride=function(){var e=this.ptr;return we(e)},ei.prototype.byte_offset=ei.prototype.byte_offset=function(){var e=this.ptr;return Ee(e)},ei.prototype.unique_id=ei.prototype.unique_id=function(){var e=this.ptr;return Te(e)},ei.prototype.__destroy__=ei.prototype.__destroy__=function(){var e=this.ptr;Be(e)},ti.prototype=Object.create(Yr.prototype),ti.prototype.constructor=ti,ti.prototype.__class__=ti,ti.__cache__={},s.AttributeQuantizationTransform=ti,ti.prototype.InitFromAttribute=ti.prototype.InitFromAttribute=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),!!Re(t,e)},ti.prototype.quantization_bits=ti.prototype.quantization_bits=function(){var e=this.ptr;return Ne(e)},ti.prototype.min_value=ti.prototype.min_value=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Ie(t,e)},ti.prototype.range=ti.prototype.range=function(){var e=this.ptr;return Ce(e)},ti.prototype.__destroy__=ti.prototype.__destroy__=function(){var e=this.ptr;De(e)},ri.prototype=Object.create(Yr.prototype),ri.prototype.constructor=ri,ri.prototype.__class__=ri,ri.__cache__={},s.AttributeOctahedronTransform=ri,ri.prototype.InitFromAttribute=ri.prototype.InitFromAttribute=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),!!Ge(t,e)},ri.prototype.quantization_bits=ri.prototype.quantization_bits=function(){var e=this.ptr;return Ue(e)},ri.prototype.__destroy__=ri.prototype.__destroy__=function(){var e=this.ptr;Ve(e)},ii.prototype=Object.create(Yr.prototype),ii.prototype.constructor=ii,ii.prototype.__class__=ii,ii.__cache__={},s.PointCloud=ii,ii.prototype.num_attributes=ii.prototype.num_attributes=function(){var e=this.ptr;return Fe(e)},ii.prototype.num_points=ii.prototype.num_points=function(){var e=this.ptr;return We(e)},ii.prototype.__destroy__=ii.prototype.__destroy__=function(){var e=this.ptr;je(e)},ni.prototype=Object.create(Yr.prototype),ni.prototype.constructor=ni,ni.prototype.__class__=ni,ni.__cache__={},s.Mesh=ni,ni.prototype.num_faces=ni.prototype.num_faces=function(){var e=this.ptr;return Ze(e)},ni.prototype.num_attributes=ni.prototype.num_attributes=function(){var e=this.ptr;return Pe(e)},ni.prototype.num_points=ni.prototype.num_points=function(){var e=this.ptr;return Ye(e)},ni.prototype.__destroy__=ni.prototype.__destroy__=function(){var e=this.ptr;ze(e)},oi.prototype=Object.create(Yr.prototype),oi.prototype.constructor=oi,oi.prototype.__class__=oi,oi.__cache__={},s.Metadata=oi,oi.prototype.__destroy__=oi.prototype.__destroy__=function(){var e=this.ptr;Qe(e)},ai.prototype=Object.create(Yr.prototype),ai.prototype.constructor=ai,ai.prototype.__class__=ai,ai.__cache__={},s.Status=ai,ai.prototype.code=ai.prototype.code=function(){var e=this.ptr;return Le(e)},ai.prototype.ok=ai.prototype.ok=function(){var e=this.ptr;return!!Xe(e)},ai.prototype.error_msg=ai.prototype.error_msg=function(){var e=this.ptr;return G(He(e))},ai.prototype.__destroy__=ai.prototype.__destroy__=function(){var e=this.ptr;qe(e)},fi.prototype=Object.create(Yr.prototype),fi.prototype.constructor=fi,fi.prototype.__class__=fi,fi.__cache__={},s.DracoFloat32Array=fi,fi.prototype.GetValue=fi.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Ke(t,e)},fi.prototype.size=fi.prototype.size=function(){var e=this.ptr;return et(e)},fi.prototype.__destroy__=fi.prototype.__destroy__=function(){var e=this.ptr;tt(e)},si.prototype=Object.create(Yr.prototype),si.prototype.constructor=si,si.prototype.__class__=si,si.__cache__={},s.DracoInt8Array=si,si.prototype.GetValue=si.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),it(t,e)},si.prototype.size=si.prototype.size=function(){var e=this.ptr;return nt(e)},si.prototype.__destroy__=si.prototype.__destroy__=function(){var e=this.ptr;ot(e)},ci.prototype=Object.create(Yr.prototype),ci.prototype.constructor=ci,ci.prototype.__class__=ci,ci.__cache__={},s.DracoUInt8Array=ci,ci.prototype.GetValue=ci.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),ft(t,e)},ci.prototype.size=ci.prototype.size=function(){var e=this.ptr;return st(e)},ci.prototype.__destroy__=ci.prototype.__destroy__=function(){var e=this.ptr;ct(e)},ui.prototype=Object.create(Yr.prototype),ui.prototype.constructor=ui,ui.prototype.__class__=ui,ui.__cache__={},s.DracoInt16Array=ui,ui.prototype.GetValue=ui.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),lt(t,e)},ui.prototype.size=ui.prototype.size=function(){var e=this.ptr;return bt(e)},ui.prototype.__destroy__=ui.prototype.__destroy__=function(){var e=this.ptr;At(e)},li.prototype=Object.create(Yr.prototype),li.prototype.constructor=li,li.prototype.__class__=li,li.__cache__={},s.DracoUInt16Array=li,li.prototype.GetValue=li.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),dt(t,e)},li.prototype.size=li.prototype.size=function(){var e=this.ptr;return _t(e)},li.prototype.__destroy__=li.prototype.__destroy__=function(){var e=this.ptr;ht(e)},bi.prototype=Object.create(Yr.prototype),bi.prototype.constructor=bi,bi.prototype.__class__=bi,bi.__cache__={},s.DracoInt32Array=bi,bi.prototype.GetValue=bi.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),mt(t,e)},bi.prototype.size=bi.prototype.size=function(){var e=this.ptr;return yt(e)},bi.prototype.__destroy__=bi.prototype.__destroy__=function(){var e=this.ptr;vt(e)},Ai.prototype=Object.create(Yr.prototype),Ai.prototype.constructor=Ai,Ai.prototype.__class__=Ai,Ai.__cache__={},s.DracoUInt32Array=Ai,Ai.prototype.GetValue=Ai.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),wt(t,e)},Ai.prototype.size=Ai.prototype.size=function(){var e=this.ptr;return Et(e)},Ai.prototype.__destroy__=Ai.prototype.__destroy__=function(){var e=this.ptr;Tt(e)},pi.prototype=Object.create(Yr.prototype),pi.prototype.constructor=pi,pi.prototype.__class__=pi,pi.__cache__={},s.MetadataQuerier=pi,pi.prototype.HasEntry=pi.prototype.HasEntry=function(e,t){var r=this.ptr;return Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),!!xt(r,e,t)},pi.prototype.GetIntEntry=pi.prototype.GetIntEntry=function(e,t){var r=this.ptr;return Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),Rt(r,e,t)},pi.prototype.GetIntEntryArray=pi.prototype.GetIntEntryArray=function(e,t,r){var i=this.ptr;Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),r&&"object"==typeof r&&(r=r.ptr),Nt(i,e,t,r)},pi.prototype.GetDoubleEntry=pi.prototype.GetDoubleEntry=function(e,t){var r=this.ptr;return Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),It(r,e,t)},pi.prototype.GetStringEntry=pi.prototype.GetStringEntry=function(e,t){var r=this.ptr;return Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),G(Ct(r,e,t))},pi.prototype.NumEntries=pi.prototype.NumEntries=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Dt(t,e)},pi.prototype.GetEntryName=pi.prototype.GetEntryName=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),G(Mt(r,e,t))},pi.prototype.__destroy__=pi.prototype.__destroy__=function(){var e=this.ptr;Gt(e)},di.prototype=Object.create(Yr.prototype),di.prototype.constructor=di,di.prototype.__class__=di,di.__cache__={},s.Decoder=di,di.prototype.DecodeArrayToPointCloud=di.prototype.DecodeArrayToPointCloud=function(e,t,r){var i=this.ptr;return Qr.prepare(),"object"==typeof e&&(e=Xr(e)),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),Jr(Vt(i,e,t,r),ai)},di.prototype.DecodeArrayToMesh=di.prototype.DecodeArrayToMesh=function(e,t,r){var i=this.ptr;return Qr.prepare(),"object"==typeof e&&(e=Xr(e)),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),Jr(St(i,e,t,r),ai)},di.prototype.GetAttributeId=di.prototype.GetAttributeId=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),Ft(r,e,t)},di.prototype.GetAttributeIdByName=di.prototype.GetAttributeIdByName=function(e,t){var r=this.ptr;return Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),Wt(r,e,t)},di.prototype.GetAttributeIdByMetadataEntry=di.prototype.GetAttributeIdByMetadataEntry=function(e,t,r){var i=this.ptr;return Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),r=r&&"object"==typeof r?r.ptr:Lr(r),jt(i,e,t,r)},di.prototype.GetAttribute=di.prototype.GetAttribute=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),Jr(Ot(r,e,t),ei)},di.prototype.GetAttributeByUniqueId=di.prototype.GetAttributeByUniqueId=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),Jr(Zt(r,e,t),ei)},di.prototype.GetMetadata=di.prototype.GetMetadata=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Jr(Pt(t,e),oi)},di.prototype.GetAttributeMetadata=di.prototype.GetAttributeMetadata=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),Jr(Yt(r,e,t),oi)},di.prototype.GetFaceFromMesh=di.prototype.GetFaceFromMesh=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!zt(i,e,t,r)},di.prototype.GetTriangleStripsFromMesh=di.prototype.GetTriangleStripsFromMesh=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),Jt(r,e,t)},di.prototype.GetTrianglesUInt16Array=di.prototype.GetTrianglesUInt16Array=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!Qt(i,e,t,r)},di.prototype.GetTrianglesUInt32Array=di.prototype.GetTrianglesUInt32Array=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!Lt(i,e,t,r)},di.prototype.GetAttributeFloat=di.prototype.GetAttributeFloat=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!Xt(i,e,t,r)},di.prototype.GetAttributeFloatForAllPoints=di.prototype.GetAttributeFloatForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!Ht(i,e,t,r)},di.prototype.GetAttributeIntForAllPoints=di.prototype.GetAttributeIntForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!qt(i,e,t,r)},di.prototype.GetAttributeInt8ForAllPoints=di.prototype.GetAttributeInt8ForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!$t(i,e,t,r)},di.prototype.GetAttributeUInt8ForAllPoints=di.prototype.GetAttributeUInt8ForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!Kt(i,e,t,r)},di.prototype.GetAttributeInt16ForAllPoints=di.prototype.GetAttributeInt16ForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!er(i,e,t,r)},di.prototype.GetAttributeUInt16ForAllPoints=di.prototype.GetAttributeUInt16ForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!tr(i,e,t,r)},di.prototype.GetAttributeInt32ForAllPoints=di.prototype.GetAttributeInt32ForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!rr(i,e,t,r)},di.prototype.GetAttributeUInt32ForAllPoints=di.prototype.GetAttributeUInt32ForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!ir(i,e,t,r)},di.prototype.GetAttributeDataArrayForAllPoints=di.prototype.GetAttributeDataArrayForAllPoints=function(e,t,r,i,n){var o=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),!!nr(o,e,t,r,i,n)},di.prototype.SkipAttributeTransform=di.prototype.SkipAttributeTransform=function(e){var t=this.ptr;e&&"object"==typeof e&&(e=e.ptr),or(t,e)},di.prototype.GetEncodedGeometryType_Deprecated=di.prototype.GetEncodedGeometryType_Deprecated=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),ar(t,e)},di.prototype.DecodeBufferToPointCloud=di.prototype.DecodeBufferToPointCloud=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),Jr(fr(r,e,t),ai)},di.prototype.DecodeBufferToMesh=di.prototype.DecodeBufferToMesh=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),Jr(sr(r,e,t),ai)},di.prototype.__destroy__=di.prototype.__destroy__=function(){var e=this.ptr;cr(e)},function(){function e(){s.ATTRIBUTE_INVALID_TRANSFORM=ur(),s.ATTRIBUTE_NO_TRANSFORM=lr(),s.ATTRIBUTE_QUANTIZATION_TRANSFORM=br(),s.ATTRIBUTE_OCTAHEDRON_TRANSFORM=Ar(),s.INVALID=pr(),s.POSITION=dr(),s.NORMAL=_r(),s.COLOR=hr(),s.TEX_COORD=kr(),s.GENERIC=mr(),s.INVALID_GEOMETRY_TYPE=yr(),s.POINT_CLOUD=vr(),s.TRIANGULAR_MESH=gr(),s.DT_INVALID=wr(),s.DT_INT8=Er(),s.DT_UINT8=Tr(),s.DT_INT16=Br(),s.DT_UINT16=xr(),s.DT_INT32=Rr(),s.DT_UINT32=Nr(),s.DT_INT64=Ir(),s.DT_UINT64=Cr(),s.DT_FLOAT32=Dr(),s.DT_FLOAT64=Mr(),s.DT_BOOL=Gr(),s.DT_TYPES_COUNT=Ur(),s.OK=Vr(),s.DRACO_ERROR=Sr(),s.IO_ERROR=Fr(),s.INVALID_PARAMETER=Wr(),s.UNSUPPORTED_VERSION=jr(),s.UNKNOWN_VERSION=Or()}O?e():Z(e)}(),"function"==typeof s.onModuleParsed&&s.onModuleParsed(),s.Decoder.prototype.GetEncodedGeometryType=function(e){if(e.__class__&&e.__class__===s.DecoderBuffer)return s.Decoder.prototype.GetEncodedGeometryType_Deprecated(e);if(e.byteLength<8)return s.INVALID_GEOMETRY_TYPE;switch(e[7]){case 0:return s.POINT_CLOUD;case 1:return s.TRIANGULAR_MESH;default:return s.INVALID_GEOMETRY_TYPE}},e.ready});e.exports=f}).call(this,"/index.js",r(22),"/",r(32).Buffer)},,,function(e,t,r){"use strict";(function(e){
208
221
  /*!
209
222
  * The buffer module from node.js, for the browser.
210
223
  *
211
224
  * @author Feross Aboukhadijeh <http://feross.org>
212
225
  * @license MIT
213
226
  */
214
- var i=r(34),n=r(35),o=r(36);function a(){return s.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function f(e,t){if(a()<t)throw new RangeError("Invalid typed array length");return s.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=s.prototype:(null===e&&(e=new s(t)),e.length=t),e}function s(e,t,r){if(!(s.TYPED_ARRAY_SUPPORT||this instanceof s))return new s(e,t,r);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return l(this,e)}return c(this,e,t,r)}function c(e,t,r,i){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,r,i){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(i||0))throw new RangeError("'length' is out of bounds");t=void 0===r&&void 0===i?new Uint8Array(t):void 0===i?new Uint8Array(t,r):new Uint8Array(t,r,i);s.TYPED_ARRAY_SUPPORT?(e=t).__proto__=s.prototype:e=b(e,t);return e}(e,t,r,i):"string"==typeof t?function(e,t,r){"string"==typeof r&&""!==r||(r="utf8");if(!s.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var i=0|p(t,r),n=(e=f(e,i)).write(t,r);n!==i&&(e=e.slice(0,n));return e}(e,t,r):function(e,t){if(s.isBuffer(t)){var r=0|A(t.length);return 0===(e=f(e,r)).length||t.copy(e,0,0,r),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(i=t.length)!=i?f(e,0):b(e,t);if("Buffer"===t.type&&o(t.data))return b(e,t.data)}var i;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function l(e,t){if(u(t),e=f(e,t<0?0:0|A(t)),!s.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}function b(e,t){var r=t.length<0?0:0|A(t.length);e=f(e,r);for(var i=0;i<r;i+=1)e[i]=255&t[i];return e}function A(e){if(e>=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function p(e,t){if(s.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return Z(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return O(e).length;default:if(i)return Z(e).length;t=(""+t).toLowerCase(),i=!0}}function d(e,t,r){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return N(this,t,r);case"utf8":case"utf-8":return B(this,t,r);case"ascii":return R(this,t,r);case"latin1":case"binary":return x(this,t,r);case"base64":return T(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,r);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function _(e,t,r){var i=e[t];e[t]=e[r],e[r]=i}function h(e,t,r,i,n){if(0===e.length)return-1;if("string"==typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=n?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(n)return-1;r=e.length-1}else if(r<0){if(!n)return-1;r=0}if("string"==typeof t&&(t=s.from(t,i)),s.isBuffer(t))return 0===t.length?-1:k(e,t,r,i,n);if("number"==typeof t)return t&=255,s.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):k(e,[t],r,i,n);throw new TypeError("val must be string, number or Buffer")}function k(e,t,r,i,n){var o,a=1,f=e.length,s=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;a=2,f/=2,s/=2,r/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(n){var u=-1;for(o=r;o<f;o++)if(c(e,o)===c(t,-1===u?0:o-u)){if(-1===u&&(u=o),o-u+1===s)return u*a}else-1!==u&&(o-=o-u),u=-1}else for(r+s>f&&(r=f-s),o=r;o>=0;o--){for(var l=!0,b=0;b<s;b++)if(c(e,o+b)!==c(t,b)){l=!1;break}if(l)return o}return-1}function m(e,t,r,i){r=Number(r)||0;var n=e.length-r;i?(i=Number(i))>n&&(i=n):i=n;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var a=0;a<i;++a){var f=parseInt(t.substr(2*a,2),16);if(isNaN(f))return a;e[r+a]=f}return a}function y(e,t,r,i){return j(Z(t,e.length-r),e,r,i)}function v(e,t,r,i){return j(function(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}(t),e,r,i)}function g(e,t,r,i){return v(e,t,r,i)}function w(e,t,r,i){return j(O(t),e,r,i)}function E(e,t,r,i){return j(function(e,t){for(var r,i,n,o=[],a=0;a<e.length&&!((t-=2)<0);++a)r=e.charCodeAt(a),i=r>>8,n=r%256,o.push(n),o.push(i);return o}(t,e.length-r),e,r,i)}function T(e,t,r){return 0===t&&r===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,r))}function B(e,t,r){r=Math.min(e.length,r);for(var i=[],n=t;n<r;){var o,a,f,s,c=e[n],u=null,l=c>239?4:c>223?3:c>191?2:1;if(n+l<=r)switch(l){case 1:c<128&&(u=c);break;case 2:128==(192&(o=e[n+1]))&&(s=(31&c)<<6|63&o)>127&&(u=s);break;case 3:o=e[n+1],a=e[n+2],128==(192&o)&&128==(192&a)&&(s=(15&c)<<12|(63&o)<<6|63&a)>2047&&(s<55296||s>57343)&&(u=s);break;case 4:o=e[n+1],a=e[n+2],f=e[n+3],128==(192&o)&&128==(192&a)&&128==(192&f)&&(s=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&f)>65535&&s<1114112&&(u=s)}null===u?(u=65533,l=1):u>65535&&(u-=65536,i.push(u>>>10&1023|55296),u=56320|1023&u),i.push(u),n+=l}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var r="",i=0;for(;i<t;)r+=String.fromCharCode.apply(String,e.slice(i,i+=4096));return r}(i)}t.Buffer=s,t.SlowBuffer=function(e){+e!=e&&(e=0);return s.alloc(+e)},t.INSPECT_MAX_BYTES=50,s.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=a(),s.poolSize=8192,s._augment=function(e){return e.__proto__=s.prototype,e},s.from=function(e,t,r){return c(null,e,t,r)},s.TYPED_ARRAY_SUPPORT&&(s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&s[Symbol.species]===s&&Object.defineProperty(s,Symbol.species,{value:null,configurable:!0})),s.alloc=function(e,t,r){return function(e,t,r,i){return u(t),t<=0?f(e,t):void 0!==r?"string"==typeof i?f(e,t).fill(r,i):f(e,t).fill(r):f(e,t)}(null,e,t,r)},s.allocUnsafe=function(e){return l(null,e)},s.allocUnsafeSlow=function(e){return l(null,e)},s.isBuffer=function(e){return!(null==e||!e._isBuffer)},s.compare=function(e,t){if(!s.isBuffer(e)||!s.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,i=t.length,n=0,o=Math.min(r,i);n<o;++n)if(e[n]!==t[n]){r=e[n],i=t[n];break}return r<i?-1:i<r?1:0},s.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},s.concat=function(e,t){if(!o(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return s.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var i=s.allocUnsafe(t),n=0;for(r=0;r<e.length;++r){var a=e[r];if(!s.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(i,n),n+=a.length}return i},s.byteLength=p,s.prototype._isBuffer=!0,s.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)_(this,t,t+1);return this},s.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)_(this,t,t+3),_(this,t+1,t+2);return this},s.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)_(this,t,t+7),_(this,t+1,t+6),_(this,t+2,t+5),_(this,t+3,t+4);return this},s.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?B(this,0,e):d.apply(this,arguments)},s.prototype.equals=function(e){if(!s.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===s.compare(this,e)},s.prototype.inspect=function(){var e="",r=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),"<Buffer "+e+">"},s.prototype.compare=function(e,t,r,i,n){if(!s.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),t<0||r>e.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&t>=r)return 0;if(i>=n)return-1;if(t>=r)return 1;if(this===e)return 0;for(var o=(n>>>=0)-(i>>>=0),a=(r>>>=0)-(t>>>=0),f=Math.min(o,a),c=this.slice(i,n),u=e.slice(t,r),l=0;l<f;++l)if(c[l]!==u[l]){o=c[l],a=u[l];break}return o<a?-1:a<o?1:0},s.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},s.prototype.indexOf=function(e,t,r){return h(this,e,t,r,!0)},s.prototype.lastIndexOf=function(e,t,r){return h(this,e,t,r,!1)},s.prototype.write=function(e,t,r,i){if(void 0===t)i="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)i=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(r)?(r|=0,void 0===i&&(i="utf8")):(i=r,r=void 0)}var n=this.length-t;if((void 0===r||r>n)&&(r=n),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return m(this,e,t,r);case"utf8":case"utf-8":return y(this,e,t,r);case"ascii":return v(this,e,t,r);case"latin1":case"binary":return g(this,e,t,r);case"base64":return w(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function R(e,t,r){var i="";r=Math.min(e.length,r);for(var n=t;n<r;++n)i+=String.fromCharCode(127&e[n]);return i}function x(e,t,r){var i="";r=Math.min(e.length,r);for(var n=t;n<r;++n)i+=String.fromCharCode(e[n]);return i}function N(e,t,r){var i=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>i)&&(r=i);for(var n="",o=t;o<r;++o)n+=W(e[o]);return n}function I(e,t,r){for(var i=e.slice(t,r),n="",o=0;o<i.length;o+=2)n+=String.fromCharCode(i[o]+256*i[o+1]);return n}function C(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function D(e,t,r,i,n,o){if(!s.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>n||t<o)throw new RangeError('"value" argument is out of bounds');if(r+i>e.length)throw new RangeError("Index out of range")}function M(e,t,r,i){t<0&&(t=65535+t+1);for(var n=0,o=Math.min(e.length-r,2);n<o;++n)e[r+n]=(t&255<<8*(i?n:1-n))>>>8*(i?n:1-n)}function G(e,t,r,i){t<0&&(t=4294967295+t+1);for(var n=0,o=Math.min(e.length-r,4);n<o;++n)e[r+n]=t>>>8*(i?n:3-n)&255}function U(e,t,r,i,n,o){if(r+i>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function V(e,t,r,i,o){return o||U(e,0,r,4),n.write(e,t,r,i,23,4),r+4}function F(e,t,r,i,o){return o||U(e,0,r,8),n.write(e,t,r,i,52,8),r+8}s.prototype.slice=function(e,t){var r,i=this.length;if((e=~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),(t=void 0===t?i:~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),t<e&&(t=e),s.TYPED_ARRAY_SUPPORT)(r=this.subarray(e,t)).__proto__=s.prototype;else{var n=t-e;r=new s(n,void 0);for(var o=0;o<n;++o)r[o]=this[o+e]}return r},s.prototype.readUIntLE=function(e,t,r){e|=0,t|=0,r||C(e,t,this.length);for(var i=this[e],n=1,o=0;++o<t&&(n*=256);)i+=this[e+o]*n;return i},s.prototype.readUIntBE=function(e,t,r){e|=0,t|=0,r||C(e,t,this.length);for(var i=this[e+--t],n=1;t>0&&(n*=256);)i+=this[e+--t]*n;return i},s.prototype.readUInt8=function(e,t){return t||C(e,1,this.length),this[e]},s.prototype.readUInt16LE=function(e,t){return t||C(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUInt16BE=function(e,t){return t||C(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUInt32LE=function(e,t){return t||C(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},s.prototype.readUInt32BE=function(e,t){return t||C(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},s.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||C(e,t,this.length);for(var i=this[e],n=1,o=0;++o<t&&(n*=256);)i+=this[e+o]*n;return i>=(n*=128)&&(i-=Math.pow(2,8*t)),i},s.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||C(e,t,this.length);for(var i=t,n=1,o=this[e+--i];i>0&&(n*=256);)o+=this[e+--i]*n;return o>=(n*=128)&&(o-=Math.pow(2,8*t)),o},s.prototype.readInt8=function(e,t){return t||C(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},s.prototype.readInt16LE=function(e,t){t||C(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt16BE=function(e,t){t||C(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt32LE=function(e,t){return t||C(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},s.prototype.readInt32BE=function(e,t){return t||C(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},s.prototype.readFloatLE=function(e,t){return t||C(e,4,this.length),n.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,t){return t||C(e,4,this.length),n.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,t){return t||C(e,8,this.length),n.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,t){return t||C(e,8,this.length),n.read(this,e,!1,52,8)},s.prototype.writeUIntLE=function(e,t,r,i){(e=+e,t|=0,r|=0,i)||D(this,e,t,r,Math.pow(2,8*r)-1,0);var n=1,o=0;for(this[t]=255&e;++o<r&&(n*=256);)this[t+o]=e/n&255;return t+r},s.prototype.writeUIntBE=function(e,t,r,i){(e=+e,t|=0,r|=0,i)||D(this,e,t,r,Math.pow(2,8*r)-1,0);var n=r-1,o=1;for(this[t+n]=255&e;--n>=0&&(o*=256);)this[t+n]=e/o&255;return t+r},s.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,1,255,0),s.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},s.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):M(this,e,t,!0),t+2},s.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):M(this,e,t,!1),t+2},s.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):G(this,e,t,!0),t+4},s.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):G(this,e,t,!1),t+4},s.prototype.writeIntLE=function(e,t,r,i){if(e=+e,t|=0,!i){var n=Math.pow(2,8*r-1);D(this,e,t,r,n-1,-n)}var o=0,a=1,f=0;for(this[t]=255&e;++o<r&&(a*=256);)e<0&&0===f&&0!==this[t+o-1]&&(f=1),this[t+o]=(e/a>>0)-f&255;return t+r},s.prototype.writeIntBE=function(e,t,r,i){if(e=+e,t|=0,!i){var n=Math.pow(2,8*r-1);D(this,e,t,r,n-1,-n)}var o=r-1,a=1,f=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===f&&0!==this[t+o+1]&&(f=1),this[t+o]=(e/a>>0)-f&255;return t+r},s.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,1,127,-128),s.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},s.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):M(this,e,t,!0),t+2},s.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):M(this,e,t,!1),t+2},s.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,4,2147483647,-2147483648),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):G(this,e,t,!0),t+4},s.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):G(this,e,t,!1),t+4},s.prototype.writeFloatLE=function(e,t,r){return V(this,e,t,!0,r)},s.prototype.writeFloatBE=function(e,t,r){return V(this,e,t,!1,r)},s.prototype.writeDoubleLE=function(e,t,r){return F(this,e,t,!0,r)},s.prototype.writeDoubleBE=function(e,t,r){return F(this,e,t,!1,r)},s.prototype.copy=function(e,t,r,i){if(r||(r=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i<r&&(i=r),i===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t<i-r&&(i=e.length-t+r);var n,o=i-r;if(this===e&&r<t&&t<i)for(n=o-1;n>=0;--n)e[n+t]=this[n+r];else if(o<1e3||!s.TYPED_ARRAY_SUPPORT)for(n=0;n<o;++n)e[n+t]=this[n+r];else Uint8Array.prototype.set.call(e,this.subarray(r,r+o),t);return o},s.prototype.fill=function(e,t,r,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,r=this.length):"string"==typeof r&&(i=r,r=this.length),1===e.length){var n=e.charCodeAt(0);n<256&&(e=n)}if(void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!s.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var o;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(o=t;o<r;++o)this[o]=e;else{var a=s.isBuffer(e)?e:Z(new s(e,i).toString()),f=a.length;for(o=0;o<r-t;++o)this[o+t]=a[o%f]}return this};var S=/[^+\/0-9A-Za-z-_]/g;function W(e){return e<16?"0"+e.toString(16):e.toString(16)}function Z(e,t){var r;t=t||1/0;for(var i=e.length,n=null,o=[],a=0;a<i;++a){if((r=e.charCodeAt(a))>55295&&r<57344){if(!n){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===i){(t-=3)>-1&&o.push(239,191,189);continue}n=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(t-=3)>-1&&o.push(239,191,189);if(n=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function O(e){return i.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(S,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function j(e,t,r,i){for(var n=0;n<i&&!(n+r>=t.length||n>=e.length);++n)t[n+r]=e[n];return n}}).call(this,r(33))},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t){e.exports=require("base64-js")},function(e,t){e.exports=require("ieee754")},function(e,t){e.exports=require("isarray")},,,,,function(e,t){e.exports=require("lodash/merge")},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";r.r(t),r.d(t,"HtmlOverlayTool",(function(){return b})),r.d(t,"ExplodedViewTool",(function(){return p})),r.d(t,"DebugCameraTool",(function(){return d})),r.d(t,"AxisViewTool",(function(){return B})),r.d(t,"Corner",(function(){return _})),r.d(t,"GeomapTool",(function(){return W})),r.d(t,"MapProviders",(function(){return R})),r.d(t,"MapboxMode",(function(){return x})),r.d(t,"MapboxStyle",(function(){return N})),r.d(t,"MapboxImageFormat",(function(){return C})),r.d(t,"BingMapType",(function(){return D})),r.d(t,"BingMapImageFormat",(function(){return M})),r.d(t,"HereMapType",(function(){return G})),r.d(t,"HereMapScheme",(function(){return U})),r.d(t,"HereMapImageFormat",(function(){return V})),r.d(t,"TimelineTool",(function(){return O})),r.d(t,"Keyframe",(function(){return Z})),r.d(t,"Cognite3DViewerToolBase",(function(){return o})),r.d(t,"DebugLoadedSectorsTool",(function(){return P}));var i=r(0),n=r(24);
227
+ var i=r(34),n=r(35),o=r(36);function a(){return s.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function f(e,t){if(a()<t)throw new RangeError("Invalid typed array length");return s.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=s.prototype:(null===e&&(e=new s(t)),e.length=t),e}function s(e,t,r){if(!(s.TYPED_ARRAY_SUPPORT||this instanceof s))return new s(e,t,r);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return l(this,e)}return c(this,e,t,r)}function c(e,t,r,i){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,r,i){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(i||0))throw new RangeError("'length' is out of bounds");t=void 0===r&&void 0===i?new Uint8Array(t):void 0===i?new Uint8Array(t,r):new Uint8Array(t,r,i);s.TYPED_ARRAY_SUPPORT?(e=t).__proto__=s.prototype:e=b(e,t);return e}(e,t,r,i):"string"==typeof t?function(e,t,r){"string"==typeof r&&""!==r||(r="utf8");if(!s.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var i=0|p(t,r),n=(e=f(e,i)).write(t,r);n!==i&&(e=e.slice(0,n));return e}(e,t,r):function(e,t){if(s.isBuffer(t)){var r=0|A(t.length);return 0===(e=f(e,r)).length||t.copy(e,0,0,r),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(i=t.length)!=i?f(e,0):b(e,t);if("Buffer"===t.type&&o(t.data))return b(e,t.data)}var i;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function l(e,t){if(u(t),e=f(e,t<0?0:0|A(t)),!s.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}function b(e,t){var r=t.length<0?0:0|A(t.length);e=f(e,r);for(var i=0;i<r;i+=1)e[i]=255&t[i];return e}function A(e){if(e>=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function p(e,t){if(s.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return j(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return O(e).length;default:if(i)return j(e).length;t=(""+t).toLowerCase(),i=!0}}function d(e,t,r){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return N(this,t,r);case"utf8":case"utf-8":return B(this,t,r);case"ascii":return x(this,t,r);case"latin1":case"binary":return R(this,t,r);case"base64":return T(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,r);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function _(e,t,r){var i=e[t];e[t]=e[r],e[r]=i}function h(e,t,r,i,n){if(0===e.length)return-1;if("string"==typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=n?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(n)return-1;r=e.length-1}else if(r<0){if(!n)return-1;r=0}if("string"==typeof t&&(t=s.from(t,i)),s.isBuffer(t))return 0===t.length?-1:k(e,t,r,i,n);if("number"==typeof t)return t&=255,s.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):k(e,[t],r,i,n);throw new TypeError("val must be string, number or Buffer")}function k(e,t,r,i,n){var o,a=1,f=e.length,s=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;a=2,f/=2,s/=2,r/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(n){var u=-1;for(o=r;o<f;o++)if(c(e,o)===c(t,-1===u?0:o-u)){if(-1===u&&(u=o),o-u+1===s)return u*a}else-1!==u&&(o-=o-u),u=-1}else for(r+s>f&&(r=f-s),o=r;o>=0;o--){for(var l=!0,b=0;b<s;b++)if(c(e,o+b)!==c(t,b)){l=!1;break}if(l)return o}return-1}function m(e,t,r,i){r=Number(r)||0;var n=e.length-r;i?(i=Number(i))>n&&(i=n):i=n;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var a=0;a<i;++a){var f=parseInt(t.substr(2*a,2),16);if(isNaN(f))return a;e[r+a]=f}return a}function y(e,t,r,i){return Z(j(t,e.length-r),e,r,i)}function v(e,t,r,i){return Z(function(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}(t),e,r,i)}function g(e,t,r,i){return v(e,t,r,i)}function w(e,t,r,i){return Z(O(t),e,r,i)}function E(e,t,r,i){return Z(function(e,t){for(var r,i,n,o=[],a=0;a<e.length&&!((t-=2)<0);++a)r=e.charCodeAt(a),i=r>>8,n=r%256,o.push(n),o.push(i);return o}(t,e.length-r),e,r,i)}function T(e,t,r){return 0===t&&r===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,r))}function B(e,t,r){r=Math.min(e.length,r);for(var i=[],n=t;n<r;){var o,a,f,s,c=e[n],u=null,l=c>239?4:c>223?3:c>191?2:1;if(n+l<=r)switch(l){case 1:c<128&&(u=c);break;case 2:128==(192&(o=e[n+1]))&&(s=(31&c)<<6|63&o)>127&&(u=s);break;case 3:o=e[n+1],a=e[n+2],128==(192&o)&&128==(192&a)&&(s=(15&c)<<12|(63&o)<<6|63&a)>2047&&(s<55296||s>57343)&&(u=s);break;case 4:o=e[n+1],a=e[n+2],f=e[n+3],128==(192&o)&&128==(192&a)&&128==(192&f)&&(s=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&f)>65535&&s<1114112&&(u=s)}null===u?(u=65533,l=1):u>65535&&(u-=65536,i.push(u>>>10&1023|55296),u=56320|1023&u),i.push(u),n+=l}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var r="",i=0;for(;i<t;)r+=String.fromCharCode.apply(String,e.slice(i,i+=4096));return r}(i)}t.Buffer=s,t.SlowBuffer=function(e){+e!=e&&(e=0);return s.alloc(+e)},t.INSPECT_MAX_BYTES=50,s.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=a(),s.poolSize=8192,s._augment=function(e){return e.__proto__=s.prototype,e},s.from=function(e,t,r){return c(null,e,t,r)},s.TYPED_ARRAY_SUPPORT&&(s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&s[Symbol.species]===s&&Object.defineProperty(s,Symbol.species,{value:null,configurable:!0})),s.alloc=function(e,t,r){return function(e,t,r,i){return u(t),t<=0?f(e,t):void 0!==r?"string"==typeof i?f(e,t).fill(r,i):f(e,t).fill(r):f(e,t)}(null,e,t,r)},s.allocUnsafe=function(e){return l(null,e)},s.allocUnsafeSlow=function(e){return l(null,e)},s.isBuffer=function(e){return!(null==e||!e._isBuffer)},s.compare=function(e,t){if(!s.isBuffer(e)||!s.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,i=t.length,n=0,o=Math.min(r,i);n<o;++n)if(e[n]!==t[n]){r=e[n],i=t[n];break}return r<i?-1:i<r?1:0},s.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},s.concat=function(e,t){if(!o(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return s.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var i=s.allocUnsafe(t),n=0;for(r=0;r<e.length;++r){var a=e[r];if(!s.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(i,n),n+=a.length}return i},s.byteLength=p,s.prototype._isBuffer=!0,s.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)_(this,t,t+1);return this},s.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)_(this,t,t+3),_(this,t+1,t+2);return this},s.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)_(this,t,t+7),_(this,t+1,t+6),_(this,t+2,t+5),_(this,t+3,t+4);return this},s.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?B(this,0,e):d.apply(this,arguments)},s.prototype.equals=function(e){if(!s.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===s.compare(this,e)},s.prototype.inspect=function(){var e="",r=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),"<Buffer "+e+">"},s.prototype.compare=function(e,t,r,i,n){if(!s.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),t<0||r>e.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&t>=r)return 0;if(i>=n)return-1;if(t>=r)return 1;if(this===e)return 0;for(var o=(n>>>=0)-(i>>>=0),a=(r>>>=0)-(t>>>=0),f=Math.min(o,a),c=this.slice(i,n),u=e.slice(t,r),l=0;l<f;++l)if(c[l]!==u[l]){o=c[l],a=u[l];break}return o<a?-1:a<o?1:0},s.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},s.prototype.indexOf=function(e,t,r){return h(this,e,t,r,!0)},s.prototype.lastIndexOf=function(e,t,r){return h(this,e,t,r,!1)},s.prototype.write=function(e,t,r,i){if(void 0===t)i="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)i=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(r)?(r|=0,void 0===i&&(i="utf8")):(i=r,r=void 0)}var n=this.length-t;if((void 0===r||r>n)&&(r=n),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return m(this,e,t,r);case"utf8":case"utf-8":return y(this,e,t,r);case"ascii":return v(this,e,t,r);case"latin1":case"binary":return g(this,e,t,r);case"base64":return w(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function x(e,t,r){var i="";r=Math.min(e.length,r);for(var n=t;n<r;++n)i+=String.fromCharCode(127&e[n]);return i}function R(e,t,r){var i="";r=Math.min(e.length,r);for(var n=t;n<r;++n)i+=String.fromCharCode(e[n]);return i}function N(e,t,r){var i=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>i)&&(r=i);for(var n="",o=t;o<r;++o)n+=W(e[o]);return n}function I(e,t,r){for(var i=e.slice(t,r),n="",o=0;o<i.length;o+=2)n+=String.fromCharCode(i[o]+256*i[o+1]);return n}function C(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function D(e,t,r,i,n,o){if(!s.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>n||t<o)throw new RangeError('"value" argument is out of bounds');if(r+i>e.length)throw new RangeError("Index out of range")}function M(e,t,r,i){t<0&&(t=65535+t+1);for(var n=0,o=Math.min(e.length-r,2);n<o;++n)e[r+n]=(t&255<<8*(i?n:1-n))>>>8*(i?n:1-n)}function G(e,t,r,i){t<0&&(t=4294967295+t+1);for(var n=0,o=Math.min(e.length-r,4);n<o;++n)e[r+n]=t>>>8*(i?n:3-n)&255}function U(e,t,r,i,n,o){if(r+i>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function V(e,t,r,i,o){return o||U(e,0,r,4),n.write(e,t,r,i,23,4),r+4}function S(e,t,r,i,o){return o||U(e,0,r,8),n.write(e,t,r,i,52,8),r+8}s.prototype.slice=function(e,t){var r,i=this.length;if((e=~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),(t=void 0===t?i:~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),t<e&&(t=e),s.TYPED_ARRAY_SUPPORT)(r=this.subarray(e,t)).__proto__=s.prototype;else{var n=t-e;r=new s(n,void 0);for(var o=0;o<n;++o)r[o]=this[o+e]}return r},s.prototype.readUIntLE=function(e,t,r){e|=0,t|=0,r||C(e,t,this.length);for(var i=this[e],n=1,o=0;++o<t&&(n*=256);)i+=this[e+o]*n;return i},s.prototype.readUIntBE=function(e,t,r){e|=0,t|=0,r||C(e,t,this.length);for(var i=this[e+--t],n=1;t>0&&(n*=256);)i+=this[e+--t]*n;return i},s.prototype.readUInt8=function(e,t){return t||C(e,1,this.length),this[e]},s.prototype.readUInt16LE=function(e,t){return t||C(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUInt16BE=function(e,t){return t||C(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUInt32LE=function(e,t){return t||C(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},s.prototype.readUInt32BE=function(e,t){return t||C(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},s.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||C(e,t,this.length);for(var i=this[e],n=1,o=0;++o<t&&(n*=256);)i+=this[e+o]*n;return i>=(n*=128)&&(i-=Math.pow(2,8*t)),i},s.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||C(e,t,this.length);for(var i=t,n=1,o=this[e+--i];i>0&&(n*=256);)o+=this[e+--i]*n;return o>=(n*=128)&&(o-=Math.pow(2,8*t)),o},s.prototype.readInt8=function(e,t){return t||C(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},s.prototype.readInt16LE=function(e,t){t||C(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt16BE=function(e,t){t||C(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt32LE=function(e,t){return t||C(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},s.prototype.readInt32BE=function(e,t){return t||C(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},s.prototype.readFloatLE=function(e,t){return t||C(e,4,this.length),n.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,t){return t||C(e,4,this.length),n.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,t){return t||C(e,8,this.length),n.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,t){return t||C(e,8,this.length),n.read(this,e,!1,52,8)},s.prototype.writeUIntLE=function(e,t,r,i){(e=+e,t|=0,r|=0,i)||D(this,e,t,r,Math.pow(2,8*r)-1,0);var n=1,o=0;for(this[t]=255&e;++o<r&&(n*=256);)this[t+o]=e/n&255;return t+r},s.prototype.writeUIntBE=function(e,t,r,i){(e=+e,t|=0,r|=0,i)||D(this,e,t,r,Math.pow(2,8*r)-1,0);var n=r-1,o=1;for(this[t+n]=255&e;--n>=0&&(o*=256);)this[t+n]=e/o&255;return t+r},s.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,1,255,0),s.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},s.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):M(this,e,t,!0),t+2},s.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):M(this,e,t,!1),t+2},s.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):G(this,e,t,!0),t+4},s.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):G(this,e,t,!1),t+4},s.prototype.writeIntLE=function(e,t,r,i){if(e=+e,t|=0,!i){var n=Math.pow(2,8*r-1);D(this,e,t,r,n-1,-n)}var o=0,a=1,f=0;for(this[t]=255&e;++o<r&&(a*=256);)e<0&&0===f&&0!==this[t+o-1]&&(f=1),this[t+o]=(e/a>>0)-f&255;return t+r},s.prototype.writeIntBE=function(e,t,r,i){if(e=+e,t|=0,!i){var n=Math.pow(2,8*r-1);D(this,e,t,r,n-1,-n)}var o=r-1,a=1,f=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===f&&0!==this[t+o+1]&&(f=1),this[t+o]=(e/a>>0)-f&255;return t+r},s.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,1,127,-128),s.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},s.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):M(this,e,t,!0),t+2},s.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):M(this,e,t,!1),t+2},s.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,4,2147483647,-2147483648),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):G(this,e,t,!0),t+4},s.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):G(this,e,t,!1),t+4},s.prototype.writeFloatLE=function(e,t,r){return V(this,e,t,!0,r)},s.prototype.writeFloatBE=function(e,t,r){return V(this,e,t,!1,r)},s.prototype.writeDoubleLE=function(e,t,r){return S(this,e,t,!0,r)},s.prototype.writeDoubleBE=function(e,t,r){return S(this,e,t,!1,r)},s.prototype.copy=function(e,t,r,i){if(r||(r=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i<r&&(i=r),i===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t<i-r&&(i=e.length-t+r);var n,o=i-r;if(this===e&&r<t&&t<i)for(n=o-1;n>=0;--n)e[n+t]=this[n+r];else if(o<1e3||!s.TYPED_ARRAY_SUPPORT)for(n=0;n<o;++n)e[n+t]=this[n+r];else Uint8Array.prototype.set.call(e,this.subarray(r,r+o),t);return o},s.prototype.fill=function(e,t,r,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,r=this.length):"string"==typeof r&&(i=r,r=this.length),1===e.length){var n=e.charCodeAt(0);n<256&&(e=n)}if(void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!s.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var o;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(o=t;o<r;++o)this[o]=e;else{var a=s.isBuffer(e)?e:j(new s(e,i).toString()),f=a.length;for(o=0;o<r-t;++o)this[o+t]=a[o%f]}return this};var F=/[^+\/0-9A-Za-z-_]/g;function W(e){return e<16?"0"+e.toString(16):e.toString(16)}function j(e,t){var r;t=t||1/0;for(var i=e.length,n=null,o=[],a=0;a<i;++a){if((r=e.charCodeAt(a))>55295&&r<57344){if(!n){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===i){(t-=3)>-1&&o.push(239,191,189);continue}n=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(t-=3)>-1&&o.push(239,191,189);if(n=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function O(e){return i.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(F,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function Z(e,t,r,i){for(var n=0;n<i&&!(n+r>=t.length||n>=e.length);++n)t[n+r]=e[n];return n}}).call(this,r(33))},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t){e.exports=require("base64-js")},function(e,t){e.exports=require("ieee754")},function(e,t){e.exports=require("isarray")},,function(e,t,r){"use strict";r.r(t),t.default="#define GLSLIFY 1\nuniform mat4 modelMatrix;\nuniform vec2 scale;\nuniform vec2 offset;\n\nin vec3 position;\nin vec2 uv;\n\nout vec2 vUv;\n\nconst mat4 unitOrthographicProjection = mat4(1., 0., 0., 0., 0., 1., 0., 0., 0., 0., -1., 0., 0., 0., 0., 1.);\n\nvoid main() {\n vUv = uv;\n\n vec4 clipSpace = unitOrthographicProjection * modelMatrix * vec4(position, 1.0);\n\n clipSpace.xy *= scale.xy;\n\n clipSpace.xy += vec2(-1., -1.) + offset;\n\n gl_Position = clipSpace;\n}\n"},function(e,t,r){"use strict";r.r(t),t.default="precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D tex;\n\nin vec2 vUv;\n\nout vec4 color;\n\nvoid main()\n{\n color = texture(tex, vUv); \n}\n"},,,,,function(e,t){e.exports=require("lodash/merge")},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";r.r(t),r.d(t,"HtmlOverlayTool",(function(){return b})),r.d(t,"ExplodedViewTool",(function(){return p})),r.d(t,"DebugCameraTool",(function(){return d})),r.d(t,"AxisViewTool",(function(){return R})),r.d(t,"Corner",(function(){return _})),r.d(t,"GeomapTool",(function(){return O})),r.d(t,"MapProviders",(function(){return N})),r.d(t,"MapboxMode",(function(){return I})),r.d(t,"MapboxStyle",(function(){return C})),r.d(t,"MapboxImageFormat",(function(){return M})),r.d(t,"BingMapType",(function(){return G})),r.d(t,"BingMapImageFormat",(function(){return U})),r.d(t,"HereMapType",(function(){return V})),r.d(t,"HereMapScheme",(function(){return S})),r.d(t,"HereMapImageFormat",(function(){return F})),r.d(t,"TimelineTool",(function(){return P})),r.d(t,"Keyframe",(function(){return Z})),r.d(t,"Cognite3DViewerToolBase",(function(){return o})),r.d(t,"DebugLoadedSectorsTool",(function(){return z}));var i=r(0),n=r(24);
215
228
  /*!
216
229
  * Copyright 2021 Cognite AS
217
230
  */
@@ -232,37 +245,37 @@ class b extends o{constructor(e,t){super(),this._htmlOverlays=new Map,this._comp
232
245
  */class p extends o{constructor(e,t){super(),this._cadModel=t,this._rootTreeIndex=e,this.preloadBoundingBoxData(t,e),c.a.trackCreateTool("ExplodedViewTool")}get readyPromise(){return this._treeBoundingBoxdata.then()}async expand(e){const t=await this._treeBoundingBoxdata;await Promise.all(t.map(({treeIndex:t,direction:r,transform:i})=>0===e?(this._cadModel.resetNodeTransformByTreeIndex(t),Promise.resolve(0)):(i.setPosition(r.x*e,r.y*e,r.z*e),this._cadModel.setNodeTransformByTreeIndex(t,i))))}reset(){this._cadModel.resetNodeTransformByTreeIndex(this._rootTreeIndex,!0)}preloadBoundingBoxData(e,t){const r=e.getBoundingBoxByTreeIndex(t).then(e=>e.getCenter(new i.Vector3)),n=e.getSubtreeTreeIndices(t).then(e=>{if(e.count>1e3)throw new Error(`Subtree size of ${e.count} is too large (max size = 1000)`);return e}).then(t=>Promise.all(t.toArray().map(async t=>({subTreeIndex:t,subTreeIndexBoundingBoxCenter:(await e.getBoundingBoxByTreeIndex(t)).getCenter(new i.Vector3)}))));this._treeBoundingBoxdata=Promise.all([r,n]).then(e=>{const[t,r]=e;return r.map(({subTreeIndex:e,subTreeIndexBoundingBoxCenter:r})=>({treeIndex:e,direction:(new i.Vector3).subVectors(r,t),transform:new i.Matrix4}))}).then(async t=>(await Promise.all(t.map(t=>e.setNodeTransformByTreeIndex(t.treeIndex,t.transform))),t))}}
233
246
  /*!
234
247
  * Copyright 2021 Cognite AS
235
- */class d extends o{constructor(e){super(),this._onViewerDisposedHandler=this.onViewerDisposed.bind(this),this._viewer=e,this._viewer.on("disposed",this._onViewerDisposedHandler)}get viewerCamera(){return this._viewer.getCamera()}dispose(){this._viewer.off("disposed",this._onViewerDisposedHandler),super.dispose()}showCameraHelper(){this.hideCameraHelper(),this._cameraHelper=new i.CameraHelper(this.viewerCamera.clone()),this._viewer.addObject3D(this._cameraHelper)}hideCameraHelper(){void 0!==this._cameraHelper&&(this._viewer.removeObject3D(this._cameraHelper),this._cameraHelper=void 0)}onViewerDisposed(){this.dispose()}}var _,h=r(16),k=r.n(h),m=r(41),y=r.n(m),v=r(12),g=r.n(v);!function(e){e[e.TopRight=0]="TopRight",e[e.TopLeft=1]="TopLeft",e[e.BottomLeft=2]="BottomLeft",e[e.BottomRight=3]="BottomRight"}(_||(_={}));const w={ringLabel:"N",labelDelta:Math.PI,fontSize:void 0,fontColor:new i.Color(16711680),tickColor:new i.Color(9737364)},E={label:"",fontSize:void 0,fontColor:new i.Color(3355443),outlineSize:void 0,outlineColor:new i.Color(3355443),faceColor:new i.Color(9737364)},T={size:128,position:{corner:_.BottomRight,padding:new i.Vector2},animationSpeed:200,faces:{xPositiveFace:{...E,label:"Right"},xNegativeFace:{...E,label:"Left"},yPositiveFace:{...E,label:"Up"},yNegativeFace:{...E,label:"Down"},zPositiveFace:{...E,label:"Front"},zNegativeFace:{...E,label:"Back"}},compass:w};
248
+ */class d extends o{constructor(e){super(),this._onViewerDisposedHandler=this.onViewerDisposed.bind(this),this._viewer=e,this._viewer.on("disposed",this._onViewerDisposedHandler)}get viewerCamera(){return this._viewer.getCamera()}dispose(){this._viewer.off("disposed",this._onViewerDisposedHandler),super.dispose()}showCameraHelper(){this.hideCameraHelper(),this._cameraHelper=new i.CameraHelper(this.viewerCamera.clone()),this._viewer.addObject3D(this._cameraHelper)}hideCameraHelper(){void 0!==this._cameraHelper&&(this._viewer.removeObject3D(this._cameraHelper),this._cameraHelper=void 0)}onViewerDisposed(){this.dispose()}}var _,h=r(12),k=r.n(h),m=r(44),y=r.n(m),v=r(11),g=r.n(v),w=r(8),E=r.n(w);!function(e){e[e.TopRight=0]="TopRight",e[e.TopLeft=1]="TopLeft",e[e.BottomLeft=2]="BottomLeft",e[e.BottomRight=3]="BottomRight"}(_||(_={}));const T={ringLabel:"N",labelDelta:Math.PI,fontSize:void 0,fontColor:new i.Color(16711680),tickColor:new i.Color(9737364)},B={label:"",fontSize:void 0,fontColor:new i.Color(3355443),outlineSize:void 0,outlineColor:new i.Color(3355443),faceColor:new i.Color(9737364)},x={size:128,position:{corner:_.BottomRight,padding:new i.Vector2},animationSpeed:200,faces:{xPositiveFace:{...B,label:"Right"},xNegativeFace:{...B,label:"Left"},yPositiveFace:{...B,label:"Up"},yNegativeFace:{...B,label:"Down"},zPositiveFace:{...B,label:"Front"},zNegativeFace:{...B,label:"Back"}},compass:T};
236
249
  /*!
237
250
  * Copyright 2021 Cognite AS
238
251
  */
239
- class B extends o{constructor(e,t){super(),this._dynamicUpdatePosition=()=>{},this._updateClickDiv=()=>{},this._screenPosition=new i.Vector2,this._boxFaceGeometry=new i.PlaneGeometry(.85,.85,1,1),this._raycastCamera=new i.OrthographicCamera(-1,1,1,-1,-1,1),this._raycaster=new i.Raycaster,this._viewer=e,this._layoutConfig=y()(k()(T),t),this._axisGroup=new i.Group,this._interactiveObjects=this.createAxisCross(this._axisGroup),[this._updateClickDiv,this._disposeClickDiv]=this.createClickDiv(e),this.addAxisBoxToViewer(this._axisGroup,this._layoutConfig.position),c.a.trackCreateTool("AxisViewTool")}dispose(){super.dispose(),this._viewer.removeUiObject(this._axisGroup),this._disposeClickDiv()}createClickDiv(e){if(null===e.domElement.querySelector("canvas"))throw new Error("Could not find canvas");const t=document.createElement("div");t.style.position="absolute",t.style.height=this._layoutConfig.size+"px",t.style.width=this._layoutConfig.size+"px",t.style.zIndex="1";let r=0,i=0;return t.addEventListener("mousedown",t=>{const n=new MouseEvent("mousedown",{clientX:t.clientX,clientY:t.clientY,button:t.button});r=t.clientX,i=t.clientY,e.renderer.domElement.dispatchEvent(n)}),t.addEventListener("mousemove",t=>{const r=new MouseEvent("mousemove",{clientX:t.clientX,clientY:t.clientY,button:t.button});e.renderer.domElement.dispatchEvent(r)}),t.addEventListener("contextmenu",e=>e.preventDefault()),t.addEventListener("mouseup",t=>{const n=new MouseEvent("mouseup",{clientX:t.clientX,clientY:t.clientY,button:t.button}),o=e.domElement.getBoundingClientRect(),a=t.clientX-o.left,f=t.clientY-o.top;Math.abs(r-t.clientX)+Math.abs(i-t.clientY)<=10&&!this.handleClick(a,f,o)&&e.renderer.domElement.dispatchEvent(n)}),e.domElement.appendChild(t),[()=>{t.style.left=this._screenPosition.x+"px",t.style.bottom=this._screenPosition.y+"px"},()=>{e.domElement.removeChild(t)}]}addAxisBoxToViewer(e,t){const r=this._layoutConfig.size;if(function(e){return void 0!==e.xAbsolute&&void 0!==e.yAbsolute}(t))this._screenPosition.x=t.xAbsolute,this._screenPosition.y=t.yAbsolute;else{switch(t.corner){case _.BottomRight:this._screenPosition.y=t.padding.y,this._dynamicUpdatePosition=()=>{this._screenPosition.x=this._viewer.renderer.domElement.clientWidth-t.padding.x-r};break;case _.TopRight:this._dynamicUpdatePosition=()=>{this._screenPosition.x=this._viewer.renderer.domElement.clientWidth-t.padding.x-r,this._screenPosition.y=this._viewer.renderer.domElement.clientHeight-t.padding.y-r};break;case _.TopLeft:this._screenPosition.x=t.padding.x,this._dynamicUpdatePosition=()=>{this._screenPosition.y=this._viewer.renderer.domElement.clientHeight-t.padding.y-r};break;case _.BottomLeft:this._screenPosition.x=t.padding.x,this._screenPosition.y=t.padding.y;break;default:throw new Error("Unknown corner position for Axis Cross: Corner = "+t.corner)}this._dynamicUpdatePosition()}this._viewer.addUiObject(e,this._screenPosition,new i.Vector2(r,r))}handleClick(e,t,r){const n=2*(e-this._screenPosition.x)/this._layoutConfig.size-1,o=2*(r.height-t-this._screenPosition.y)/this._layoutConfig.size-1;this._raycaster.setFromCamera({x:n,y:o},this._raycastCamera);const a=new i.Vector3(n,o,1),f=new i.Vector3(0,0,-1).normalize();this._raycaster.set(a,f);const s=this._raycaster.intersectObjects(this._interactiveObjects);if(!(s.length>0))return!1;const c=s[0].object.position.clone().normalize(),u=s[0].object.userData.upVector.clone();return this.moveCameraTo(c,u),!0}createAxisCross(e){const t=this.createBoxFaces();e.add(...t);const r=this.createCompass();return e.add(r),this.setupTransformOnRender(e),t}setupTransformOnRender(e){e.children[0].onBeforeRender=()=>{this._dynamicUpdatePosition(),e.quaternion.copy(this._viewer.getCamera().quaternion).invert(),e.updateMatrixWorld(),this._updateClickDiv()}}createBoxFaces(){const e=this._layoutConfig.faces;return[this.createBoxFace(new i.Vector3(1,0,0),e.xPositiveFace),this.createBoxFace(new i.Vector3(-1,0,0),e.xNegativeFace),this.createBoxFace(new i.Vector3(0,1,0),e.yPositiveFace,new i.Vector3(0,0,-1)),this.createBoxFace(new i.Vector3(0,-1,0),e.yNegativeFace,new i.Vector3(0,0,1)),this.createBoxFace(new i.Vector3(0,0,1),e.zPositiveFace),this.createBoxFace(new i.Vector3(0,0,-1),e.zNegativeFace)]}createCompass(){const e=new i.PlaneGeometry(2.1,2.1,1,1),t=new i.Mesh(e,new i.MeshBasicMaterial({map:this.createCompassTexture(),side:i.DoubleSide,transparent:!0})),r=Math.sin(this._layoutConfig.compass.labelDelta),n=Math.cos(this._layoutConfig.compass.labelDelta);return t.position.y=-.5,t.up.copy(new i.Vector3(r,0,n)),t.lookAt(0,0,0),t}createCompassTexture(){var e;const t=this._layoutConfig.compass,r=this._layoutConfig.size,n=document.createElement("canvas");n.width=r,n.height=r;const o=n.getContext("2d"),a=r/2,f=a-a/4,s=r/32,c=r/8;if(o.strokeStyle=t.tickColor.getStyle(),o.lineWidth=r/16,o.setLineDash([s,c]),o.beginPath(),o.arc(a,a,f,0,2*Math.PI),o.stroke(),t.ringLabel&&t.ringLabel.length>0){const i=null!==(e=t.fontSize)&&void 0!==e?e:r/5;o.font=`bold ${i}px Arial`,o.textAlign="center",o.fillStyle=t.fontColor.getStyle(),o.fillText(t.ringLabel,a,a*(1/4)+i/3)}return new i.CanvasTexture(n)}getFaceTexture(e,t){var r,n;const o=t/2,a=document.createElement("canvas");a.width=o,a.height=o;const f=a.getContext("2d");f.fillStyle=e.outlineColor.getStyle(),f.fillRect(0,0,o,o),f.fillStyle=e.faceColor.getStyle();const s=null!==(r=e.outlineSize)&&void 0!==r?r:o/32;if(f.fillRect(s,s,o-2*s,o-2*s),f.fill(),""!==e.label){const t=null!==(n=e.fontSize)&&void 0!==n?n:o/3;f.font=`bold ${t}px Arial`,f.textAlign="center",f.fillStyle=e.fontColor.getStyle(),f.fillText(e.label,o/2,o/2+t/3)}return new i.CanvasTexture(a)}createBoxFace(e,t,r=new i.Vector3(0,1,0)){const n=new i.Mesh(this._boxFaceGeometry,new i.MeshBasicMaterial({map:this.getFaceTexture(t,this._layoutConfig.size)}));return n.position.copy(e.multiplyScalar(.5*this._boxFaceGeometry.parameters.width)),n.lookAt(e.multiplyScalar(2)),n.userData.upVector=r,n}moveCameraTo(e,t){const r=this._viewer.cameraManager,{position:n,target:o,rotation:a}=r.getCameraState(),f=n.clone().sub(o),s=f.length(),c=f.clone().normalize(),u=Math.acos(c.dot(e)),l={t:0},b=new g.a.Tween(l),A=e.clone(),p=a.clone(),d=(new i.Quaternion).setFromRotationMatrix((new i.Matrix4).makeBasis(t.clone().cross(A),t,A));if(p.angleTo(d)<1e-6)return;const _=new i.Vector3,h=new i.Quaternion;b.to({t:1},this._layoutConfig.animationSpeed).onUpdate(()=>{_.copy(c).multiplyScalar(Math.sin((1-l.t)*u)/Math.sin(u)).add(e.clone().multiplyScalar(Math.sin(l.t*u)/Math.sin(u))),_.multiplyScalar(s),_.add(o),h.slerpQuaternions(p,d,l.t),r.setCameraState({position:_,rotation:h})}).onComplete(()=>{r.setCameraState({position:_,target:o})}).start(g.a.now()).update(g.a.now())}}var R,x,N,I,C,D,M,G,U,V,F=r(18);
252
+ class R extends o{constructor(e,t){super(),this._dynamicUpdatePosition=()=>{},this._updateClickDiv=()=>{},this._screenPosition=new i.Vector2,this._boxFaceGeometry=new i.PlaneGeometry(.9,.9,1,1),this._raycaster=new i.Raycaster,this._raycaster.layers.enableAll(),this._viewer=e,this._layoutConfig=y()(k()(x),t),this._axisGroup=new i.Group,this._axisGroup.name="Axis View Tool",this._axisGroup.renderOrder=1,this._interactiveObjects=this.createAxisCross(this._axisGroup),[this._updateClickDiv,this._disposeClickDiv]=this.createClickDiv(e),this.addAxisBoxToViewer(this._axisGroup,this._layoutConfig.position),c.a.trackCreateTool("AxisViewTool")}dispose(){super.dispose(),this._viewer.removeObject3D(this._axisGroup),this._disposeClickDiv()}createClickDiv(e){if(null===e.domElement.querySelector("canvas"))throw new Error("Could not find canvas");const t=document.createElement("div");t.style.position="absolute",t.style.height=this._layoutConfig.size+"px",t.style.width=this._layoutConfig.size+"px",t.style.zIndex="1";let r=0,i=0;return t.addEventListener("mousedown",t=>{const n=new MouseEvent("mousedown",{clientX:t.clientX,clientY:t.clientY,button:t.button});r=t.clientX,i=t.clientY,e.renderer.domElement.dispatchEvent(n)}),t.addEventListener("mousemove",t=>{const r=new MouseEvent("mousemove",{clientX:t.clientX,clientY:t.clientY,button:t.button});e.renderer.domElement.dispatchEvent(r)}),t.addEventListener("contextmenu",e=>e.preventDefault()),t.addEventListener("mouseup",t=>{const n=new MouseEvent("mouseup",{clientX:t.clientX,clientY:t.clientY,button:t.button}),o=e.domElement.getBoundingClientRect(),a=t.clientX-o.left,f=t.clientY-o.top;Math.abs(r-t.clientX)+Math.abs(i-t.clientY)<=10&&!this.handleClick(a,f,o)&&e.renderer.domElement.dispatchEvent(n)}),e.domElement.appendChild(t),[()=>{t.style.left=this._screenPosition.x+"px",t.style.bottom=this._screenPosition.y+"px"},()=>{e.domElement.removeChild(t)}]}addAxisBoxToViewer(e,t){const r=this._layoutConfig.size;if(function(e){return void 0!==e.xAbsolute&&void 0!==e.yAbsolute}(t))this._screenPosition.x=t.xAbsolute,this._screenPosition.y=t.yAbsolute;else{switch(t.corner){case _.BottomRight:this._screenPosition.y=t.padding.y,this._dynamicUpdatePosition=()=>{this._screenPosition.x=this._viewer.renderer.domElement.clientWidth-t.padding.x-r};break;case _.TopRight:this._dynamicUpdatePosition=()=>{this._screenPosition.x=this._viewer.renderer.domElement.clientWidth-t.padding.x-r,this._screenPosition.y=this._viewer.renderer.domElement.clientHeight-t.padding.y-r};break;case _.TopLeft:this._screenPosition.x=t.padding.x,this._dynamicUpdatePosition=()=>{this._screenPosition.y=this._viewer.renderer.domElement.clientHeight-t.padding.y-r};break;case _.BottomLeft:this._screenPosition.x=t.padding.x,this._screenPosition.y=t.padding.y;break;default:throw new Error("Unknown corner position for Axis Cross: Corner = "+t.corner)}this._dynamicUpdatePosition()}this._viewer.addObject3D(e)}handleClick(e,t,r){const n=2*(e-this._screenPosition.x)/this._layoutConfig.size-1,o=2*(r.height-t-this._screenPosition.y)/this._layoutConfig.size-1,a=new i.Vector3(n,o,1),f=new i.Vector3(0,0,-1).normalize();this._raycaster.set(a,f);const s=this._raycaster.intersectObjects(this._interactiveObjects);if(!(s.length>0))return!1;const c=s[0].object.position.clone().normalize(),u=s[0].object.userData.upVector.clone();return this.moveCameraTo(c,u),!0}createAxisCross(e){const t=this.createCompass();e.add(t);const r=this.createBoxFaces();return e.add(...r),this.setupTransformOnRender(e),r}setupTransformOnRender(e){e.children[0].onBeforeRender=t=>{this._dynamicUpdatePosition(),e.quaternion.copy(this._viewer.getCamera().quaternion).invert(),e.updateMatrixWorld(),this._updateClickDiv();const r=t.domElement.clientWidth,n=t.domElement.clientHeight,o=new i.Vector2;t.getSize(o);const a=this._layoutConfig.size,f=new i.Vector2(a/r,a/n),s=new i.Vector2(this._screenPosition.x/r*2+a/r,this._screenPosition.y/n*2+a/n);e.traverse(e=>{e instanceof i.Mesh&&(e.material.uniforms.offset.value=s,e.material.uniforms.scale.value=f,e.material.uniformsNeedUpdate=!0)})}}createBoxFaces(){const e=this._layoutConfig.faces;return[this.createBoxFace(new i.Vector3(1,0,0),e.xPositiveFace),this.createBoxFace(new i.Vector3(-1,0,0),e.xNegativeFace),this.createBoxFace(new i.Vector3(0,1,0),e.yPositiveFace,new i.Vector3(0,0,-1)),this.createBoxFace(new i.Vector3(0,-1,0),e.yNegativeFace,new i.Vector3(0,0,1)),this.createBoxFace(new i.Vector3(0,0,1),e.zPositiveFace),this.createBoxFace(new i.Vector3(0,0,-1),e.zNegativeFace)]}createCompass(){const e=new i.PlaneGeometry(2,2,1,1),t=new i.Mesh(e,new i.RawShaderMaterial({vertexShader:E()(r(38).default),fragmentShader:E()(r(39).default),uniforms:{offset:{value:new i.Vector2},scale:{value:new i.Vector2},tex:{value:this.createCompassTexture()}},side:i.DoubleSide,glslVersion:i.GLSL3,depthTest:!1,blending:i.CustomBlending,blendDst:i.OneMinusSrcAlphaFactor,blendSrc:i.SrcAlphaFactor}));t.frustumCulled=!1,t.renderOrder=1;const n=Math.sin(this._layoutConfig.compass.labelDelta),o=Math.cos(this._layoutConfig.compass.labelDelta);return t.position.y=-.45,t.up.copy(new i.Vector3(n,0,o)),t.lookAt(0,0,0),t}createCompassTexture(){var e;const t=this._layoutConfig.compass,r=this._layoutConfig.size,n=document.createElement("canvas");n.width=r,n.height=r;const o=n.getContext("2d"),a=r/2,f=a-a/4,s=r/32,c=r/8;if(o.strokeStyle=t.tickColor.getStyle(),o.lineWidth=r/16,o.setLineDash([s,c]),o.beginPath(),o.arc(a,a,f,0,2*Math.PI),o.stroke(),t.ringLabel&&t.ringLabel.length>0){const i=null!==(e=t.fontSize)&&void 0!==e?e:r/5;o.font=`bold ${i}px Arial`,o.textAlign="center",o.fillStyle=t.fontColor.getStyle(),o.fillText(t.ringLabel,a,a*(1/4)+i/3)}return new i.CanvasTexture(n)}getFaceTexture(e,t){var r,n;const o=t/2,a=document.createElement("canvas");a.width=o,a.height=o;const f=a.getContext("2d");f.fillStyle=e.outlineColor.getStyle(),f.fillRect(0,0,o,o),f.fillStyle=e.faceColor.getStyle();const s=null!==(r=e.outlineSize)&&void 0!==r?r:o/32;if(f.fillRect(s,s,o-2*s,o-2*s),f.fill(),""!==e.label){const t=null!==(n=e.fontSize)&&void 0!==n?n:o/3;f.font=`bold ${t}px Arial`,f.textAlign="center",f.fillStyle=e.fontColor.getStyle(),f.fillText(e.label,o/2,o/2+t/3)}return new i.CanvasTexture(a)}createBoxFace(e,t,n=new i.Vector3(0,1,0)){const o=new i.Mesh(this._boxFaceGeometry,new i.RawShaderMaterial({vertexShader:E()(r(38).default),fragmentShader:E()(r(39).default),uniforms:{offset:{value:new i.Vector2},scale:{value:new i.Vector2},tex:{value:this.getFaceTexture(t,this._layoutConfig.size)}},depthTest:!1,glslVersion:i.GLSL3,transparent:!0}));return o.frustumCulled=!1,o.renderOrder=1e3,o.position.copy(e.multiplyScalar(.5*this._boxFaceGeometry.parameters.width)),o.lookAt(e.multiplyScalar(2)),o.userData.upVector=n,o}moveCameraTo(e,t){const r=this._viewer.cameraManager,{position:n,target:o,rotation:a}=r.getCameraState(),f=n.clone().sub(o),s=f.length(),c=f.clone().normalize(),u=Math.acos(c.dot(e)),l={t:0},b=new g.a.Tween(l),A=e.clone(),p=a.clone(),d=(new i.Quaternion).setFromRotationMatrix((new i.Matrix4).makeBasis(t.clone().cross(A),t,A));if(p.angleTo(d)<1e-6)return;const _=new i.Vector3,h=new i.Quaternion;b.to({t:1},this._layoutConfig.animationSpeed).onUpdate(()=>{_.copy(c).multiplyScalar(Math.sin((1-l.t)*u)/Math.sin(u)).add(e.clone().multiplyScalar(Math.sin(l.t*u)/Math.sin(u))),_.multiplyScalar(s),_.add(o),h.slerpQuaternions(p,d,l.t),r.setCameraState({position:_,rotation:h})}).onComplete(()=>{r.setCameraState({position:_,target:o})}).start(g.a.now()).update(g.a.now())}}var N,I,C,D,M,G,U,V,S,F,W=r(17);
240
253
  /*!
241
254
  * Copyright 2021 Cognite AS
242
- */!function(e){e.BingMap="BingMap",e.HereMap="HereMap",e.MapboxMap="MapboxMap",e.OpenStreetMap="OpenStreetMap"}(R||(R={})),function(e){e[e.Style=100]="Style",e[e.Map_Id=101]="Map_Id"}(x||(x={})),function(e){e.Streets="mapbox/streets-v10",e.Outdoor="mapbox/outdoors-v10",e.Light="mapbox/light-v9",e.Dark="mapbox/dark-v9",e.Satellite="mapbox/satellite-v9",e.Satellite_Streets="mapbox/satellite-streets-v10",e.Navigation_Day="mapbox/navigation-preview-day-v4",e.Navigation_Night="mapbox/navigation-preview-night-v4",e.Navigation_Guide_Day="mapbox/navigation-guidance-day-v4",e.Navigation_Guide_Night="mapbox/navigation-guidance-night-v4"}(N||(N={})),function(e){e.Streets="mapbox.mapbox-streets-v7",e.Satellite="mapbox.satellite",e.Terrain="mapbox.mapbox-terrain-v2",e.Traffic="mapbox.mapbox-traffic-v1",e.TerrainRGB="mapbox.terrain-rgb"}(I||(I={})),function(e){e.PNG="png",e.PNG32="png32",e.PNG64="png64",e.PNG128="png128",e.PNG256="png256",e.JPG70="jpg70",e.JPG80="jpg80",e.JPG90="jpg90",e.PNGRAW="pngraw"}(C||(C={})),function(e){e.Aerial="a",e.Road="r",e.Aerial_Labels="h",e.Oblique="o",e.Oblique_Labels="b"}(D||(D={})),function(e){e.GIF="gif",e.JPEG="jpeg",e.PNG="png"}(M||(M={})),function(e){e.Aerial="aerial",e.Base="base",e.Pano="pano",e.Traffic="traffic"}(G||(G={})),function(e){e.Day="normal.day",e.Night="normal.night",e.Terrain="terrain.day",e.Satellite="satellite.day"}(U||(U={})),function(e){e.PNG="png",e.PNG8="png8",e.JPG="jpg"}(V||(V={}));
255
+ */!function(e){e.BingMap="BingMap",e.HereMap="HereMap",e.MapboxMap="MapboxMap",e.OpenStreetMap="OpenStreetMap"}(N||(N={})),function(e){e[e.Style=100]="Style",e[e.Map_Id=101]="Map_Id"}(I||(I={})),function(e){e.Streets="mapbox/streets-v10",e.Outdoor="mapbox/outdoors-v10",e.Light="mapbox/light-v9",e.Dark="mapbox/dark-v9",e.Satellite="mapbox/satellite-v9",e.Satellite_Streets="mapbox/satellite-streets-v10",e.Navigation_Day="mapbox/navigation-preview-day-v4",e.Navigation_Night="mapbox/navigation-preview-night-v4",e.Navigation_Guide_Day="mapbox/navigation-guidance-day-v4",e.Navigation_Guide_Night="mapbox/navigation-guidance-night-v4"}(C||(C={})),function(e){e.Streets="mapbox.mapbox-streets-v7",e.Satellite="mapbox.satellite",e.Terrain="mapbox.mapbox-terrain-v2",e.Traffic="mapbox.mapbox-traffic-v1",e.TerrainRGB="mapbox.terrain-rgb"}(D||(D={})),function(e){e.PNG="png",e.PNG32="png32",e.PNG64="png64",e.PNG128="png128",e.PNG256="png256",e.JPG70="jpg70",e.JPG80="jpg80",e.JPG90="jpg90",e.PNGRAW="pngraw"}(M||(M={})),function(e){e.Aerial="a",e.Road="r",e.Aerial_Labels="h",e.Oblique="o",e.Oblique_Labels="b"}(G||(G={})),function(e){e.GIF="gif",e.JPEG="jpeg",e.PNG="png"}(U||(U={})),function(e){e.Aerial="aerial",e.Base="base",e.Pano="pano",e.Traffic="traffic"}(V||(V={})),function(e){e.Day="normal.day",e.Night="normal.night",e.Terrain="terrain.day",e.Satellite="satellite.day"}(S||(S={})),function(e){e.PNG="png",e.PNG8="png8",e.JPG="jpg"}(F||(F={}));
243
256
  /*!
244
257
  * Copyright 2021 Cognite AS
245
258
  */
246
- class S{constructor(e,t){this._intervalId=0,this._onCameraChange=this.handleCameraChange.bind(this),this._viewer=e;const r=this.getMapProvider(t);this._map=new F.MapView(F.MapView.PLANAR,r,r),this._viewer.addObject3D(this._map);const i=F.UnitsUtils.datumsToSpherical(t.latlong.latitude,t.latlong.longitude),n=this._viewer.models[0].getModelBoundingBox();this._map.position.set(-i.x,n.min.y,i.y),this._map.updateMatrixWorld(!0),this.requestRedraw(1e4),this._viewer.on("cameraChange",this._onCameraChange)}requestRedraw(e){0==this._intervalId&&(this._intervalId=setInterval(()=>{this._viewer.requestRedraw()},100),setTimeout(()=>{clearInterval(this._intervalId),this._intervalId=0},e))}getMapProvider(e){let t;switch(e.provider){case R.BingMap:t=new F.BingMapsProvider(e.APIKey,e.type);break;case R.HereMap:t=new F.HereMapsProvider(e.APIKey,e.appCode,e.style,e.scheme,e.imageFormat,e.size);break;case R.MapboxMap:t=new F.MapBoxProvider(e.APIKey,e.id,e.mode,e.tileFormat);break;case R.OpenStreetMap:t=new F.OpenStreetMapsProvider;break;default:throw new Error("Unsupported map provider")}return t}latLongToWorldCoordinates(e){return F.UnitsUtils.datumsToSpherical(e.latitude,e.longitude)}handleCameraChange(){this.requestRedraw(1e3)}dispose(){this._viewer.removeObject3D(this._map),this._viewer.off("cameraChange",this._onCameraChange)}}
259
+ class j{constructor(e,t){this._intervalId=0,this._onCameraChange=this.handleCameraChange.bind(this),this._viewer=e;const r=this.getMapProvider(t);this._map=new W.MapView(W.MapView.PLANAR,r,r),this._viewer.addObject3D(this._map);const i=W.UnitsUtils.datumsToSpherical(t.latlong.latitude,t.latlong.longitude),n=this._viewer.models[0].getModelBoundingBox();this._map.position.set(-i.x,n.min.y,i.y),this._map.updateMatrixWorld(!0),this.requestRedraw(1e4),this._viewer.on("cameraChange",this._onCameraChange)}requestRedraw(e){0==this._intervalId&&(this._intervalId=setInterval(()=>{this._viewer.requestRedraw()},100),setTimeout(()=>{clearInterval(this._intervalId),this._intervalId=0},e))}getMapProvider(e){let t;switch(e.provider){case N.BingMap:t=new W.BingMapsProvider(e.APIKey,e.type);break;case N.HereMap:t=new W.HereMapsProvider(e.APIKey,e.appCode,e.style,e.scheme,e.imageFormat,e.size);break;case N.MapboxMap:t=new W.MapBoxProvider(e.APIKey,e.id,e.mode,e.tileFormat);break;case N.OpenStreetMap:t=new W.OpenStreetMapsProvider;break;default:throw new Error("Unsupported map provider")}return t}latLongToWorldCoordinates(e){return W.UnitsUtils.datumsToSpherical(e.latitude,e.longitude)}handleCameraChange(){this.requestRedraw(1e3)}dispose(){this._viewer.removeObject3D(this._map),this._viewer.off("cameraChange",this._onCameraChange)}}
247
260
  /*!
248
261
  * Copyright 2021 Cognite AS
249
- */class W extends o{constructor(e,t){super(),this._viewer=e,this._maps=new S(this._viewer,t),c.a.trackCreateTool("AxisViewTool")}latLongToWorldCoordinates(e){return this._maps.latLongToWorldCoordinates(e)}dispose(){super.dispose(),this._maps.dispose()}}
262
+ */class O extends o{constructor(e,t){super(),this._viewer=e,this._maps=new j(this._viewer,t),c.a.trackCreateTool("GeomapTool")}latLongToWorldCoordinates(e){return this._maps.latLongToWorldCoordinates(e)}dispose(){super.dispose(),this._maps.dispose()}}
250
263
  /*!
251
264
  * Copyright 2021 Cognite AS
252
265
  */class Z{constructor(e,t){this._nodeCollectionAndAppearance=[],this._model=e,this._date=t}getKeyframeDate(){return this._date}activate(){this._nodeCollectionAndAppearance.forEach((e,t)=>{this._model.assignStyledNodeCollection(e.nodes,e.nodeAppearance)})}deactivate(){this._nodeCollectionAndAppearance.forEach((e,t)=>{this._model.unassignStyledNodeCollection(e.nodes)})}assignStyledNodeCollection(e,t){c.a.trackCadModelStyled(e.classToken,t);const r=this._nodeCollectionAndAppearance.findIndex(t=>t.nodes===e);-1!==r?this._nodeCollectionAndAppearance[r].nodeAppearance=t:this._nodeCollectionAndAppearance.push({nodes:e,nodeAppearance:t})}unassignStyledNodeCollection(e){const t=this._nodeCollectionAndAppearance.findIndex(t=>t.nodes===e);if(-1===t)throw new Error("Node collection has not been assigned to model");this._nodeCollectionAndAppearance.splice(t,1)}}
253
266
  /*!
254
267
  * Copyright 2021 Cognite AS
255
- */class O extends o{constructor(e){super(),this._playback=void 0,this._events={dateChanged:new n.a},this._model=e,this._keyframes=new Array}subscribe(e,t){switch(e){case"dateChanged":this._events.dateChanged.subscribe(t);break;default:Object(n.b)(e,`Unsupported event: '${e}'`)}}unsubscribe(e,t){switch(e){case"dateChanged":this._events.dateChanged.unsubscribe(t);break;default:Object(n.b)(e,`Unsupported event: '${e}'`)}}createKeyframe(e){const t=new Z(this._model,e);return this._keyframes.push(t),this.sortKeyframesByDates(),t}getKeyframeByDate(e){return this._keyframes.find(t=>t.getKeyframeDate()===e)}removeKeyframe(e){const t=this._keyframes.findIndex(t=>t===e);t>-1&&this._keyframes.splice(t,1)}removeKeyframeByDate(e){const t=this._keyframes.findIndex(t=>t.getKeyframeDate()===e);t>-1&&this._keyframes.splice(t,1)}play(e,t,r){this.stop();const i={dateInMs:e.getTime()},n={dateInMs:t.getTime()},o=new g.a.Tween(i).to(n,r);let a=-1;o.onUpdate(()=>{const r=new Date(i.dateInMs),n=a;for(;a<this._keyframes.length-1&&this._keyframes[a+1].getKeyframeDate().getTime()<=r.getTime();)a++;a!==n&&(-1!==n&&this._keyframes[n].deactivate(),this._keyframes[a].activate()),this._events.dateChanged.fire({date:r,activeKeyframe:this._keyframes[a],startDate:e,endDate:t})}),this._playback=o,o.start()}stop(){void 0!==this._playback&&(this._playback.stop(),this._playback=void 0)}pause(){void 0!==this._playback&&this._playback.isPlaying()&&this._playback.pause()}resume(){void 0!==this._playback&&this._playback.isPaused()&&this._playback.resume()}getAllKeyframes(){return this._keyframes.slice()}dispose(){super.dispose(),this._events.dateChanged.unsubscribeAll()}sortKeyframesByDates(){this._keyframes.length>1&&this._keyframes.sort((e,t)=>e.getKeyframeDate().getTime()-t.getKeyframeDate().getTime())}}var j=r(3);
268
+ */class P extends o{constructor(e){super(),this._playback=void 0,this._events={dateChanged:new n.a},this._model=e,this._keyframes=new Array}subscribe(e,t){switch(e){case"dateChanged":this._events.dateChanged.subscribe(t);break;default:Object(n.b)(e,`Unsupported event: '${e}'`)}}unsubscribe(e,t){switch(e){case"dateChanged":this._events.dateChanged.unsubscribe(t);break;default:Object(n.b)(e,`Unsupported event: '${e}'`)}}createKeyframe(e){const t=new Z(this._model,e);return this._keyframes.push(t),this.sortKeyframesByDates(),t}getKeyframeByDate(e){return this._keyframes.find(t=>t.getKeyframeDate()===e)}removeKeyframe(e){const t=this._keyframes.findIndex(t=>t===e);t>-1&&this._keyframes.splice(t,1)}removeKeyframeByDate(e){const t=this._keyframes.findIndex(t=>t.getKeyframeDate()===e);t>-1&&this._keyframes.splice(t,1)}play(e,t,r){this.stop();const i={dateInMs:e.getTime()},n={dateInMs:t.getTime()},o=new g.a.Tween(i).to(n,r);let a=-1;o.onUpdate(()=>{const r=new Date(i.dateInMs),n=a;for(;a<this._keyframes.length-1&&this._keyframes[a+1].getKeyframeDate().getTime()<=r.getTime();)a++;a!==n&&(-1!==n&&this._keyframes[n].deactivate(),this._keyframes[a].activate()),this._events.dateChanged.fire({date:r,activeKeyframe:this._keyframes[a],startDate:e,endDate:t})}),this._playback=o,o.start()}stop(){void 0!==this._playback&&(this._playback.stop(),this._playback=void 0)}pause(){void 0!==this._playback&&this._playback.isPlaying()&&this._playback.pause()}resume(){void 0!==this._playback&&this._playback.isPaused()&&this._playback.resume()}getAllKeyframes(){return this._keyframes.slice()}dispose(){super.dispose(),this._events.dateChanged.unsubscribeAll()}sortKeyframesByDates(){this._keyframes.length>1&&this._keyframes.sort((e,t)=>e.getKeyframeDate().getTime()-t.getKeyframeDate().getTime())}}var Y=r(3);
256
269
  /*!
257
270
  * Copyright 2021 Cognite AS
258
271
  */
259
272
  /*!
260
273
  * Copyright 2021 Cognite AS
261
- */class P extends o{constructor(e,t={}){super(),this._boundingBoxes=new i.Group,this._viewer=e,this._viewer.addObject3D(this._boundingBoxes),this._options={},this.setOptions(t)}setOptions(e){this._options={showDetailedSectors:!0,showDiscardedSectors:!1,showSimpleSectors:!0,colorBy:"lod",leafsOnly:!1,sectorPathFilterRegex:".*",...e}}dispose(){this._viewer.removeObject3D(this._boundingBoxes)}showSectorBoundingBoxes(e){this._model=e,this.updateBoundingBoxes()}updateBoundingBoxes(){if(this._boundingBoxes.clear(),void 0===this._model)return;this._model.getModelTransformation(this._boundingBoxes.matrix);const e=[];e[j.d.Discarded]=this._options.showDiscardedSectors,e[j.d.Simple]=this._options.showSimpleSectors,e[j.d.Detailed]=this._options.showDetailedSectors;const t=[];this._model.cadNode.traverse(r=>{if(z(r)){const i=r;this.isSectorAcceptedByCurrentFilter(i)&&e[i.levelOfDetail]&&(!this._options.leafsOnly||function(e){return!e.children.some(e=>z(e))}
274
+ */class z extends o{constructor(e,t={}){super(),this._boundingBoxes=new i.Group,this._viewer=e,this._viewer.addObject3D(this._boundingBoxes),this._options={},this.setOptions(t)}setOptions(e){this._options={showDetailedSectors:!0,showDiscardedSectors:!1,showSimpleSectors:!0,colorBy:"lod",leafsOnly:!1,sectorPathFilterRegex:".*",...e}}dispose(){this._viewer.removeObject3D(this._boundingBoxes)}showSectorBoundingBoxes(e){this._model=e,this.updateBoundingBoxes()}updateBoundingBoxes(){if(this._boundingBoxes.clear(),void 0===this._model)return;this._model.getModelTransformation(this._boundingBoxes.matrix);const e=[];e[Y.d.Discarded]=this._options.showDiscardedSectors,e[Y.d.Simple]=this._options.showSimpleSectors,e[Y.d.Detailed]=this._options.showDetailedSectors;const t=[];this._model.cadNode.traverse(r=>{if(Q(r)){const i=r;this.isSectorAcceptedByCurrentFilter(i)&&e[i.levelOfDetail]&&(!this._options.leafsOnly||function(e){return!e.children.some(e=>Q(e))}
262
275
  /*!
263
276
  * Copyright 2021 Cognite AS
264
277
  */
265
278
  /*!
266
279
  * Copyright 2021 Cognite AS
267
- */(i))&&t.push(i)}}),t.forEach(e=>{const r=this.createBboxNodeFor(e,t);this._boundingBoxes.add(r)}),this._boundingBoxes.updateMatrixWorld(!0),this._viewer.requestRedraw()}isSectorAcceptedByCurrentFilter(e){return new RegExp(this._options.sectorPathFilterRegex).test(e.sectorPath)}createBboxNodeFor(e,t){const r=this._options,o=this._model.cadNode.sectorScene;const a=function(){switch(r.colorBy){case"depth":{const t=Math.min(1,e.depth/8);return new i.Color(Y.green).lerpHSL(Y.red,t)}case"lod":switch(e.levelOfDetail){case j.d.Simple:return Y.yellow;case j.d.Detailed:return Y.green;case j.d.Discarded:return Y.red;default:Object(n.b)(e.levelOfDetail)}case"random":return(new i.Color).setHSL(Math.random(),1,.5);case"loadedTimestamp":{const r=[...t].sort((e,t)=>e.updatedTimestamp-t.updatedTimestamp),n=r.findIndex(t=>t===e),o=(r.length-1-n)/Math.max(r.length-1,1);return new i.Color(Y.green).lerpHSL(Y.red,o)}case"drawcalls":{const[r,n]=t.reduce(([e,t],r)=>{const i=o.getSectorById(r.sectorId);return[Math.min(e,i.estimatedDrawCallCount),Math.max(t,i.estimatedDrawCallCount)]},[1/0,-1/0]),a=(o.getSectorById(e.sectorId).estimatedDrawCallCount-r)/(n-r);return new i.Color(Y.green).lerpHSL(Y.red,a)}default:Object(n.b)(r.colorBy)}}();return new i.Box3Helper(e.bounds,a)}}const Y={green:new i.Color("#00ff00"),yellow:new i.Color("yellow"),red:new i.Color("red")};function z(e){return e.name.match(/^Sector \d+$/)}}])}));
280
+ */(i))&&t.push(i)}}),t.forEach(e=>{const r=this.createBboxNodeFor(e,t);this._boundingBoxes.add(r)}),this._boundingBoxes.updateMatrixWorld(!0),this._viewer.requestRedraw()}isSectorAcceptedByCurrentFilter(e){return new RegExp(this._options.sectorPathFilterRegex).test(e.sectorPath)}createBboxNodeFor(e,t){const r=this._options,o=this._model.cadNode.sectorScene;const a=function(){switch(r.colorBy){case"depth":{const t=Math.min(1,e.depth/8);return new i.Color(J.green).lerpHSL(J.red,t)}case"lod":switch(e.levelOfDetail){case Y.d.Simple:return J.yellow;case Y.d.Detailed:return J.green;case Y.d.Discarded:return J.red;default:Object(n.b)(e.levelOfDetail)}case"random":return(new i.Color).setHSL(Math.random(),1,.5);case"loadedTimestamp":{const r=[...t].sort((e,t)=>e.updatedTimestamp-t.updatedTimestamp),n=r.findIndex(t=>t===e),o=(r.length-1-n)/Math.max(r.length-1,1);return new i.Color(J.green).lerpHSL(J.red,o)}case"drawcalls":{const[r,n]=t.reduce(([e,t],r)=>{const i=o.getSectorById(r.sectorId);return[Math.min(e,i.estimatedDrawCallCount),Math.max(t,i.estimatedDrawCallCount)]},[1/0,-1/0]),a=(o.getSectorById(e.sectorId).estimatedDrawCallCount-r)/(n-r);return new i.Color(J.green).lerpHSL(J.red,a)}default:Object(n.b)(r.colorBy)}}();return new i.Box3Helper(e.bounds,a)}}const J={green:new i.Color("#00ff00"),yellow:new i.Color("yellow"),red:new i.Color("red")};function Q(e){return e.name.match(/^Sector \d+$/)}}])}));
268
281
  //# sourceMappingURL=tools.map