@arcgis/core 5.2.0-next.154 → 5.2.0-next.156

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 (240) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/{d994bcf0a65d1c07160f.js → 0320cbd825f9a4222042.js} +1 -1
  3. package/assets/esri/core/workers/chunks/0590857215c547e63b51.js +1 -0
  4. package/assets/esri/core/workers/chunks/08fe248e412bb170210d.js +1 -0
  5. package/assets/esri/core/workers/chunks/0cb50bc2b2125c5fedf2.js +1 -0
  6. package/assets/esri/core/workers/chunks/1201b8c5852830836eac.js +1 -0
  7. package/assets/esri/core/workers/chunks/129e04d24ced77c9bb6d.js +1 -0
  8. package/assets/esri/core/workers/chunks/15e1117a706a98b17ad5.js +1 -0
  9. package/assets/esri/core/workers/chunks/164e74d586297946a717.js +1 -0
  10. package/assets/esri/core/workers/chunks/168a523bdc3653081f8a.js +1 -0
  11. package/assets/esri/core/workers/chunks/{6f4e6022a52de0c54aab.js → 172cfeb5f415e4662432.js} +1 -1
  12. package/assets/esri/core/workers/chunks/1aa4f5394a596e544aeb.js +1 -0
  13. package/assets/esri/core/workers/chunks/22b01fe31bbf0bdc48db.js +1 -0
  14. package/assets/esri/core/workers/chunks/27c2da2e779def2ee08b.js +1 -0
  15. package/assets/esri/core/workers/chunks/28b74bc77f7c13080074.js +1 -0
  16. package/assets/esri/core/workers/chunks/{481589c3eddad6e026ad.js → 369780276b2755361f7d.js} +1 -1
  17. package/assets/esri/core/workers/chunks/3914d96147642a9d4b01.js +1 -0
  18. package/assets/esri/core/workers/chunks/{731018c0deffc41ffc97.js → 3e3e076fa5e8d5d5f33f.js} +1 -1
  19. package/assets/esri/core/workers/chunks/43cf862577bf37344ff4.js +1 -0
  20. package/assets/esri/core/workers/chunks/4932773663469919d10a.js +1 -0
  21. package/assets/esri/core/workers/chunks/4996869b9cbd8c8ddcfa.js +1 -0
  22. package/assets/esri/core/workers/chunks/4c389472b8cdb0c55154.js +1 -0
  23. package/assets/esri/core/workers/chunks/4e4f747de424941a0bfa.js +1 -0
  24. package/assets/esri/core/workers/chunks/{eb815148ae65388dd733.js → 544070198d2ca556103a.js} +1 -1
  25. package/assets/esri/core/workers/chunks/5736feefa261589b6273.js +1 -0
  26. package/assets/esri/core/workers/chunks/{aeaaff7a4b1a99540f52.js → 5cb26bbaa08114aec5ce.js} +1 -1
  27. package/assets/esri/core/workers/chunks/5f4feca26102088ea565.js +1 -0
  28. package/assets/esri/core/workers/chunks/{407f1e8176f3b0af73b4.js → 66867e523cc82f8fe35b.js} +1 -1
  29. package/assets/esri/core/workers/chunks/6f73e41e14817acfaead.js +1 -0
  30. package/assets/esri/core/workers/chunks/{320e5942a098dd104366.js → 74137ffec5265628c33b.js} +1 -1
  31. package/assets/esri/core/workers/chunks/7446d0dfebf93e86c098.js +1 -0
  32. package/assets/esri/core/workers/chunks/{688f2dbf784e66082308.js → 74c866e0b66e61751861.js} +1 -1
  33. package/assets/esri/core/workers/chunks/7711ae5612f685078fc8.js +1 -0
  34. package/assets/esri/core/workers/chunks/{5116b569a8dbda4910c8.js → 784a2fba3e18286958d1.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{693873b3eb99fba58fa9.js → 78c4e43cfa1eda06b4d9.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{f6e62d2d279a328cbed7.js → 7bcedf479b07a4b4a234.js} +1 -1
  37. package/assets/esri/core/workers/chunks/81cad8d2f62a5f671c55.js +1 -0
  38. package/assets/esri/core/workers/chunks/{588e677f33df86a595bf.js → 820c8aaf3632edb0150c.js} +1 -1
  39. package/assets/esri/core/workers/chunks/842893e75696428d536f.js +1 -0
  40. package/assets/esri/core/workers/chunks/8e19629899a5becf8e19.js +1 -0
  41. package/assets/esri/core/workers/chunks/950d4578dc450467404c.js +1 -0
  42. package/assets/esri/core/workers/chunks/{68be3fb88ca61f82fb90.js → 95dbbddac6581b9d671f.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{a4162a8660bf763d542d.js → 967b4992b400517ee712.js} +1 -1
  44. package/assets/esri/core/workers/chunks/{adf25e5ed99615b83c68.js → a62c12925303ff802c3d.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{900181f68449d8f82eeb.js → aa1ac7954e4f0fefe15b.js} +1 -1
  46. package/assets/esri/core/workers/chunks/ac24b4370dc7194a3107.js +1 -0
  47. package/assets/esri/core/workers/chunks/acdfd275dbf8533a67f3.js +1 -0
  48. package/assets/esri/core/workers/chunks/ace2e0a9d9013edd8624.js +1 -0
  49. package/assets/esri/core/workers/chunks/b1d5d236d5268fcbc74b.js +1 -0
  50. package/assets/esri/core/workers/chunks/b3007aedbf731dacaff1.js +1 -0
  51. package/assets/esri/core/workers/chunks/{53e2f2b922116a45fe8f.js → b573df59391ca41ee5a7.js} +1 -1
  52. package/assets/esri/core/workers/chunks/bac8c32665e982896ecc.js +1 -0
  53. package/assets/esri/core/workers/chunks/{f3da30d7300b92bd8bb0.js → befa32b9e7b3fbdd431e.js} +1 -1
  54. package/assets/esri/core/workers/chunks/c19f238b55ff2893f7c2.js +1 -0
  55. package/assets/esri/core/workers/chunks/c5ed67fdf261cbb1624b.js +1 -0
  56. package/assets/esri/core/workers/chunks/c72a904e01dc8c17d992.js +1 -0
  57. package/assets/esri/core/workers/chunks/d9b1aed88b205689cec6.js +1 -0
  58. package/assets/esri/core/workers/chunks/de6081df29183bf80787.js +1 -0
  59. package/assets/esri/core/workers/chunks/{c598b22f78ccc57f9d6d.js → dfd2dc5cdc97ffba8926.js} +1 -1
  60. package/assets/esri/core/workers/chunks/e1b7806ab3e1967b15f0.js +1 -0
  61. package/assets/esri/core/workers/chunks/e653c81ffb3d818645dd.js +1 -0
  62. package/assets/esri/core/workers/chunks/eaddffcc7004101fc230.js +1 -0
  63. package/assets/esri/core/workers/chunks/eb2652ec48faa78de3c5.js +1 -0
  64. package/assets/esri/core/workers/chunks/{c62738f84c914671b143.js → f4a7aa3cdbc0c429c359.js} +1 -1
  65. package/assets/esri/core/workers/chunks/fda83bcb8e40e8044c24.js +1 -0
  66. package/assets/esri/libs/pdfjs/wasm/openjpeg_nowasm_fallback.js +1 -0
  67. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +4 -0
  68. package/assets/esri/themes/dark/main.css +1 -1
  69. package/assets/esri/themes/light/main.css +1 -1
  70. package/assets/esri/themes/light/view.css +1 -1
  71. package/assets/esri/widgets/support/uriUtils/t9n/messages.fr.json +1 -1
  72. package/config.d.ts +2 -0
  73. package/config.js +1 -1
  74. package/core/ObjectPool.js +1 -1
  75. package/core/PooledArray.js +1 -1
  76. package/core/accessorSupport/tracking/SimpleTrackingTarget.js +1 -1
  77. package/geometry/support/buffer/BufferPool.js +1 -1
  78. package/geometry/support/coordsUtils.js +1 -1
  79. package/geometry/support/curves/ellipticArc7Utils.js +1 -1
  80. package/geometry/support/curves/mathUtils.js +1 -1
  81. package/interfaces.d.ts +18 -9
  82. package/kernel.js +1 -1
  83. package/layers/AnnotationFeatureLayer.d.ts +2 -2
  84. package/layers/AnnotationFeatureLayer.js +1 -1
  85. package/layers/CatalogLayer.d.ts +2 -2
  86. package/layers/CatalogLayer.js +1 -1
  87. package/layers/DimensionFeatureLayer.d.ts +2 -2
  88. package/layers/DimensionFeatureLayer.js +1 -1
  89. package/layers/FeatureLayer.d.ts +2 -2
  90. package/layers/FeatureLayer.js +1 -1
  91. package/layers/SubtypeGroupLayer.d.ts +2 -2
  92. package/layers/SubtypeGroupLayer.js +1 -1
  93. package/layers/geospatialPDF/GeospatialPDFFrame.js +1 -1
  94. package/layers/geospatialPDF/GeospatialPDFLayerWorker.js +9 -9
  95. package/layers/geospatialPDF/GeospatialPDFWorkerClient.js +1 -1
  96. package/layers/geospatialPDF/LGIDictMapFrame.js +1 -1
  97. package/layers/geospatialPDF/ViewportMeasureFrame.js +1 -1
  98. package/layers/geospatialPDF/geospatialPDFParserUtils.js +1 -1
  99. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  100. package/layers/graphics/sources/GeoJSONSource.js +1 -1
  101. package/layers/graphics/sources/geojson/GeoJSONSourceWorker.js +1 -1
  102. package/layers/graphics/sources/parquet/FileProvider.js +1 -1
  103. package/layers/graphics/sources/support/MemorySourceWorker.js +1 -1
  104. package/layers/graphics/sources/support/clientSideDefaults.js +1 -1
  105. package/layers/graphics/sources/support/sourceUtils.js +1 -1
  106. package/layers/mixins/{FeatureLayerReload.d.ts → ReloadableLayer.d.ts} +5 -3
  107. package/layers/mixins/ReloadableLayer.js +2 -0
  108. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  109. package/layers/raster/datasets/BaseRaster.js +1 -1
  110. package/layers/raster/datasets/GeospatialPDFRaster.js +1 -1
  111. package/layers/raster/datasets/ImageAuxRaster.js +1 -1
  112. package/layers/raster/datasets/ImageServerRaster.js +1 -1
  113. package/layers/raster/datasets/MRFRaster.js +1 -1
  114. package/layers/raster/datasets/TIFFRaster.js +1 -1
  115. package/layers/raster/datasets/WCSRaster.js +1 -1
  116. package/layers/raster/formats/ImageCanvasDecoder.js +1 -1
  117. package/layers/raster/formats/RasterCodec.js +1 -1
  118. package/layers/raster/formats/TiffDecoder.js +1 -1
  119. package/layers/raster/formats/Zlib.js +1 -1
  120. package/layers/support/RasterWorker.js +1 -1
  121. package/layers/support/fieldUtils.js +1 -1
  122. package/layers/support/vectorTileLayerLoader.js +1 -1
  123. package/package.json +2 -2
  124. package/popup/FeatureModel.js +1 -1
  125. package/popup/FeaturesModel.js +1 -1
  126. package/portal/schemas/definitions.js +1 -1
  127. package/request/process.js +1 -1
  128. package/request/types.d.ts +7 -0
  129. package/symbols/cim/cimAnalyzer.js +1 -1
  130. package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
  131. package/views/2d/engine/vectorTiles/style/GeoJSONVectorTileSource.js +1 -1
  132. package/views/2d/engine/vectorTiles/style/GeoJSONVectorTileSourceWorker.js +1 -1
  133. package/views/2d/engine/vectorTiles/style/geoJSONVectorTileUtils.js +2 -0
  134. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueBackground.js +1 -1
  135. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueFill.js +1 -1
  136. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  137. package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
  138. package/views/3d/analysis/DirectLineMeasurementAnalysisView3D.js +1 -1
  139. package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
  140. package/views/3d/analysis/LineOfSight/LineOfSightObserverPlugin.js +1 -1
  141. package/views/3d/analysis/LineOfSight/LineOfSightPlacementController.js +1 -1
  142. package/views/3d/analysis/LineOfSight/{LineOfSightRootPlugin.js → LineOfSightPlacementRootPlugin.js} +1 -1
  143. package/views/3d/analysis/LineOfSight/LineOfSightTargetPlugin.js +1 -1
  144. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  145. package/views/3d/analysis/Viewshed/ViewshedPlacementPointPlugin.js +1 -1
  146. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  147. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  148. package/views/3d/interactive/editingTools/ManipulatedObject3DGraphic.js +1 -1
  149. package/views/3d/support/MemoryController.js +1 -1
  150. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  151. package/views/3d/webgl-engine/effects/geometry/RenderOccluded.js +1 -1
  152. package/views/3d/webgl-engine/lib/PathBuilder.js +1 -1
  153. package/views/3d/webgl-engine/lib/PathCapBuilder.js +1 -1
  154. package/views/3d/webgl-engine/lib/PathEvaluator.js +1 -1
  155. package/views/3d/webgl-engine/lib/PathExtruder.js +1 -1
  156. package/views/3d/webgl-engine/lib/PathProfile.js +1 -1
  157. package/views/3d/webgl-engine/lib/pathGeometryUtils.js +1 -1
  158. package/views/draw/DrawTool.js +1 -1
  159. package/views/draw/support/PluginContext.js +1 -1
  160. package/views/draw/support/managers/TooltipManager.js +1 -1
  161. package/views/draw/support/types.d.ts +5 -2
  162. package/webdoc/applicationProperties/SearchLayerField.d.ts +7 -1
  163. package/webdoc/applicationProperties/SearchLayerField.js +1 -1
  164. package/webdoc/applicationProperties/SearchTableField.d.ts +7 -1
  165. package/webdoc/applicationProperties/SearchTableField.js +1 -1
  166. package/webdoc/applicationProperties/searchMode.js +2 -0
  167. package/widgets/BatchAttributeForm/inputs/support/DynamicChoiceController.js +1 -1
  168. package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
  169. package/widgets/BatchAttributeForm.js +1 -1
  170. package/widgets/Editor/EditorViewModel.d.ts +10 -1
  171. package/widgets/Editor.d.ts +10 -1
  172. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  173. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  174. package/widgets/HistogramRangeSlider.d.ts +2 -2
  175. package/widgets/HistogramRangeSlider.js +1 -1
  176. package/widgets/Legend.d.ts +1 -0
  177. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  178. package/widgets/OrientedImageryViewer.js +2 -2
  179. package/widgets/PanoramicViewer/PanoramicVideoViewerViewModel.js +1 -1
  180. package/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.d.ts +5 -2
  181. package/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.js +1 -1
  182. package/widgets/ScaleRangeSlider.js +1 -1
  183. package/widgets/Search/LayerSearchSource.d.ts +23 -1
  184. package/widgets/Search/LayerSearchSource.js +1 -1
  185. package/widgets/Search/support/layerSearchUtils.js +1 -1
  186. package/widgets/Search/types.d.ts +7 -0
  187. package/widgets/ValuePicker/ValuePickerBaseComponent.d.ts +5 -1
  188. package/widgets/ValuePicker/ValuePickerCollection.d.ts +2 -0
  189. package/widgets/ValuePicker/ValuePickerCombobox.d.ts +7 -1
  190. package/widgets/ValuePicker/ValuePickerLabel.d.ts +7 -1
  191. package/widgets/ValuePicker/ValuePickerSlider.d.ts +2 -0
  192. package/widgets/ValuePicker/ValuePickerSliderVisibleElements.d.ts +5 -1
  193. package/widgets/ValuePicker/ValuePickerVisibleElements.d.ts +5 -1
  194. package/widgets/ValuePicker/types.d.ts +2 -0
  195. package/widgets/support/forms/formUtils.js +1 -1
  196. package/widgets/support/forms/types.d.ts +1 -1
  197. package/assets/esri/core/workers/chunks/03261b9451e293a0fac8.js +0 -1
  198. package/assets/esri/core/workers/chunks/03afeefb9d16b6f1d844.js +0 -1
  199. package/assets/esri/core/workers/chunks/09b9a886363bc1197785.js +0 -1
  200. package/assets/esri/core/workers/chunks/0ad0484ffcbe4ad21bd3.js +0 -1
  201. package/assets/esri/core/workers/chunks/19743dedaa40446259ec.js +0 -1
  202. package/assets/esri/core/workers/chunks/1c65ab9ed611c322ce27.js +0 -1
  203. package/assets/esri/core/workers/chunks/1f339247b68b061ab0a4.js +0 -1
  204. package/assets/esri/core/workers/chunks/251921cd10ecfbc89451.js +0 -1
  205. package/assets/esri/core/workers/chunks/3252b1fae363bb0129a0.js +0 -1
  206. package/assets/esri/core/workers/chunks/408e81c8f1eff8a7b379.js +0 -1
  207. package/assets/esri/core/workers/chunks/4fc337240e7cddd0e988.js +0 -1
  208. package/assets/esri/core/workers/chunks/50036a323c2e7f155311.js +0 -1
  209. package/assets/esri/core/workers/chunks/55dcbf296d8d0092e473.js +0 -1
  210. package/assets/esri/core/workers/chunks/5732fdf6d8b87739aeea.js +0 -1
  211. package/assets/esri/core/workers/chunks/5924ec3167a2941ebb1f.js +0 -1
  212. package/assets/esri/core/workers/chunks/59b216b60464611742d4.js +0 -1
  213. package/assets/esri/core/workers/chunks/5bfea0c55aca826de536.js +0 -1
  214. package/assets/esri/core/workers/chunks/5fa1ec357c3ad1f91bc7.js +0 -1
  215. package/assets/esri/core/workers/chunks/60d3056a31d982c9cad0.js +0 -1
  216. package/assets/esri/core/workers/chunks/6558488ea96620439f34.js +0 -1
  217. package/assets/esri/core/workers/chunks/6aebf7cfd294e88bf926.js +0 -1
  218. package/assets/esri/core/workers/chunks/6b43bb78f9839ed43135.js +0 -1
  219. package/assets/esri/core/workers/chunks/6c83398cf586ecea0eb1.js +0 -1
  220. package/assets/esri/core/workers/chunks/7267b17de212207142c9.js +0 -1
  221. package/assets/esri/core/workers/chunks/7d1fd2df579a4b535e0e.js +0 -1
  222. package/assets/esri/core/workers/chunks/7e0cf70c0eb5a2ddfcec.js +0 -1
  223. package/assets/esri/core/workers/chunks/879b2de825c1dfc8849d.js +0 -1
  224. package/assets/esri/core/workers/chunks/912080c90b5cc2e817cf.js +0 -1
  225. package/assets/esri/core/workers/chunks/917f53833b853898facc.js +0 -1
  226. package/assets/esri/core/workers/chunks/937824bc7948f7bc7845.js +0 -1
  227. package/assets/esri/core/workers/chunks/a97d85774f9a417202df.js +0 -1
  228. package/assets/esri/core/workers/chunks/aff32980d91dab07dfb7.js +0 -1
  229. package/assets/esri/core/workers/chunks/b132ffa7e8bb461b6786.js +0 -1
  230. package/assets/esri/core/workers/chunks/b1b4066e8d1c0c9656e5.js +0 -1
  231. package/assets/esri/core/workers/chunks/b6ba66a05030d3815dfd.js +0 -1
  232. package/assets/esri/core/workers/chunks/bbec9d2e3b75a5c59681.js +0 -1
  233. package/assets/esri/core/workers/chunks/bf69024804ac51c8f733.js +0 -1
  234. package/assets/esri/core/workers/chunks/d938987344bce83cc660.js +0 -1
  235. package/assets/esri/core/workers/chunks/db1ab9b9c8bf5c7635d3.js +0 -1
  236. package/assets/esri/core/workers/chunks/e01aeac34474540f61ee.js +0 -1
  237. package/assets/esri/core/workers/chunks/e15ba90af0faf873b42d.js +0 -1
  238. package/assets/esri/core/workers/chunks/fd9663952d5a94f3a83f.js +0 -1
  239. package/layers/mixins/FeatureLayerReload.js +0 -2
  240. /package/views/3d/analysis/LineOfSight/{lineOfSightPlacementUtils.js → placementUtils.js} +0 -0
@@ -0,0 +1 @@
1
+ async function OpenJPEG(f={}){var A=f,e="./this.program",i=(f,A)=>{throw A},r=import.meta.url;try{new URL(".",r).href}catch{}var a=console.log.bind(console),b=console.error.bind(console),k={Memory:function(f){this.buffer=new ArrayBuffer(65536*f.initial)},Module:function(f){},Instance:function(f,A){this.exports=function(f){for(var A,e=new Uint8Array(123),i=25;i>=0;--i)e[48+i]=52+i,e[65+i]=i,e[97+i]=26+i;function r(f,A,i){for(var r,a,b=0,k=A,B=i.length,o=A+(3*B>>2)-("="==i[B-2])-("="==i[B-1]);b<B;b+=4)r=e[i.charCodeAt(b+1)],a=e[i.charCodeAt(b+2)],f[k++]=e[i.charCodeAt(b)]<<2|r>>4,k<o&&(f[k++]=r<<4|a>>2),k<o&&(f[k++]=a<<6|e[i.charCodeAt(b+3)]);return f}e[43]=62,e[47]=63;var a=new ArrayBuffer(16),b=new Int32Array(a),k=(new Float32Array(a),new Float64Array(a));function B(f){return b[f]}function o(f,A){b[f]=A}function g(){return k[0]}function l(f){k[0]=f}function c(f,e,i){if((f>>>=0)+(i>>>=0)>A.length)throw"trap: invalid memory.fill";A.fill(e,f,f+i)}function n(f,e,i){A.copyWithin(f,e,e+i)}function I(){throw new Error("abort")}return function(f){var e=new ArrayBuffer(16777216),i=new Int8Array(e),a=new Int16Array(e),b=new Int32Array(e),k=new Uint8Array(e),s=new Uint16Array(e),G=new Uint32Array(e),t=new Float32Array(e),C=new Float64Array(e),u=Math.imul,Z=Math.fround,Q=Math.abs,W=Math.clz32,w=Math.min,V=Math.max,H=Math.floor,Y=Math.ceil,v=(Math.trunc,Math.sqrt,f.a),F=v.a,m=v.b,E=v.c,y=v.d,d=v.e,R=v.f,J=v.g,U=v.h,X=v.i,h=v.j,D=v.k,M=v.l,p=v.m,N=v.n,S=v.o,K=v.p,x=v.q,z=94240,j=0,P=0,T=0;function L(f,A,e,r,B,o){f|=0,A|=0,e|=0,r|=0,B|=0,o|=0;var g,l=0,I=0,s=0,C=0,W=0,w=0,V=0,v=0,F=0,m=0,E=0,y=0,d=0,R=0,J=0,U=0,X=0,h=0,D=0,M=0,p=0,N=0,S=0,K=0,x=0,j=0,P=0,L=0,O=0,_=0,$=0,ff=0,ef=0,af=0,kf=0,Bf=0,of=0,gf=Z(0),lf=0,nf=0,If=0,sf=0,Gf=0,tf=0,uf=0,wf=0,Yf=0,vf=0,Ff=0,mf=0,Ef=0,yf=0,df=0,Rf=0,Jf=0,Xf=0,Df=0,Mf=0,pf=Z(0),Nf=0,Sf=0,Kf=0,zf=0,jf=0,Pf=Z(0),Lf=0,Of=0,qf=0,_f=0,fA=0,AA=0,rA=0,aA=0,bA=0,kA=0,BA=0,oA=0,gA=0,lA=0,cA=0,sA=0,GA=0,CA=0,uA=0,ZA=0,QA=0,WA=0;z=g=z-16|0;f:if(!(!(128&k[f+8|0])|b[f+228>>2]!=(0|A)))if(Rf=b[f+180>>2]+u(A,5644)|0,S=b[Rf+5596>>2]){(l=b[f+100>>2])||(l=b[f+96>>2]),E=b[l>>2],m=b[l+4>>2],W=b[l+8>>2],U=b[l+12>>2],l=b[f+60>>2],I=b[f+64>>2],s=b[Rf+5600>>2],z=Ef=z-16|0,N=b[f+232>>2],b[N+36>>2]=A,C=b[b[N+28>>2]+76>>2],b[N+64>>2]=1,b[N+60>>2]=U,b[N+56>>2]=W,b[N+52>>2]=m,b[N+48>>2]=E,b[N+32>>2]=C+u(A,5644),hf(b[N+68>>2]),m=0,b[N+68>>2]=0;A:{if(l){if(!(m=DA(4,b[b[N+24>>2]+16>>2])))break A;E=3&l;e:{if(l>>>0>=4){for(W=-4&l,A=0;b[(b[(l=I+($<<2)|0)>>2]<<2)+m>>2]=1,b[(b[l+4>>2]<<2)+m>>2]=1,b[(b[l+8>>2]<<2)+m>>2]=1,b[(b[l+12>>2]<<2)+m>>2]=1,$=$+4|0,(0|W)!=(0|(A=A+4|0)););if(!E)break e}for(;b[(b[I+($<<2)>>2]<<2)+m>>2]=1,$=$+1|0,(0|E)!=(0|(d=d+1|0)););}b[N+68>>2]=m}e:{M=b[N+24>>2];i:if(V=b[M+16>>2]){$=0;r:{for(;;){if((b[($<<2)+m>>2]||!m)&&(I=b[M+24>>2]+u($,52)|0,l=0-!(A=b[I+4>>2])|0,C=be(U=(W=A-1|0)+(E=b[N+60>>2])|0,E>>>0>U>>>0?l+1|0:l,A,0),E=0-!(I=b[I>>2])|0,y=be(d=(w=I-1|0)+(U=b[N+56>>2])|0,d>>>0<U>>>0?E+1|0:E,I,0),W=be(U=(R=W)+(W=b[N+52>>2])|0,W>>>0>U>>>0?l+1|0:l,A,0),A=b[b[b[N+20>>2]>>2]+20>>2]+u($,76)|0,!((l=b[A+20>>2]-b[A+24>>2]|0)>>>0>31)&&(U=b[A+12>>2],d=b[A+8>>2],R=b[A+4>>2],((A=(I=be(h=(O=w)+(w=b[N+48>>2])|0,w>>>0>h>>>0?E+1|0:E,I,0))-b[A>>2]|0)>>>0<=I>>>0?A:0)>>>l|0||((A=W-R|0)>>>0<=W>>>0?A:0)>>>l|0||((A=d-y|0)>>>0<=d>>>0?A:0)>>>l|0||((A=U-C|0)>>>0<=U>>>0?A:0)>>>l|0))){b[N+64>>2]=0;break r}if((0|V)==(0|($=$+1|0)))break}if(b[N+64>>2]){for(d=0;;){A=b[b[b[N+20>>2]>>2]+20>>2]+u(d,76)|0,l=b[A+28>>2]+u(b[A+24>>2],152)|0,I=b[l-148>>2],E=b[l-140>>2],m=b[l-152>>2],l=b[l-144>>2],W=b[N+68>>2];a:if(b[W+(d<<2)>>2]||!W){if(tA(W=E-I|0,0,l=l-m|0),!(!T|(0|I)==(0|E))){$=0,xf(o,1,2982,0);break A}if((l=u(l,W))>>>0>=1073741824){$=0,xf(o,1,2982,0);break A}l<<=2,b[A+44>>2]=l;b:{k:{B:{if(I=b[A+36>>2]){if(l>>>0<=G[A+48>>2])break a;if(b[A+40>>2])break B}if(l=se(l),b[A+36>>2]=l,I=l,(l=b[A+44>>2])&&!I)break k;b[A+40>>2]=1,b[A+48>>2]=l;break a}if(hf(I),l=se(b[A+44>>2]),b[A+36>>2]=l,l)break b;b[A+48>>2]=0,b[A+40>>2]=0,b[A+44>>2]=0}$=0,xf(o,1,2982,0);break A}b[A+40>>2]=1,b[A+48>>2]=b[A+44>>2]}if(d=d+1|0,M=b[N+24>>2],!(d>>>0<G[M+16>>2]))break}break i}}for(x=b[M+24>>2],_=b[b[b[N+20>>2]>>2]+20>>2],A=0;;){if(b[(A<<2)+m>>2]||!m){if(l=_+u(A,76)|0,E=b[l>>2],W=x+u(A,52)|0,d=0-!(I=b[W>>2])|0,E=E>>>0>(U=be(C=(w=I-1|0)+(U=b[N+48>>2])|0,C>>>0<U>>>0?d+1|0:d,I,0))>>>0?E:U,b[l+56>>2]=E,U=b[l+4>>2],C=0-!(W=b[W+4>>2])|0,U=U>>>0>(R=be(h=(y=W-1|0)+(R=b[N+52>>2])|0,R>>>0>h>>>0?C+1|0:C,W,0))>>>0?U:R,b[l+60>>2]=U,R=b[l+8>>2],I=(I=be(h=(O=w)+(w=b[N+56>>2])|0,w>>>0>h>>>0?d+1|0:d,I,0))>>>0>R>>>0?R:I,b[l+64>>2]=I,d=b[l+12>>2],W=(W=be(y=y+(w=b[N+60>>2])|0,w>>>0>y>>>0?C+1|0:C,W,0))>>>0>d>>>0?d:W,b[l+68>>2]=W,I>>>0<E>>>0|W>>>0<U>>>0)break e;if(y=b[l+20>>2])for(R=W-1|0,K=0-!W|0,ef=I-1|0,P=0-!I|0,h=U-1|0,L=0-!U|0,ff=E-1|0,D=0-!E|0,kf=b[l+28>>2],W=0,I=0;U=kf+u(W,152)|0,l=31&(E=y+(-1^W)|0),(63&E)>>>0>=32?(w=1<<l,d=0):w=(d=1<<l)-1&1>>>32-l,C=w+K|0,X=(l=R+d|0)>>>0<R>>>0?C+1|0:C,C=31&E,l=(63&E)>>>0>=32?X>>>C|0:((1<<C)-1&X)<<32-C|l>>>C,b[U+148>>2]=l,O=(l=w+P|0)+1|0,C=l,X=(l=d+ef|0)>>>0<d>>>0?O:C,C=31&E,l=(63&E)>>>0>=32?X>>>C|0:((1<<C)-1&X)<<32-C|l>>>C,b[U+144>>2]=l,O=(l=w+L|0)+1|0,C=l,X=(l=d+h|0)>>>0<h>>>0?O:C,C=31&E,l=(63&E)>>>0>=32?X>>>C|0:((1<<C)-1&X)<<32-C|l>>>C,b[U+140>>2]=l,l=w+D|0,d=(C=d+ff|0)>>>0<ff>>>0?l+1|0:l,l=31&E,l=(63&E)>>>0>=32?d>>>l|0:((1<<l)-1&d)<<32-l|C>>>l,b[U+136>>2]=l,(I=(W=W+1|0)?I:I+1|0)|(0|W)!=(0|y););}if((0|V)==(0|(A=A+1|0)))break}}if($=0,b[Ef+8>>2]=0,A=b[N+28>>2],(ff=DA(1,8))&&(b[ff+4>>2]=A,b[ff>>2]=M),!ff)break A;ef=b[b[N+20>>2]>>2],z=h=z-144|0,w=b[N+36>>2],A=u(w,5644),I=b[ff+4>>2],P=A+b[I+76>>2]|0,af=b[P+420>>2],W=0,E=0,z=R=z-32|0,K=A+b[I+76>>2]|0,kf=b[K+420>>2],L=b[ff>>2],X=b[(V=L)+16>>2];i:if(U=ke(u(X,528))){r:if(A=ke(X<<2)){m=b[I+76>>2]+u(w,5644)|0;a:{if(l=DA(d=(x=b[m+420>>2])+1|0,240)){b:{if(d)for(y=b[V+16>>2],d=l;;){if(b[d+236>>2]=o,C=DA(y,16),b[d+200>>2]=C,!C)break b;if(_=b[V+16>>2],b[d+196>>2]=_,y=0,C=0,_)for(;;){if(y=b[d+200>>2]+(C<<4)|0,_=b[m+5584>>2]+u(C,1080)|0,D=DA(b[_+4>>2],16),b[y+12>>2]=D,!D)break b;if(b[y+8>>2]=b[_+4>>2],!((C=C+1|0)>>>0<(y=b[V+16>>2])>>>0))break}if(d=d+240|0,C=(0|F)==(0|x),F=F+1|0,C)break}break a}for((m=b[l+4>>2])&&(hf(m),b[l+4>>2]=0),d=l,m=0;;){if(C=b[d+200>>2]){if(y=0,F=b[d+196>>2]){for(;(_=b[C+12>>2])&&(hf(_),b[C+12>>2]=0,F=b[d+196>>2]),C=C+16|0,(y=y+1|0)>>>0<F>>>0;);C=b[d+200>>2]}hf(C),b[d+200>>2]=0}if(d=d+240|0,C=(0|m)==(0|x),m=m+1|0,C)break}hf(l)}l=0}if(l){a:if(X){if(C=7&X,m=U,X>>>0>=8){for(y=-8&X;b[(d=(v<<2)+A|0)+28>>2]=m+3696,b[d+24>>2]=m+3168,b[d+20>>2]=m+2640,b[d+16>>2]=m+2112,b[d+12>>2]=m+1584,b[d+8>>2]=m+1056,b[d+4>>2]=m+528,b[d>>2]=m,v=v+8|0,m=m+4224|0,(0|y)!=(0|(W=W+8|0)););if(!C)break a}for(;b[(v<<2)+A>>2]=m,v=v+1|0,m=m+528|0,(0|C)!=(0|(J=J+1|0)););}if(J=A,y=0,d=b[5584+(b[I+76>>2]+u(w,5644)|0)>>2],m=b[V+24>>2],W=(w>>>0)/((A=b[I+24>>2])>>>0)|0,A=b[I+4>>2]+u(b[I+12>>2],w-u(A,W)|0)|0,v=b[V>>2],b[R+20>>2]=A>>>0>v>>>0?A:v,A=A>>>0>(v=A+b[I+12>>2]|0)>>>0?-1:v,v=b[V+8>>2],b[R+16>>2]=A>>>0<v>>>0?A:v,A=b[I+8>>2]+u(W,b[I+16>>2])|0,W=b[V+4>>2],b[R+12>>2]=A>>>0>W>>>0?A:W,A=A>>>0>(I=A+b[I+16>>2]|0)>>>0?-1:I,I=b[V+12>>2],b[R+8>>2]=A>>>0<I>>>0?A:I,b[R+24>>2]=0,b[R+28>>2]=0,b[R+4>>2]=2147483647,b[R>>2]=2147483647,b[V+16>>2])for(;;){if(I=J?b[J+(y<<2)>>2]:0,v=0-!(A=b[m+4>>2])|0,C=be(C=(x=A-1|0)+(W=b[R+8>>2])|0,W>>>0>C>>>0?v+1|0:v,A,0),w=0-!(W=b[m>>2])|0,F=be(D=(_=W-1|0)+(F=b[R+16>>2])|0,F>>>0>D>>>0?w+1|0:w,W,0),v=be(D=(O=x)+(x=b[R+12>>2])|0,D>>>0<x>>>0?v+1|0:v,A,0),W=be(x=(A=b[R+20>>2])+_|0,A>>>0>x>>>0?w+1|0:w,W,0),(A=b[d+4>>2])>>>0>G[R+28>>2]&&(b[R+28>>2]=A,A=b[d+4>>2]),A)for(lf=d+944|0,wf=d+812|0,of=C-1|0,Ff=0-!C|0,Bf=F-1|0,Yf=0-!F|0,sf=v-1|0,tf=0-!v|0,p=W-1|0,Gf=0-!W|0,F=0;x=b[(W=F<<2)+lf>>2],_=b[W+wf>>2],v=0,I&&(b[I+4>>2]=x,b[I>>2]=_,v=I+8|0),(I=_+(A=A-1|0)|0)>>>0>31||(W=b[m>>2])>>>0>-1>>>I>>>0||(C=b[R+4>>2],I=W<<I,b[R+4>>2]=I>>>0>C>>>0?C:I),(I=A+x|0)>>>0>31||(W=b[m+4>>2])>>>0>-1>>>I>>>0||(C=b[R>>2],I=W<<I,b[R>>2]=I>>>0>C>>>0?C:I),I=0,W=31&A,(63&A)>>>0>=32?(w=1<<W,C=0):w=(C=1<<W)-1&1>>>32-W,w=Ff+(W=w)|0,M=(C=of+(nf=C)|0)>>>0<of>>>0?w+1|0:w,D=31&A,w=31&x,(63&x)>>>0>=32?(w=1<<w,O=0):w=(O=1<<w)-1&1>>>32-w,vf=(C=O+(M=(63&A)>>>0>=32?M>>>D|0:((1<<D)-1&M)<<32-D|C>>>D)|0)-1|0,w=(C>>>0<O>>>0?w+1|0:w)-!C|0,C=31&x,D=W+tf|0,D=(O=sf+nf|0)>>>0<sf>>>0?D+1|0:D,w=C=(63&x)>>>0>=32?w>>>C|0:((1<<C)-1&w)<<32-C|vf>>>C,C=31&A,D=(0|(C=(63&A)>>>0>=32?D>>>C|0:((1<<C)-1&D)<<32-C|O>>>C))!=(0|M)?w-(C>>>x|0)&-1>>>x:0,w=(C=W+Yf|0)+1|0,O=C,M=(C=Bf+nf|0)>>>0<Bf>>>0?w:O,x=31&A,w=31&_,(63&_)>>>0>=32?(w=1<<w,O=0):w=(O=1<<w)-1&1>>>32-w,vf=(C=O+(M=(63&A)>>>0>=32?M>>>x|0:((1<<x)-1&M)<<32-x|C>>>x)|0)-1|0,w=(C>>>0<O>>>0?w+1|0:w)-!C|0,C=31&_,W=W+Gf|0,x=(nf=p+nf|0)>>>0<p>>>0?W+1|0:W,W=31&A,C=(63&_)>>>0>=32?w>>>C|0:((1<<C)-1&w)<<32-C|vf>>>C,W=(0|(W=(63&A)>>>0>=32?x>>>W|0:((1<<W)-1&x)<<32-W|nf>>>W))!=(0|M)?C-(W>>>_|0)&-1>>>_:0,v&&(b[v+4>>2]=D,b[v>>2]=W,I=v+8|0),(W=u(W,D))>>>0>G[R+24>>2]&&(b[R+24>>2]=W),(F=F+1|0)>>>0<G[d+4>>2];);if(m=m+52|0,d=d+1080|0,!((y=y+1|0)>>>0<G[V+16>>2]))break}if(x=kf+1|0,y=b[R+28>>2],w=b[R+24>>2],b[l+4>>2]=0,A=b[K+8>>2]+1|0,_=u(w,X),tA(A,0,F=u(_,y)),T||(A=u(A,F),b[l+8>>2]=A,A=DA(A,2),b[l+4>>2]=A,!A)){if(hf(U),hf(J),(A=b[l+4>>2])&&(hf(A),b[l+4>>2]=0),!x){A=l;break r}for(A=0,W=l;;){if(m=b[W+200>>2]){if(V=0,v=b[W+196>>2]){for(;(I=b[m+12>>2])&&(hf(I),b[m+12>>2]=0,v=b[W+196>>2]),m=m+16|0,v>>>0>(V=V+1|0)>>>0;);m=b[W+200>>2]}hf(m),b[W+200>>2]=0}if(W=W+240|0,I=(0|A)==(0|kf),A=A+1|0,I)break}A=l;break r}if(C=b[V+24>>2],D=b[R+20>>2],b[l+204>>2]=D,nf=b[R+12>>2],b[l+208>>2]=nf,of=b[R+16>>2],b[l+212>>2]=of,Bf=b[R+8>>2],b[l+216>>2]=Bf,b[l+12>>2]=F,b[l+16>>2]=_,b[l+20>>2]=w,E=1,b[l+24>>2]=1,X)for(W=b[l+200>>2],d=0,A=C;;){m=b[J+(d<<2)>>2],b[W>>2]=b[A>>2],b[W+4>>2]=b[A+4>>2];a:if(I=b[W+8>>2]){if(V=b[W+12>>2],1!=(0|I)){for(sf=1&I,I&=-2,v=0;b[V>>2]=b[m>>2],b[V+4>>2]=b[m+4>>2],b[V+8>>2]=b[m+8>>2],b[V+12>>2]=b[m+12>>2],b[V+16>>2]=b[m+16>>2],b[V+20>>2]=b[m+20>>2],b[V+24>>2]=b[m+24>>2],b[V+28>>2]=b[m+28>>2],V=V+32|0,m=m+32|0,(0|I)!=(0|(v=v+2|0)););if(!sf)break a}b[V>>2]=b[m>>2],b[V+4>>2]=b[m+4>>2],b[V+8>>2]=b[m+8>>2],b[V+12>>2]=b[m+12>>2]}if(A=A+52|0,W=W+16|0,(0|X)==(0|(d=d+1|0)))break}if(x>>>0>1)for(I=l;;){if(b[I+456>>2]=Bf,b[I+452>>2]=of,b[I+448>>2]=nf,b[I+444>>2]=D,b[I+264>>2]=1,b[I+260>>2]=w,b[I+256>>2]=_,b[I+252>>2]=F,X)for(W=b[I+440>>2],d=0,A=C;;){m=b[J+(d<<2)>>2],b[W>>2]=b[A>>2],b[W+4>>2]=b[A+4>>2];a:if(v=b[W+8>>2]){if(V=b[W+12>>2],1!=(0|v)){for(x=1&v,sf=-2&v,v=0;b[V>>2]=b[m>>2],b[V+4>>2]=b[m+4>>2],b[V+8>>2]=b[m+8>>2],b[V+12>>2]=b[m+12>>2],b[V+16>>2]=b[m+16>>2],b[V+20>>2]=b[m+20>>2],b[V+24>>2]=b[m+24>>2],b[V+28>>2]=b[m+28>>2],V=V+32|0,m=m+32|0,(0|sf)!=(0|(v=v+2|0)););if(!x)break a}b[V>>2]=b[m>>2],b[V+4>>2]=b[m+4>>2],b[V+8>>2]=b[m+8>>2],b[V+12>>2]=b[m+12>>2]}if(A=A+52|0,W=W+16|0,(0|X)==(0|(d=d+1|0)))break}if(A=b[I+8>>2],b[I+244>>2]=b[I+4>>2],b[I+248>>2]=A,A=(0|E)!=(0|kf),I=I+240|0,E=E+1|0,!A)break}hf(U),hf(J),A=b[K+420>>2];a:if(4&k[K+5640|0]){if(-1==(0|A))break a;for(V=K+424|0,I=b[K+8>>2],v=0,m=l;E=b[V+36>>2],b[m+44>>2]=1,b[m+84>>2]=E,b[m+48>>2]=b[V>>2],E=b[V+4>>2],b[m+68>>2]=0,b[m+72>>2]=0,b[m+52>>2]=E,b[m+60>>2]=b[V+12>>2],b[m+64>>2]=b[V+16>>2],E=b[V+8>>2],b[m+76>>2]=w,b[m+56>>2]=I>>>0>E>>>0?E:I,V=V+148|0,m=m+240|0,E=(0|A)==(0|v),v=v+1|0,!E;);}else if(-1!=(0|A)){if(I=b[K+8>>2],E=b[K+4>>2],m=l,A){for(W=A+1&-2,J=0;b[m+68>>2]=0,b[m+72>>2]=0,b[m+52>>2]=0,b[m+44>>2]=1,b[m+48>>2]=0,b[m+84>>2]=E,b[m+60>>2]=y,b[m+324>>2]=E,b[m+76>>2]=w,b[m+56>>2]=I,b[m+308>>2]=0,b[m+312>>2]=0,b[m+292>>2]=0,b[m+284>>2]=1,b[m+288>>2]=0,b[m+300>>2]=y,b[m+296>>2]=I,b[m+316>>2]=w,b[m+64>>2]=b[m+196>>2],b[m+304>>2]=b[m+436>>2],m=m+480|0,(0|W)!=(0|(J=J+2|0)););if(1&A)break a}b[m+68>>2]=0,b[m+72>>2]=0,b[m+52>>2]=0,b[m+44>>2]=1,b[m+48>>2]=0,b[m+84>>2]=E,b[m+60>>2]=y,b[m+76>>2]=w,b[m+56>>2]=I,b[m+64>>2]=b[m+196>>2]}E=l;break i}hf(U)}else A=U;hf(A)}z=R+32|0;i:{r:if(l=E){x=af+1|0,d=S,U=l;a:{b:{for(;;){if(-1==b[U+84>>2])break a;if(!(w=ke(b[L+16>>2]<<2)))break a;if((A=b[L+16>>2]<<2)&&c(w,1,A),q(U))for(;;){W=b[ef+20>>2];k:{if(!(G[U+40>>2]>=G[P+12>>2])&&(A=b[U+32>>2],I=u(b[U+28>>2],76)+W|0,!(A>>>0>=G[I+24>>2])&&(I=b[I+28>>2]+u(A,152)|0,b[I+24>>2]))){E=I+28|0,C=0;B:{for(;;){if(m=E+u(C,36)|0,A=b[m+20>>2]+u(b[U+36>>2],40)|0,!cf(N,b[U+28>>2],b[U+32>>2],b[m+16>>2],b[A>>2],b[A+4>>2],b[A+8>>2],b[A+12>>2])){if((C=C+1|0)>>>0<G[I+24>>2])continue;break B}break}if(b[w+(b[U+28>>2]<<2)>>2]=0,b[h+136>>2]=0,!Af(b[ff+4>>2],b[ef+20>>2],P,U,h+140|0,d,h+136|0,s,o))break b;if(C=b[U+32>>2],F=b[U+28>>2],V=b[h+136>>2],b[h+140>>2]){if(b[h+136>>2]=0,_=b[28+(b[ef+20>>2]+u(F,76)|0)>>2]+u(C,152)|0,W=b[_+24>>2]){for(X=s-V|0,K=s+d|0,F=_+28|0,R=0,y=0,J=D=V+d|0;;){if(!(b[F+8>>2]==b[F>>2]|b[F+12>>2]==b[F+4>>2])&&(A=b[F+20>>2]+u(b[U+36>>2],40)|0,kf=u(b[A+20>>2],b[A+16>>2]))){for(W=b[A+24>>2],I=0;;){if(m=b[W+36>>2]){if(y|b[W+64>>2])b[W+52>>2]=0,C=1,A=64;else{C=b[W>>2];o:{if(A=b[W+40>>2]){if(C=u(A,24)+C|0,b[C-20>>2]!=b[C-12>>2]){C=C-24|0;break o}A=A+1|0}else A=1;b[W+40>>2]=A}o:{g:if(!((A=b[C+20>>2])>>>0>(-1^J)>>>0))for(E=C+20|0;;){if(K>>>0<A+J>>>0)break g;if(v=b[W+4>>2],(0|(y=b[W+52>>2]))!=b[W+56>>2])E=m;else{if(!(v=Cf(v,(A=y<<1|1)<<3))){xf(o,1,1024,0);break b}b[W+56>>2]=A,b[W+4>>2]=v,y=b[W+52>>2],A=b[E>>2],E=b[W+36>>2]}if(b[(m=(y<<3)+v|0)+4>>2]=A,b[m>>2]=J,b[W+52>>2]=y+1,b[C>>2]=b[C>>2]+A,y=(v=b[C+16>>2])+b[C+4>>2]|0,b[C+4>>2]=y,m=E-v|0,b[W+36>>2]=m,b[C+8>>2]=y,J=A+J|0,y=0,(0|v)==(0|E))break o;if(b[W+40>>2]=b[W+40>>2]+1,E=C+44|0,A=b[C+44>>2],C=C+24|0,!((-1^J)>>>0>=A>>>0))break}if(E=b[U+28>>2],m=b[U+32>>2],v=b[U+36>>2],b[b[ff+4>>2]+104>>2]){b[h+120>>2]=E,b[h+116>>2]=m,b[h+112>>2]=R,b[h+108>>2]=v,b[h+104>>2]=I,b[h+100>>2]=X,b[h+96>>2]=A,xf(o,1,14693,h+96|0);break b}b[h+88>>2]=E,b[h+84>>2]=m,b[h+80>>2]=R,b[h+76>>2]=v,b[h+72>>2]=I,b[h+68>>2]=X,b[h+64>>2]=A,xf(o,2,14693,h- -64|0),b[W+52>>2]=0,b[W+64>>2]=1,y=1}C=b[W+40>>2],A=44}b[A+W>>2]=C}if(W=W+68|0,(0|kf)==(0|(I=I+1|0)))break}W=b[_+24>>2]}if(F=F+36|0,!((R=R+1|0)>>>0<W>>>0))break}C=b[U+32>>2],F=b[U+28>>2],A=y?X:J-D|0}else A=0;V=A+V|0}I=b[L+24>>2]+u(F,52)|0,A=b[I+36>>2],b[I+36>>2]=A>>>0<C>>>0?C:A;break k}W=b[ef+20>>2]}if(b[h+136>>2]=0,!Af(b[ff+4>>2],W,P,U,h+140|0,d,h+136|0,s,o))break b;if(F=b[U+28>>2],V=b[h+136>>2],b[h+140>>2]&&(K=b[U+32>>2],A=b[28+(b[ef+20>>2]+u(F,76)|0)>>2]+u(K,152)|0,D=b[A+24>>2])){X=s-V|0,v=A+28|0,_=b[U+36>>2],C=0,y=0;B:{o:{for(;;){if(!(b[v+8>>2]==b[v>>2]|b[v+12>>2]==b[v+4>>2])&&(A=b[v+20>>2]+u(_,40)|0,kf=u(b[A+20>>2],b[A+16>>2])))for(m=b[A+24>>2],R=0;;){if(A=b[m+36>>2]){W=b[m>>2];g:{if(I=b[m+40>>2]){if(W=u(I,24)+W|0,b[W-20>>2]!=b[W-12>>2]){W=W-24|0;break g}I=I+1|0}else I=1;b[m+40>>2]=I}if((C=(J=b[W+20>>2])+C|0)>>>0<J>>>0|C>>>0>X>>>0)break B;for(;;){if(J=b[W+16>>2],b[W+4>>2]=J+b[W+4>>2],E=A-J|0,(0|A)!=(0|J)){if(I=I+1|0,b[m+40>>2]=I,(C=(J=b[W+44>>2])+C|0)>>>0<J>>>0)break o;if(W=W+24|0,A=E,C>>>0<=X>>>0)continue;break o}break}b[m+36>>2]=E}if(m=m+68|0,(0|kf)==(0|(R=R+1|0)))break}if(v=v+36|0,(0|D)==(0|(y=y+1|0)))break}V=C+V|0;break k}b[m+36>>2]=E}if(b[b[ff+4>>2]+104>>2]){b[h+56>>2]=F,b[h+52>>2]=K,b[h+48>>2]=y,b[h+44>>2]=_,b[h+40>>2]=R,b[h+36>>2]=X,b[h+32>>2]=J,xf(o,1,14608,h+32|0);break b}b[h+24>>2]=F,b[h+20>>2]=K,b[h+16>>2]=y,b[h+12>>2]=_,b[h+8>>2]=R,b[h+4>>2]=X,b[h>>2]=J,xf(o,2,14608,h),F=b[U+28>>2],V=V+X|0}}if(b[w+(F<<2)>>2]&&(A=b[L+24>>2]+u(F,52)|0,b[A+36>>2]||(b[A+36>>2]=b[24+(b[ef+20>>2]+u(F,76)|0)>>2]-1)),s=s-V|0,d=V+d|0,!q(U))break}if(hf(w),U=U+240|0,!((j=j+1|0)>>>0<=G[P+420>>2]))break}$f(l,x),b[Ef+8>>2]=d-S,A=1;break i}$f(l,x),hf(w);break r}$f(l,x)}A=0}if(z=h+144|0,Ce(ff),!A)break A;$=b[b[N+32>>2]+5584>>2],C=b[b[N+20>>2]>>2],p=b[C+20>>2],b[Ef+12>>2]=1,d=0,A=b[N+32>>2],w=b[$+16>>2]>>>4&1&b[A+12>>2]==b[A+8>>2];i:if(M=b[C+16>>2])for(;;){if(A=b[N+68>>2],b[A+(d<<2)>>2]||!A){J=Ef+12|0,M=0;r:if(A=b[p+24>>2])for(V=b[N+44>>2];;){if(E=b[p+28>>2]+u(M,152)|0,m=b[E+24>>2]){for(F=E+28|0,A=b[E+20>>2],U=b[E+16>>2],y=0;;){if(u(A,U)){for(v=F+u(y,36)|0,W=0;;){l=b[v+20>>2]+u(W,40)|0,s=cf(N,b[p+16>>2],M,b[v+16>>2],b[l>>2],b[l+4>>2],b[l+8>>2],b[l+12>>2]),I=b[l+16>>2],m=b[l+20>>2],A=u(I,m);a:if(s){if(!A)break a;for(I=0;;){s=b[l+24>>2]+u(I,68)|0;b:if(cf(N,b[p+16>>2],M,b[v+16>>2],b[s+8>>2],b[s+12>>2],b[s+16>>2],b[s+20>>2])){if(b[N+64>>2]||!(b[s+60>>2]|b[s+16>>2]==b[s+8>>2]|b[s+20>>2]==b[s+12>>2])){if(!(A=DA(1,44))){b[Ef+12>>2]=0;break r}if(m=b[N+64>>2],b[A+36>>2]=0,b[A+28>>2]=J,b[A+20>>2]=$,b[A+16>>2]=p,b[A+12>>2]=v,b[A+8>>2]=s,b[A+4>>2]=M,b[A>>2]=m,b[A+40>>2]=w,b[A+32>>2]=o,b[A+24>>2]=b[V+4>>2]>1,Tf(V,14,A),!b[Ef+12>>2])break r}}else{if(!(A=b[s+60>>2]))break b;hf(A),b[s+60>>2]=0}if(!((I=I+1|0)>>>0<u(b[l+20>>2],b[l+16>>2])>>>0))break}}else if(A)for(U=0;A=b[l+24>>2]+u(U,68)|0,(s=b[A+60>>2])&&(hf(s),b[A+60>>2]=0,m=b[l+20>>2],I=b[l+16>>2]),(U=U+1|0)>>>0<u(I,m)>>>0;);if(W=W+1|0,A=b[E+20>>2],U=b[E+16>>2],!(W>>>0<u(A,U)>>>0))break}m=b[E+24>>2]}if(!((y=y+1|0)>>>0<m>>>0))break}A=b[p+24>>2]}if(!((M=M+1|0)>>>0<A>>>0))break}if(!b[Ef+12>>2])break i;M=b[C+16>>2]}if($=$+1080|0,p=p+76|0,!(M>>>0>(d=d+1|0)>>>0))break}if($=0,UA(b[N+44>>2]),!b[Ef+12>>2])break A;if(!b[N+64>>2]&&(d=b[N+24>>2],b[d+16>>2]))for(p=0;;){if(A=b[b[b[N+20>>2]>>2]+20>>2]+u(p,76)|0,l=b[A+28>>2]+u(b[36+(b[d+24>>2]+u(p,52)|0)>>2],152)|0,s=b[l+136>>2],I=b[l+144>>2],E=b[l+140>>2],l=b[l+148>>2],hf(b[A+52>>2]),b[A+52>>2]=0,m=b[N+68>>2],!((0|I)==(0|s)|(0|l)==(0|E)|(b[m+(p<<2)>>2]?0:m))){if(tA(l=l-E|0,0,s=I-s|0),T){xf(o,1,2982,0);break A}if((l=u(l,s))>>>0>=1073741824){xf(o,1,2982,0);break A}if(s=A,A=se(l<<2),b[s+52>>2]=A,!A){xf(o,1,2982,0);break A}}if(p=p+1|0,d=b[N+24>>2],!(p>>>0<G[d+16>>2]))break}if(d=b[N+32>>2],U=b[b[N+20>>2]>>2],b[U+16>>2]){for(p=b[U+20>>2],d=b[d+5584>>2],M=b[b[N+24>>2]+24>>2],m=0;;){i:if(A=b[N+68>>2],b[A+(m<<2)>>2]||!A){if(C=b[M+36>>2]+1|0,1==b[d+20>>2]){ff=C,A=0,z=af=z-32|0;r:{a:{if(b[N+64>>2]){if(l=1,1==(0|C))break r;if(A=(W=b[p+28>>2])+u(b[p+24>>2],152)|0,(0|(I=b[A-144>>2]))==(0|(E=b[A-152>>2])))break r;v=C-1|0,A=0,V=b[N+44>>2],w=b[V+4>>2],s=W;b:{if(2!=(0|C)){for(C=1&v,y=-2&v,l=0;A=(A=(A=(A=A>>>0>(J=b[s+160>>2]-b[s+152>>2]|0)>>>0?A:J)>>>0>(J=b[s+164>>2]-b[s+156>>2]|0)>>>0?A:J)>>>0>(J=b[s+312>>2]-b[s+304>>2]|0)>>>0?A:J)>>>0>(J=b[s+316>>2]-b[s+308>>2]|0)>>>0?A:J,s=s+304|0,(0|y)!=(0|(l=l+2|0)););if(!C)break b}A=(A=A>>>0>(l=b[s+160>>2]-b[s+152>>2]|0)>>>0?A:l)>>>0>(l=b[s+164>>2]-b[s+156>>2]|0)>>>0?A:l}if(l=0,A>>>0>134217727)break r;if(s=b[W+4>>2],J=b[W+12>>2],R=b[W>>2],S=b[W+8>>2],C=Ie(F=A<<5),b[af+16>>2]=C,!C)break r;for(y=I-E|0,l=J-s|0,E=S-R|0,b[af>>2]=C;;){J=b[p+36>>2],I=l,b[af+8>>2]=l,A=E,b[af+24>>2]=A,l=b[W+156>>2],s=b[W+164>>2],E=b[W+160>>2],R=b[W+152>>2],b[af+28>>2]=(0|R)%2,E=E-R|0,b[af+20>>2]=E-A;b:if(!(h=(0|w)<2)&(l=s-l|0)>>>0>1){for(ff=(R=l>>>0<w>>>0?l:w)-1|0,S=(l>>>0)/(R>>>0)|0,A=0;;){if(!(s=ke(36)))break a;if(X=b[af+28>>2],b[s+8>>2]=b[af+24>>2],b[s+12>>2]=X,X=b[af+20>>2],b[s>>2]=b[af+16>>2],b[s+4>>2]=X,b[s+24>>2]=J,b[s+20>>2]=y,b[s+16>>2]=E,b[s+28>>2]=u(A,S),X=(0|A)==(0|ff),A=A+1|0,b[s+32>>2]=X?l:u(S,A),X=Ie(F),b[s>>2]=X,!X){l=0,UA(V),hf(s),hf(C);break r}if(Tf(V,10,s),(0|A)==(0|R))break}UA(V)}else{if(s=0,!l)break b;for(;Hf(af+16|0,J+(u(s,y)<<2)|0),(0|(s=s+1|0))!=(0|l););}b[af+4>>2]=l-I,b[af+12>>2]=b[W+156>>2]%2;b:if(!h&E>>>0>1){for(S=(I=w>>>0>E>>>0?E:w)-1|0,R=(E>>>0)/(I>>>0)|0,A=0;;){if(!(s=ke(36)))break a;if(h=b[af+12>>2],b[s+8>>2]=b[af+8>>2],b[s+12>>2]=h,h=b[af+4>>2],b[s>>2]=b[af>>2],b[s+4>>2]=h,b[s+24>>2]=J,b[s+20>>2]=y,b[s+16>>2]=l,b[s+28>>2]=u(A,R),h=(0|A)==(0|S),A=A+1|0,b[s+32>>2]=h?E:u(R,A),h=Ie(F),b[s>>2]=h,!h){l=0,UA(V),hf(s),hf(C);break r}if(Tf(V,11,s),(0|A)==(0|I))break}UA(V)}else{if(A=8,s=0,E>>>0>=8)for(;bf(af,J+(s<<2)|0,y,8),s=A,E>>>0>=(A=A+8|0)>>>0;);if(s>>>0>=E>>>0)break b;bf(af,J+(s<<2)|0,y,E-s|0)}if(W=W+152|0,!(v=v-1|0))break}l=1,hf(C);break r}if(l=1,vf=(W=b[p+28>>2])+u(ff,152)|0,b[(oA=vf-152|0)>>2]==b[vf-144>>2])break r;if(b[(gA=vf-148|0)>>2]==b[vf-140>>2])break r;if(I=b[W+4>>2],E=b[W+12>>2],v=b[W>>2],C=b[W+8>>2],X=b[p+68>>2],x=b[p+64>>2],_=b[p+60>>2],K=b[p+56>>2],!(Ff=Wf(p,ff))){l=0;break r}b:{k:{if(1!=(0|ff)){s=W;B:{if(2!=(0|ff)){for(V=1&(l=ff-1|0),w=-2&l,l=0;A=(A=(A=(A=A>>>0>(y=b[s+160>>2]-b[s+152>>2]|0)>>>0?A:y)>>>0>(y=b[s+164>>2]-b[s+156>>2]|0)>>>0?A:y)>>>0>(y=b[s+312>>2]-b[s+304>>2]|0)>>>0?A:y)>>>0>(y=b[s+316>>2]-b[s+308>>2]|0)>>>0?A:y,s=s+304|0,(0|w)!=(0|(l=l+2|0)););if(!V)break B}A=(A=A>>>0>(l=b[s+160>>2]-b[s+152>>2]|0)>>>0?A:l)>>>0>(l=b[s+164>>2]-b[s+156>>2]|0)>>>0?A:l}if(A>>>0>=268435456)break b;if(!(F=Ie(A<<4)))break b;B:if(ff){J=E-I|0,V=C-v|0,lA=F+28|0,kf=F+24|0,Lf=F+16|0,Gf=F+4|0,yf=1;o:for(;;){if(uf=(0|(A=b[W+156>>2]))%2|0,mf=(0|(l=b[W+152>>2]))%2|0,wf=(ef=b[W+164>>2]-A|0)-J|0,lf=(P=b[W+160>>2]-l|0)-V|0,l=s=K,E=R=_,If=A=x,v=I=X,(0|(C=b[p+20>>2]))!=(0|yf)&&(y=C-yf|0,E=0,l=0,s&&(A=31&y,(63&y)>>>0>=32?(w=-1<<A,l=0):w=(l=-1<<A)|(1<<A)-1&-1>>>32-A,A=s+(-1^l)|0,l=-1^w,s=A>>>0<K>>>0?l+1|0:l,l=31&y,l=(63&y)>>>0>=32?s>>>l|0:((1<<l)-1&s)<<32-l|A>>>l),_&&(A=31&y,(63&y)>>>0>=32?(w=-1<<A,s=0):w=(s=-1<<A)|(1<<A)-1&-1>>>32-A,A=_+(-1^s)|0,s=-1^w,I=A>>>0<_>>>0?s+1|0:s,s=31&y,E=(63&y)>>>0>=32?I>>>s|0:((1<<s)-1&I)<<32-s|A>>>s),I=0,A=0,x&&(A=31&y,(63&y)>>>0>=32?(w=-1<<A,s=0):w=(s=-1<<A)|(1<<A)-1&-1>>>32-A,A=x+(-1^s)|0,s=-1^w,v=A>>>0<x>>>0?s+1|0:s,s=31&y,A=(63&y)>>>0>=32?v>>>s|0:((1<<s)-1&v)<<32-s|A>>>s),X&&(s=31&y,(63&y)>>>0>=32?(w=-1<<s,I=0):w=(I=-1<<s)|(1<<s)-1&-1>>>32-s,s=X+(-1^I)|0,I=-1^w,v=s>>>0<X>>>0?I+1|0:I,I=31&y,I=(63&y)>>>0>=32?v>>>I|0:((1<<I)-1&v)<<32-I|s>>>I),If=0,s=0,(S=1<<y-1)>>>0<K>>>0&&(s=31&y,(63&y)>>>0>=32?(w=-1<<s,v=0):w=(v=-1<<s)|(1<<s)-1&-1>>>32-s,C=-1^w,C=(s=(v^=-1)+(K-S|0)|0)>>>0<v>>>0?C+1|0:C,v=31&y,s=(63&y)>>>0>=32?C>>>v|0:((1<<v)-1&C)<<32-v|s>>>v),S>>>0<x>>>0&&(v=31&y,(63&y)>>>0>=32?(w=-1<<v,C=0):w=(C=-1<<v)|(1<<v)-1&-1>>>32-v,w^=-1,w=(C^=-1)>>>0>(v=C+(x-S|0)|0)>>>0?w+1|0:w,C=31&y,If=(63&y)>>>0>=32?w>>>C|0:((1<<C)-1&w)<<32-C|v>>>C),v=0,R=0,S>>>0<_>>>0&&(C=31&y,(63&y)>>>0>=32?(w=-1<<C,R=0):w=(R=-1<<C)|(1<<C)-1&-1>>>32-C,w^=-1,R=(C=(R^=-1)+(_-S|0)|0)>>>0<R>>>0?w+1|0:w,w=31&y,R=(63&y)>>>0>=32?R>>>w|0:((1<<w)-1&R)<<32-w|C>>>w),X>>>0<=S>>>0||(v=31&y,(63&y)>>>0>=32?(w=-1<<v,C=0):w=(C=-1<<v)|(1<<v)-1&-1>>>32-v,w^=-1,w=(C^=-1)>>>0>(v=C+(X-S|0)|0)>>>0?w+1|0:w,C=31&y,v=(63&y)>>>0>=32?w>>>C|0:((1<<C)-1&w)<<32-C|v>>>C)),Yf=(w=(w=(w=If-(C=b[W+180>>2])|0)>>>0<=If>>>0?w:0)>>>0>(y=w+2|0)>>>0?-1:y)>>>0<lf>>>0?w:lf,tf=(A=(A=A>>>0>=(y=A-(w=b[W+216>>2])|0)>>>0?y:0)>>>0>(y=A+2|0)>>>0?-1:y)>>>0<V>>>0?A:V,A=(Jf=(A=(mf?Yf:tf)<<1)>>>0>(y=(mf?tf:Yf)<<1|1)>>>0?A:y)>>>0<P>>>0,y=(s=s>>>0>=(C=s-C|0)>>>0?C:0)>>>0>=(C=s-2|0)>>>0?C:0,s=(l=l>>>0>=(s=l-w|0)>>>0?s:0)>>>0>=(s=l-2|0)>>>0?s:0,h=(l=(mf?y:s)<<1)>>>0<(w=(mf?s:y)<<1|1)>>>0,nf=E=(C=(E=(C=E-(S=b[W+184>>2])|0)>>>0<=E>>>0?C:0)-2|0)>>>0<=E>>>0?C:0,of=C=(C=(C=R-(L=b[W+220>>2])|0)>>>0<=R>>>0?C:0)>>>0>=(R=C-2|0)>>>0?R:0,j=S=(I=(I=I>>>0>=(R=I-S|0)>>>0?R:0)>>>0>(R=I+2|0)>>>0?-1:R)>>>0<J>>>0?I:J,v=O=(I=(I=(I=v-L|0)>>>0<=v>>>0?I:0)>>>0>(v=I+2|0)>>>0?-1:v)>>>0<wf>>>0?I:wf,uf&&(nf=C,of=E,j=v,v=S),Xf=A?Jf:P,w=h?l:w,cA=J+O|0,sA=C+J|0,ef)for(df=F+(s<<3)|0,Df=(A=F+(lf<<3)|0)-4|0,Of=(l=(0|s)<(0|lf))?df+4|0:Df,qf=(0|Yf)<(0|(Mf=V-1|0))?Yf:Mf,h=0,_f=(0|V)>1|(0|lf)>0,fA=(Gf-(I=mf<<2)|0)+(y<<3)|0,AA=I+df|0,D=(0|lf)>(0|tf)?tf:lf,Bf=s+1|0,rA=V+Yf|0,Kf=V+y|0,aA=F+(w<<2)|0,zf=!V&1==(0|lf),sf=(I=F+(V<<3)|0)-8|0,Nf=I-4|0,Sf=A-8|0,bA=(jf=F+(Xf<<2)|0)-4|0,kA=(F+((l?s:lf)<<3)|0)-4|0;;){if(h>>>0<S>>>0&E>>>0<=h>>>0|h>>>0<cA>>>0&h>>>0>=sA>>>0){P>>>0>Jf>>>0&&(b[bA>>2]=0,b[jf>>2]=0),fe(Ff,s,h,tf,L=h+1|0,AA,2,0),fe(Ff,Kf,h,rA,L,fA,2,0);g:if(mf){if(zf){b[F>>2]=b[F>>2]/2;break g}if(!((0|tf)<=(0|(A=s))))for(;;){I=b[(l=F+(A<<3)|0)+4>>2],R=Sf;l:{if((0|A)>=0)If=b[((0|A)<(0|lf)?l:Sf)>>2],A=A+1|0;else{if(If=b[F>>2],-1!=(0|A)){A=A+1|0,R=F;break l}A=0}(0|A)>=(0|lf)||(R=F+(A<<3)|0)}if(b[l+4>>2]=I-(2+(b[R>>2]+If|0)>>2),!((0|A)<(0|tf)))break}if((0|Yf)<=(0|(A=y)))break g;for(;I=b[(l=F+(A<<3)|0)>>2],(0|A)<0?(R=b[Gf>>2],If=Gf):(R=b[((0|A)<(0|V)?l+4:Nf)>>2],If=Gf,A&&(If=(0|A)>(0|V)?Nf:l-4|0)),b[l>>2]=I+(b[If>>2]+R>>1),(0|Yf)!=(0|(A=A+1|0)););}else if(_f){if(!((0|s)>=(0|tf))){l:{if((0|s)>0)A=b[kA>>2];else if(l=A=b[Gf>>2],(0|s)<0)break l;l=A,A=b[Of>>2]}if(b[df>>2]=b[df>>2]-(2+(A+l|0)>>2),I=A=Bf,l=s,!((0|A)>=(0|D))){for(;A=l,b[(I=F+((l=I)<<3)|0)>>2]=b[I>>2]-(2+(b[4+(F+(A<<3)|0)>>2]+b[I+4>>2]|0)>>2),(0|D)!=(0|(I=l+1|0)););A=D}if(!((0|A)>=(0|tf)))for(;;){R=b[(l=F+(A<<3)|0)>>2];l:{if((0|A)>0)I=b[(F+(((0|A)<(0|lf)?A:lf)<<3)|0)-4>>2];else if(I=b[Gf>>2],If=Gf,(0|A)<0)break l;If=Df,(0|A)>=(0|lf)||(If=4+(F+(A<<3)|0)|0)}if(b[l>>2]=R-(2+(b[If>>2]+I|0)>>2),(0|tf)==(0|(A=A+1|0)))break}}if(!((0|y)>=(0|Yf))){if((0|Mf)>(0|(A=y)))for(;l=F+(A<<3)|0,A=A+1|0,b[l+4>>2]=b[l+4>>2]+(b[F+(A<<3)>>2]+b[l>>2]>>1),(0|A)<(0|qf););if(!((0|A)>=(0|Yf)))for(;;){l=sf,R=A;l:{if((0|A)>=0)I=b[((0|A)<(0|V)?F+(A<<3):l)>>2],A=A+1|0;else{if(I=b[F>>2],-1!=(0|R)){A=R+1|0,l=F;break l}A=0}(0|V)<=(0|A)||(l=F+(A<<3)|0)}if(b[(R=F+(R<<3)|0)+4>>2]=b[R+4>>2]+(b[l>>2]+I>>1),!((0|A)<(0|Yf)))break}}}if(!PA(Ff,w,h,Xf,L,aA,1,0))break k}else L=h+1|0;if((0|ef)==(0|(h=L)))break}for(W=W+152|0,Of=(A=(A=j<<1)>>>0>(l=v<<1|1)>>>0?A:l)>>>0<ef>>>0?A:ef,j=F+(E<<5)|0,Jf=(A=F+(wf<<5)|0)-4|0,qf=(l=(0|E)<(0|wf))?j+28|0:Jf,Mf=A-8|0,_f=l?j+24|0:Mf,Nf=A-12|0,fA=l?j+20|0:Nf,Sf=A-16|0,AA=(0|E)<0?Lf:l?j+16|0:Sf,rA=(0|O)<(0|(Df=J-1|0))?O:Df,s=F+((l?E:wf)<<5)|0,aA=(Kf=(0|E)<=0)?Lf:s-16|0,jf=(zf=(0|wf)>0)|(0|J)>1,bA=j+(uf<<4)|0,kA=(F+(4-(uf<<2)<<2)|0)+(C<<5)|0,v=(0|S)<(0|wf)?S:wf,y=E+1|0,uA=F+((GA=(l=nf<<1)>>>0<(I=of<<1|1)>>>0?l:I)<<4)|0,ZA=!J&1==(0|wf),L=(l=F+(J<<5)|0)-20|0,D=l-24|0,nf=l-28|0,of=l-32|0,Bf=l-4|0,sf=l-8|0,lf=l-12|0,Yf=l-16|0,tf=A-20|0,If=A-24|0,mf=A-28|0,df=A-32|0,QA=s-4|0,h=s-8|0,WA=s-12|0;;){g:{l:{c:{n:{if((V=w)>>>0<Xf>>>0){if(fe(Ff,V,E,w=V+((A=Xf-V|0)>>>0>=4?4:A)|0,S,bA,1,8),fe(Ff,V,sA,w,cA,kA,1,8),!uf){if(!jf)break g;if((0|E)>=(0|S))break l;if(b[j>>2]=b[j>>2]-(2+(b[aA>>2]+b[AA>>2]|0)>>2),Kf){if(A=b[F+20>>2],(0|E)<0)break n;I=kf,l=lA}else A=b[WA>>2],I=h,l=QA;b[j+4>>2]=b[j+4>>2]-(2+(b[fA>>2]+A|0)>>2),b[j+8>>2]=b[j+8>>2]-(2+(b[I>>2]+b[_f>>2]|0)>>2),A=b[qf>>2],l=b[l>>2];break c}if(ZA){b[F>>2]=b[F>>2]/2,b[F+4>>2]=b[F+4>>2]/2,b[F+8>>2]=b[F+8>>2]/2,b[F+12>>2]=b[F+12>>2]/2;break g}if((0|S)>(0|(l=E)))for(;A=F+(l<<5)|0,(0|l)<0?(I=b[F>>2],s=zf|-1!=(0|l),b[A+16>>2]=b[A+16>>2]-(2+((s?I:b[df>>2])+I|0)>>2),I=b[Gf>>2],b[A+20>>2]=b[A+20>>2]-(2+((s?I:b[mf>>2])+I|0)>>2),I=b[F+8>>2],b[A+24>>2]=b[A+24>>2]-(2+((s?I:b[If>>2])+I|0)>>2),I=A,R=b[A+28>>2],A=b[F+12>>2],b[I+28>>2]=R-(2+((s?A:b[tf>>2])+A|0)>>2),l=l+1|0):((0|(s=l+1|0))<(0|wf)?(l=F+(s<<5)|0,b[A+16>>2]=b[A+16>>2]-(2+(b[A>>2]+b[l>>2]|0)>>2),b[A+20>>2]=b[A+20>>2]-(2+(b[A+4>>2]+b[l+4>>2]|0)>>2),b[A+24>>2]=b[A+24>>2]-(2+(b[A+8>>2]+b[l+8>>2]|0)>>2),b[A+28>>2]=b[A+28>>2]-(2+(b[A+12>>2]+b[l+12>>2]|0)>>2)):(I=b[A+16>>2],(0|l)>=(0|wf)?(b[A+16>>2]=I-(2+(b[df>>2]<<1)>>2),b[A+20>>2]=b[A+20>>2]-(2+(b[mf>>2]<<1)>>2),b[A+24>>2]=b[A+24>>2]-(2+(b[If>>2]<<1)>>2),b[A+28>>2]=b[A+28>>2]-(2+(b[tf>>2]<<1)>>2)):(b[A+16>>2]=I-(2+(b[A>>2]+b[df>>2]|0)>>2),b[A+20>>2]=b[A+20>>2]-(2+(b[A+4>>2]+b[mf>>2]|0)>>2),b[A+24>>2]=b[A+24>>2]-(2+(b[A+8>>2]+b[If>>2]|0)>>2),b[A+28>>2]=b[A+28>>2]-(2+(b[A+12>>2]+b[tf>>2]|0)>>2))),l=s),(0|S)!=(0|l););if((0|O)<=(0|(l=C)))break g;for(;A=F+(l<<5)|0,(0|l)<0?(b[A>>2]=b[A>>2]+(b[F+16>>2]<<1>>1),b[A+4>>2]=b[A+4>>2]+(b[F+20>>2]<<1>>1),b[A+8>>2]=b[A+8>>2]+(b[F+24>>2]<<1>>1),b[A+12>>2]=b[A+12>>2]+(b[F+28>>2]<<1>>1)):(s=b[A>>2],l?(0|l)<=(0|J)?(I=(0|l)<(0|J),b[A>>2]=s+(b[A-16>>2]+b[(I?A+16:Yf)>>2]>>1),b[A+4>>2]=b[A+4>>2]+(b[A-12>>2]+b[(I?A+20:lf)>>2]>>1),b[A+8>>2]=b[A+8>>2]+(b[A-8>>2]+b[(I?A+24:sf)>>2]>>1),b[A+12>>2]=b[A+12>>2]+(b[A-4>>2]+b[(I?A+28:Bf)>>2]>>1)):(b[A>>2]=s+(b[Yf>>2]<<1>>1),b[A+4>>2]=b[A+4>>2]+(b[lf>>2]<<1>>1),b[A+8>>2]=b[A+8>>2]+(b[sf>>2]<<1>>1),b[A+12>>2]=b[A+12>>2]+(b[Bf>>2]<<1>>1)):(I=(0|l)<(0|J),b[A>>2]=s+(b[F+16>>2]+b[(I?A+16:Yf)>>2]>>1),b[A+4>>2]=b[A+4>>2]+(b[F+20>>2]+b[(I?A+20:lf)>>2]>>1),b[A+8>>2]=b[A+8>>2]+(b[F+24>>2]+b[(I?A+24:sf)>>2]>>1),b[A+12>>2]=b[A+12>>2]+(b[F+28>>2]+b[(I?A+28:Bf)>>2]>>1))),(0|O)!=(0|(l=l+1|0)););break g}if(V=P,J=ef,(0|ff)!=(0|(yf=yf+1|0)))continue o;break B}b[j+4>>2]=b[j+4>>2]-(2+(A<<1)>>2),b[j+8>>2]=b[j+8>>2]-(2+(b[kf>>2]<<1)>>2),l=A=b[lA>>2]}if(b[j+12>>2]=b[j+12>>2]-(2+(A+l|0)>>2),s=E,l=A=y,(0|A)<(0|v)){for(;s=F+(s<<5)|0,b[(l=F+(A<<5)|0)>>2]=b[l>>2]-(2+(b[s+16>>2]+b[l+16>>2]|0)>>2),b[l+4>>2]=b[l+4>>2]-(2+(b[s+20>>2]+b[l+20>>2]|0)>>2),b[l+8>>2]=b[l+8>>2]-(2+(b[s+24>>2]+b[l+24>>2]|0)>>2),b[l+12>>2]=b[l+12>>2]-(2+(b[s+28>>2]+b[l+28>>2]|0)>>2),s=A,(0|v)!=(0|(A=A+1|0)););l=v}if(!((0|l)>=(0|S)))for(;;){A=F+(l<<5)|0,s=(0|l)<(0|wf);c:if((0|l)<=0){if(I=b[Lf>>2],(0|l)>=0){b[A>>2]=b[A>>2]-(2+(I+b[(s?A+16:Sf)>>2]|0)>>2),b[A+4>>2]=b[A+4>>2]-(2+(b[F+20>>2]+b[(s?A+20:Nf)>>2]|0)>>2),b[A+8>>2]=b[A+8>>2]-(2+(b[F+24>>2]+b[(s?A+24:Mf)>>2]|0)>>2),b[A+12>>2]=b[A+12>>2]-(2+(b[F+28>>2]+b[(s?A+28:Jf)>>2]|0)>>2);break c}b[A>>2]=b[A>>2]-(2+(I<<1)>>2),b[A+4>>2]=b[A+4>>2]-(2+(b[F+20>>2]<<1)>>2),b[A+8>>2]=b[A+8>>2]-(2+(b[F+24>>2]<<1)>>2),b[A+12>>2]=b[A+12>>2]-(2+(b[F+28>>2]<<1)>>2)}else R=b[(I=F+((s?l:wf)<<5)|0)-16>>2],s?(b[A>>2]=b[A>>2]-(2+(R+b[A+16>>2]|0)>>2),b[A+4>>2]=b[A+4>>2]-(2+(b[I-12>>2]+b[A+20>>2]|0)>>2),b[A+8>>2]=b[A+8>>2]-(2+(b[I-8>>2]+b[A+24>>2]|0)>>2),b[A+12>>2]=b[A+12>>2]-(2+(b[I-4>>2]+b[A+28>>2]|0)>>2)):(b[A>>2]=b[A>>2]-(2+(R+b[Sf>>2]|0)>>2),b[A+4>>2]=b[A+4>>2]-(2+(b[I-12>>2]+b[Nf>>2]|0)>>2),b[A+8>>2]=b[A+8>>2]-(2+(b[I-8>>2]+b[Mf>>2]|0)>>2),b[A+12>>2]=b[A+12>>2]-(2+(b[I-4>>2]+b[Jf>>2]|0)>>2));if((0|S)==(0|(l=l+1|0)))break}}if(!((0|C)>=(0|O))){if((0|Df)>(0|(l=C)))for(;b[(A=F+(l<<5)|0)+16>>2]=b[A+16>>2]+(b[A+32>>2]+b[A>>2]>>1),b[A+20>>2]=b[A+20>>2]+(b[A+36>>2]+b[A+4>>2]>>1),b[A+24>>2]=b[A+24>>2]+(b[A+40>>2]+b[A+8>>2]>>1),b[A+28>>2]=b[A+28>>2]+(b[A+44>>2]+b[A+12>>2]>>1),(0|rA)>(0|(l=l+1|0)););if(!((0|l)>=(0|O)))for(;A=F+(l<<5)|0,(0|l)<0?(s=b[F>>2],-1==(0|l)&&(0|J)<=0?(b[A+16>>2]=b[A+16>>2]+(s+b[of>>2]>>1),b[A+20>>2]=b[A+20>>2]+(b[nf>>2]+b[F+4>>2]>>1),b[A+24>>2]=b[A+24>>2]+(b[D>>2]+b[F+8>>2]>>1),R=b[F+12>>2],s=b[L>>2]):(b[A+16>>2]=s+b[A+16>>2],b[A+20>>2]=b[A+20>>2]+b[F+4>>2],b[A+24>>2]=b[A+24>>2]+b[F+8>>2],s=R=b[F+12>>2]),b[A+28>>2]=b[A+28>>2]+(s+R>>1),l=l+1|0):((0|(s=l+1|0))<(0|J)?(l=F+(s<<5)|0,b[A+16>>2]=b[A+16>>2]+(b[l>>2]+b[A>>2]>>1),b[A+20>>2]=b[A+20>>2]+(b[l+4>>2]+b[A+4>>2]>>1),b[A+24>>2]=b[A+24>>2]+(b[l+8>>2]+b[A+8>>2]>>1),b[A+28>>2]=b[A+28>>2]+(b[l+12>>2]+b[A+12>>2]>>1)):(0|l)>=(0|J)?(b[A+16>>2]=b[A+16>>2]+b[of>>2],b[A+20>>2]=b[A+20>>2]+b[nf>>2],b[A+24>>2]=b[A+24>>2]+b[D>>2],b[A+28>>2]=b[A+28>>2]+b[L>>2]):(b[A+16>>2]=b[A+16>>2]+(b[of>>2]+b[A>>2]>>1),b[A+20>>2]=b[A+20>>2]+(b[nf>>2]+b[A+4>>2]>>1),b[A+24>>2]=b[A+24>>2]+(b[D>>2]+b[A+8>>2]>>1),b[A+28>>2]=b[A+28>>2]+(b[L>>2]+b[A+12>>2]>>1)),l=s),(0|O)!=(0|l););}}if(!PA(Ff,V,GA,w,Of,uA,1,4))break}break}break k}hf(F),l=1}A=b[vf-16>>2],s=b[oA>>2],I=b[gA>>2],E=b[vf-8>>2],fe(Ff,A-s|0,b[vf-12>>2]-I|0,E-s|0,b[vf-4>>2]-I|0,b[p+52>>2],1,E-A|0),nA(Ff);break r}nA(Ff),hf(F),l=0;break r}nA(Ff),l=0;break r}l=0,UA(V),hf(C)}if(z=af+32|0,l)break i;break A}I=0,z=K=z+-64|0;r:{a:{if(b[N+64>>2]){if(s=(y=b[p+28>>2])+u(b[p+24>>2],152)|0,W=b[s-152>>2],F=1,h=b[N+44>>2],x=b[h+4>>2],1==(0|C))break r;R=C-1|0,A=y;b:{if(2!=(0|C)){for(E=1&R,v=-2&R,l=0;I=(I=(I=(I=I>>>0>(C=b[A+160>>2]-b[A+152>>2]|0)>>>0?I:C)>>>0>(C=b[A+164>>2]-b[A+156>>2]|0)>>>0?I:C)>>>0>(C=b[A+312>>2]-b[A+304>>2]|0)>>>0?I:C)>>>0>(C=b[A+316>>2]-b[A+308>>2]|0)>>>0?I:C,A=A+304|0,(0|v)!=(0|(l=l+2|0)););if(!E)break b}l=(l=b[A+160>>2]-b[A+152>>2]|0)>>>0<I>>>0?I:l,I=(A=b[A+164>>2]-b[A+156>>2]|0)>>>0<l>>>0?l:A}if(F=0,I>>>0>134217727)break r;if(A=b[s-144>>2],l=b[y+4>>2],s=b[y+12>>2],v=b[y>>2],C=b[y+8>>2],S=se(kf=I<<5),b[K+32>>2]=S,!S)break r;for(E=s-l|0,s=C-v|0,nf=(l=x>>>1|0)>>>0<=2?2:l,Bf=(J=A-W|0)<<5,sf=u(J,28),af=u(J,24),lf=u(J,20),wf=J<<4,_=u(J,12),ef=J<<3,b[K>>2]=S,of=S+32|0,A=b[p+36>>2];;){w=E,b[K+8>>2]=w,I=s,b[K+40>>2]=I,ff=b[y+156>>2],X=b[y+164>>2],v=b[y+160>>2],l=b[y+152>>2],b[K+56>>2]=0,b[K+52>>2]=I,b[K+48>>2]=0,P=(0|l)%2|0,b[K+44>>2]=P,C=(s=v-l|0)-I|0,b[K+60>>2]=C,b[K+36>>2]=C;b:if(!(L=(0|x)<2)&(E=X-ff|0)>>>0>15){for(j=(E>>>0)/((V=(l=E>>>3|0)>>>0<x>>>0?l:x)>>>0)&-8,F=-8&E,l=0,W=A;;){if(!(v=ke(48)))break a;if(D=se(kf),b[v>>2]=D,!D){F=0,UA(h),hf(v),hf(S);break r}if(b[v+40>>2]=W,b[v+36>>2]=J,b[v+32>>2]=s,b[v+28>>2]=C,b[v+24>>2]=0,b[v+20>>2]=I,b[v+16>>2]=0,b[v+12>>2]=P,b[v+8>>2]=I,b[v+4>>2]=C,O=F-u(l,j)|0,D=(0|V)==(0|(l=l+1|0))?O:j,b[v+44>>2]=D,Tf(h,12,v),W=(u(J,D)<<2)+W|0,(0|l)==(0|V))break}UA(h)}else{if(F=0,W=A,E>>>0<8)break b;for(V=-2&s,j=1&s,C=0,P=(0|v)==(l+1|0);;){if(rf(l=K+32|0,W,J,8),Qf(l),s){I=0,F=0;k:{if(!P){for(;v=S+(I<<5)|0,t[(l=(I<<2)+W|0)>>2]=t[v>>2],t[(D=J<<2)+l>>2]=t[v+4>>2],t[l+ef>>2]=t[v+8>>2],t[l+_>>2]=t[v+12>>2],l=((v=1|I)<<2)+W|0,v=S+(v<<5)|0,t[l>>2]=t[v>>2],t[l+D>>2]=t[v+4>>2],t[l+ef>>2]=t[v+8>>2],t[l+_>>2]=t[v+12>>2],I=I+2|0,(0|V)!=(0|(F=F+2|0)););if(!j)break k}l=(I<<2)+W|0,I=S+(I<<5)|0,t[l>>2]=t[I>>2],t[l+(J<<2)>>2]=t[I+4>>2],t[l+ef>>2]=t[I+8>>2],t[l+_>>2]=t[I+12>>2]}for(I=0;v=S+(I<<5)|0,t[(l=(I<<2)+W|0)+wf>>2]=t[v+16>>2],t[l+lf>>2]=t[v+20>>2],t[l+af>>2]=t[v+24>>2],t[l+sf>>2]=t[v+28>>2],(0|s)!=(0|(I=I+1|0)););}if(W=W+Bf|0,l=C+15|0,C=F=C+8|0,!(l>>>0<E>>>0))break}}if(!(F>>>0>=E>>>0)&&(rf(I=K+32|0,W,J,l=E-F|0),Qf(I),s))for(P=-4&l,j=3&l,V=0,D=ff+(F-X|0)>>>0>4294967292;;){C=(V<<2)+W|0,F=S+(V<<5)|0,I=0,v=0,l=0;b:{if(!D){for(;t[C+(u(I,J)<<2)>>2]=t[F+(I<<2)>>2],t[C+(u(l=1|I,J)<<2)>>2]=t[F+(l<<2)>>2],t[C+(u(l=2|I,J)<<2)>>2]=t[F+(l<<2)>>2],t[C+(u(l=3|I,J)<<2)>>2]=t[F+(l<<2)>>2],I=I+4|0,(0|P)!=(0|(v=v+4|0)););if(l=I,!j)break b}for(I=0;t[C+(u(l,J)<<2)>>2]=t[F+(l<<2)>>2],l=l+1|0,(0|j)!=(0|(I=I+1|0)););}if((0|(V=V+1|0))==(0|s))break}v=E-w|0,b[K+4>>2]=v,l=b[y+156>>2],b[K+28>>2]=v,b[K+24>>2]=0,b[K+20>>2]=w,b[K+16>>2]=0,j=(0|l)%2|0,b[K+12>>2]=j;b:if(!L&s>>>0>15){for(V=(s>>>0)/((W=(l=s>>>3|0)>>>0<nf>>>0?l:nf)>>>0)&-8,F=-8&s,C=0,l=A;;){if(!(I=ke(48)))break a;if(P=se(kf),b[I>>2]=P,!P){F=0,UA(h),hf(I),hf(S);break r}if(b[I+40>>2]=l,b[I+36>>2]=J,b[I+32>>2]=E,b[I+28>>2]=v,b[I+24>>2]=0,b[I+20>>2]=w,b[I+16>>2]=0,b[I+12>>2]=j,b[I+8>>2]=w,b[I+4>>2]=v,O=F-u(C,V)|0,P=(0|W)==(0|(C=C+1|0))?O:V,b[I+44>>2]=P,Tf(h,13,I),l=(P<<2)+l|0,(0|W)==(0|C))break}UA(h)}else{if(l=A,s>>>0<8)break b;for(Ff=-2&E,Yf=1&E,tf=-2&v,Gf=1&v,O=-2&w,vf=1&w,P=of-(I=j<<5)|0,L=I+S|0,If=u(w,J)<<2,yf=(0|(mf=X-1|0))==(w+ff|0),C=s;;){I=0,W=0;k:{B:switch(0|w){default:for(;V=(u(I,J)<<2)+l|0,D=b[V+28>>2],b[(F=L+(I<<6)|0)+24>>2]=b[V+24>>2],b[F+28>>2]=D,D=b[V+20>>2],b[F+16>>2]=b[V+16>>2],b[F+20>>2]=D,D=b[V+12>>2],b[F+8>>2]=b[V+8>>2],b[F+12>>2]=D,D=b[V+4>>2],b[F>>2]=b[V>>2],b[F+4>>2]=D,V=L+((F=1|I)<<6)|0,F=(u(F,J)<<2)+l|0,D=b[F+28>>2],b[V+24>>2]=b[F+24>>2],b[V+28>>2]=D,D=b[F+20>>2],b[V+16>>2]=b[F+16>>2],b[V+20>>2]=D,D=b[F+12>>2],b[V+8>>2]=b[F+8>>2],b[V+12>>2]=D,D=b[F+4>>2],b[V>>2]=b[F>>2],b[V+4>>2]=D,I=I+2|0,(0|O)!=(0|(W=W+2|0)););if(!vf)break k;break;case 0:break k;case 1:break B}W=L+(I<<6)|0,I=(u(I,J)<<2)+l|0,V=b[I+28>>2],b[W+24>>2]=b[I+24>>2],b[W+28>>2]=V,V=b[I+20>>2],b[W+16>>2]=b[I+16>>2],b[W+20>>2]=V,V=b[I+12>>2],b[W+8>>2]=b[I+8>>2],b[W+12>>2]=V,V=b[I+4>>2],b[W>>2]=b[I>>2],b[W+4>>2]=V}k:if((0|w)!=(0|E)){if(D=l+If|0,I=0,V=0,!yf){for(;W=D+(u(I,J)<<2)|0,uf=b[W+28>>2],b[(F=P+(I<<6)|0)+24>>2]=b[W+24>>2],b[F+28>>2]=uf,uf=b[W+20>>2],b[F+16>>2]=b[W+16>>2],b[F+20>>2]=uf,uf=b[W+12>>2],b[F+8>>2]=b[W+8>>2],b[F+12>>2]=uf,uf=b[W+4>>2],b[F>>2]=b[W>>2],b[F+4>>2]=uf,W=P+((F=1|I)<<6)|0,F=D+(u(F,J)<<2)|0,uf=b[F+28>>2],b[W+24>>2]=b[F+24>>2],b[W+28>>2]=uf,uf=b[F+20>>2],b[W+16>>2]=b[F+16>>2],b[W+20>>2]=uf,uf=b[F+12>>2],b[W+8>>2]=b[F+8>>2],b[W+12>>2]=uf,uf=b[F+4>>2],b[W>>2]=b[F>>2],b[W+4>>2]=uf,I=I+2|0,(0|tf)!=(0|(V=V+2|0)););if(!Gf)break k}W=P+(I<<6)|0,I=D+(u(I,J)<<2)|0,V=b[I+28>>2],b[W+24>>2]=b[I+24>>2],b[W+28>>2]=V,V=b[I+20>>2],b[W+16>>2]=b[I+16>>2],b[W+20>>2]=V,V=b[I+12>>2],b[W+8>>2]=b[I+8>>2],b[W+12>>2]=V,V=b[I+4>>2],b[W>>2]=b[I>>2],b[W+4>>2]=V}Qf(K);k:if(E){if(I=0,W=0,(0|ff)!=(0|mf)){for(;D=b[(V=S+(I<<5)|0)+28>>2],F=(u(I,J)<<2)+l|0,b[F+24>>2]=b[V+24>>2],b[F+28>>2]=D,D=b[V+20>>2],b[F+16>>2]=b[V+16>>2],b[F+20>>2]=D,D=b[V+12>>2],b[F+8>>2]=b[V+8>>2],b[F+12>>2]=D,D=b[V+4>>2],b[F>>2]=b[V>>2],b[F+4>>2]=D,V=(u(F=1|I,J)<<2)+l|0,D=b[(F=S+(F<<5)|0)+28>>2],b[V+24>>2]=b[F+24>>2],b[V+28>>2]=D,D=b[F+20>>2],b[V+16>>2]=b[F+16>>2],b[V+20>>2]=D,D=b[F+12>>2],b[V+8>>2]=b[F+8>>2],b[V+12>>2]=D,D=b[F+4>>2],b[V>>2]=b[F>>2],b[V+4>>2]=D,I=I+2|0,(0|Ff)!=(0|(W=W+2|0)););if(!Yf)break k}W=(u(I,J)<<2)+l|0,V=b[(I=S+(I<<5)|0)+28>>2],b[W+24>>2]=b[I+24>>2],b[W+28>>2]=V,V=b[I+20>>2],b[W+16>>2]=b[I+16>>2],b[W+20>>2]=V,V=b[I+12>>2],b[W+8>>2]=b[I+8>>2],b[W+12>>2]=V,V=b[I+4>>2],b[W>>2]=b[I>>2],b[W+4>>2]=V}if(l=l+32|0,!((C=C-8|0)>>>0>7))break}}b:if(C=7&s){j<<=5;k:if(w){if(V=S+j|0,W=C<<2,I=0,1!=(0|w)){for(P=1&w,L=-2&w,F=0;(D=!W)||n(V+(I<<6)|0,(u(I,J)<<2)+l|0,W),D||n(V+((D=1|I)<<6)|0,(u(J,D)<<2)+l|0,W),I=I+2|0,(0|L)!=(0|(F=F+2|0)););if(!P)break k}W&&n(V+(I<<6)|0,(u(I,J)<<2)+l|0,W)}k:if((0|w)!=(0|E)){if(V=of-j|0,j=(u(w,J)<<2)+l|0,W=C<<2,I=0,(0|ff)!=(X+(-1^w)|0)){for(w=1&v,v&=-2,F=0;(P=!W)||n(V+(I<<6)|0,j+(u(I,J)<<2)|0,W),P||n(V+((P=1|I)<<6)|0,j+(u(J,P)<<2)|0,W),I=I+2|0,(0|v)!=(0|(F=F+2|0)););if(!w)break k}W&&n(V+(I<<6)|0,j+(u(I,J)<<2)|0,W)}if(Qf(K),E){if(W=C<<2,I=0,(0|X)!=(ff+1|0)){for(v=1&E,C=-2&E,F=0;(V=!W)||n((u(I,J)<<2)+l|0,S+(I<<5)|0,W),V||n((u(V=1|I,J)<<2)+l|0,S+(V<<5)|0,W),I=I+2|0,(0|C)!=(0|(F=F+2|0)););if(!v)break b}W&&n((u(I,J)<<2)+l|0,S+(I<<5)|0,W)}}if(y=y+152|0,!(R=R-1|0))break}F=1,hf(S);break r}if(F=1,j=(E=b[p+28>>2])+u(C,152)|0,b[(lf=j-152|0)>>2]==b[j-144>>2])break r;if(b[(wf=j-148|0)>>2]==b[j-140>>2])break r;if(l=b[E+4>>2],s=b[E+12>>2],W=b[E>>2],v=b[E+8>>2],R=b[p+68>>2],S=b[p+64>>2],h=b[p+60>>2],ff=b[p+56>>2],!(ef=Wf(p,C))){F=0;break r}if(1==(0|C)){A=b[j-16>>2],l=b[lf>>2],s=b[wf>>2],I=b[j-8>>2],fe(ef,A-l|0,b[j-12>>2]-s|0,I-l|0,b[j-4>>2]-s|0,b[p+52>>2],1,I-A|0),nA(ef);break r}A=E;b:{if(2!=(0|C)){for(V=1&(I=C-1|0),w=-2&I,I=0,F=0;I=(I=(I=(I=I>>>0>(y=b[A+160>>2]-b[A+152>>2]|0)>>>0?I:y)>>>0>(y=b[A+164>>2]-b[A+156>>2]|0)>>>0?I:y)>>>0>(y=b[A+312>>2]-b[A+304>>2]|0)>>>0?I:y)>>>0>(y=b[A+316>>2]-b[A+308>>2]|0)>>>0?I:y,A=A+304|0,(0|w)!=(0|(F=F+2|0)););if(!V)break b}I=I>>>0>(V=b[A+160>>2]-b[A+152>>2]|0)>>>0?I:V,I=(A=b[A+164>>2]-b[A+156>>2]|0)>>>0<I>>>0?I:A}if(!(I>>>0>=134217728)&&(P=se(I<<5),b[K+32>>2]=P,P)){b[K>>2]=P;b:{if(C)for(y=s-l|0,A=v-W|0,Ff=P+32|0,_=C,Yf=b[p+20>>2],D=1,nf=0;;){if(b[K+8>>2]=y,b[K+40>>2]=A,s=b[E+164>>2],I=b[E+160>>2],l=b[E+156>>2],kf=(0|(W=b[E+152>>2]))%2|0,b[K+44>>2]=kf,tf=(0|l)%2|0,b[K+12>>2]=tf,of=(x=I-W|0)-A|0,b[K+36>>2]=of,Gf=(W=s-l|0)-y|0,b[K+4>>2]=Gf,F=s=ff,l=I=h,V=C=S,J=v=R,!nf&(0|D)==(0|Yf)||(X=Yf-D|0,l=0,F=0,s&&(s=31&X,(63&X)>>>0>=32?(w=-1<<s,I=0):w=(I=-1<<s)|(1<<s)-1&-1>>>32-s,s=ff+(-1^I)|0,I=-1^w,v=s>>>0<ff>>>0?I+1|0:I,I=31&X,F=(63&X)>>>0>=32?v>>>I|0:((1<<I)-1&v)<<32-I|s>>>I),h&&(l=31&X,(63&X)>>>0>=32?(w=-1<<l,s=0):w=(s=-1<<l)|(1<<l)-1&-1>>>32-l,l=h+(-1^s)|0,s=-1^w,I=l>>>0<h>>>0?s+1|0:s,s=31&X,l=(63&X)>>>0>=32?I>>>s|0:((1<<s)-1&I)<<32-s|l>>>s),v=0,C=0,S&&(s=31&X,(63&X)>>>0>=32?(w=-1<<s,I=0):w=(I=-1<<s)|(1<<s)-1&-1>>>32-s,s=S+(-1^I)|0,I=-1^w,C=s>>>0<S>>>0?I+1|0:I,I=31&X,C=(63&X)>>>0>=32?C>>>I|0:((1<<I)-1&C)<<32-I|s>>>I),R&&(s=31&X,(63&X)>>>0>=32?(w=-1<<s,I=0):w=(I=-1<<s)|(1<<s)-1&-1>>>32-s,s=R+(-1^I)|0,I=-1^w,v=s>>>0<R>>>0?I+1|0:I,I=31&X,v=(63&X)>>>0>=32?v>>>I|0:((1<<I)-1&v)<<32-I|s>>>I),V=0,s=0,(L=1<<X-1)>>>0<ff>>>0&&(s=31&X,(63&X)>>>0>=32?(w=-1<<s,I=0):w=(I=-1<<s)|(1<<s)-1&-1>>>32-s,w^=-1,w=(I^=-1)>>>0>(s=I+(ff-L|0)|0)>>>0?w+1|0:w,I=31&X,s=(63&X)>>>0>=32?w>>>I|0:((1<<I)-1&w)<<32-I|s>>>I),S>>>0>L>>>0&&(I=31&X,(63&X)>>>0>=32?(w=-1<<I,V=0):w=(V=-1<<I)|(1<<I)-1&-1>>>32-I,w^=-1,w=(I=(V^=-1)+(S-L|0)|0)>>>0<V>>>0?w+1|0:w,V=31&X,V=(63&X)>>>0>=32?w>>>V|0:((1<<V)-1&w)<<32-V|I>>>V),J=0,I=0,h>>>0>L>>>0&&(I=31&X,(63&X)>>>0>=32?(w=-1<<I,Bf=0):w=(Bf=-1<<I)|(1<<I)-1&-1>>>32-I,w^=-1,Bf=(I=(Bf^=-1)+(h-L|0)|0)>>>0<Bf>>>0?w+1|0:w,w=31&X,I=(63&X)>>>0>=32?Bf>>>w|0:((1<<w)-1&Bf)<<32-w|I>>>w),R>>>0<=L>>>0||(w=31&X,(63&X)>>>0>=32?(w=-1<<w,J=0):w=(J=-1<<w)|(1<<w)-1&-1>>>32-w,w^=-1,L=(J=(Bf=-1^J)+(R-L|0)|0)>>>0<Bf>>>0?w+1|0:w,w=31&X,J=(63&X)>>>0>=32?L>>>w|0:((1<<w)-1&L)<<32-w|J>>>w)),sf=(V=(V=V>>>0>=(X=V-(w=b[E+180>>2])|0)>>>0?X:0)>>>0>(X=V+4|0)>>>0?-1:X)>>>0<of>>>0?V:of,af=A>>>0>(C=(C=C>>>0>=(X=C-(V=b[E+216>>2])|0)>>>0?X:0)>>>0>(X=C+4|0)>>>0?-1:X)>>>0?C:A,L=(C=(C=(kf?sf:af)<<1)>>>0>(X=(kf?af:sf)<<1|1)>>>0?C:X)>>>0<x>>>0,of=(s=s>>>0>=(w=s-w|0)>>>0?w:0)>>>0>=(w=s-4|0)>>>0?w:0,Bf=(s=(s=F-V|0)>>>0<=F>>>0?s:0)>>>0>=(V=s-4|0)>>>0?V:0,If=(O=(kf?of:Bf)<<1)>>>0<(vf=(kf?Bf:of)<<1|1)>>>0,F=s=(l=l>>>0>=(s=l-(V=b[E+184>>2])|0)>>>0?s:0)>>>0>=(s=l-4|0)>>>0?s:0,w=I=(I=I>>>0>=(w=I-(l=b[E+220>>2])|0)>>>0?w:0)>>>0>=(w=I-4|0)>>>0?w:0,V=v=(v=(V=(v=(V=v-V|0)>>>0<=v>>>0?V:0)+4|0)>>>0<v>>>0?-1:V)>>>0<y>>>0?v:y,J=X=(l=(l=(l=J-l|0)>>>0<=J>>>0?l:0)>>>0>(J=l+4|0)>>>0?-1:J)>>>0<Gf>>>0?l:Gf,tf&&(w=s,J=V,F=I,V=X),L=L?C:x,C=If?O:vf,b[K+60>>2]=sf,b[K+56>>2]=of,b[K+52>>2]=af,b[K+48>>2]=Bf,W>>>0<8)A=7,l=0;else for(Gf=(Ff-(l=kf<<5)|0)+(of<<6)|0,O=(l+P|0)+(Bf<<6)|0,sf=A+sf|0,vf=A+of|0,If=y+X|0,mf=I+y|0,yf=P+(C<<5)|0,l=0;;){if(l>>>0<v>>>0&(A=7|l)>>>0>=s>>>0|l>>>0<If>>>0&A>>>0>=mf>>>0){for(uf=(A=W-l|0)>>>0>=8?8:A,A=0;fe(ef,Bf,kf=A+l|0,af,of=kf+1|0,(Xf=A<<2)+O|0,16,0),fe(ef,vf,kf,sf,of,Gf+Xf|0,16,0),(0|uf)!=(0|(A=A+1|0)););if(Qf(K+32|0),!PA(ef,C,A=l,L,l=l+8|0,yf,8,1))break b}else l=l+8|0;if(!(W>>>0>(A=7|l)>>>0))break}if(!(!(l>>>0<v>>>0&A>>>0>=s>>>0)&(y+X>>>0<=l>>>0|I+y>>>0>A>>>0)|l>>>0>=W>>>0)){if(A=K+32|0,kf=0,sf=W-l|0)for(;Bf=(of=l+kf|0)+1|0,Gf=kf<<2,fe(ef,af=b[A+16>>2],of,b[A+20>>2],Bf,Gf+((b[A>>2]+(b[A+12>>2]<<5)|0)+(af<<6)|0)|0,16,0),fe(ef,(af=b[A+24>>2])+(O=b[A+8>>2])|0,of,O+b[A+28>>2]|0,Bf,32+(Gf+((b[A>>2]-(b[A+12>>2]<<5)|0)+(af<<6)|0)|0)|0,16,0),(0|sf)!=(0|(kf=kf+1|0)););if(Qf(A),!PA(ef,C,l,L,W,P+(C<<5)|0,8,1))break b}if(b[K+28>>2]=X,b[K+24>>2]=I,b[K+20>>2]=v,b[K+16>>2]=s,C>>>0<L>>>0)for(l=(A=(A=V<<1)>>>0>(l=J<<1|1)>>>0?A:l)>>>0<W>>>0?A:W,V=(Ff-(A=tf<<5)|0)+(I<<6)|0,J=(A+P|0)+(s<<6)|0,X=y+X|0,I=I+y|0,y=P+((w=(A=F<<1)>>>0<(w=w<<1|1)>>>0?A:w)<<5)|0;;){if(fe(ef,C,s,A=((A=L-C|0)>>>0>=8?8:A)+C|0,v,J,1,16),fe(ef,C,I,A,X,V,1,16),Qf(K),!PA(ef,C,w,A,l,y,1,8))break b;if(!(L>>>0>(C=C+8|0)>>>0))break}if(E=E+152|0,A=x,y=W,!((nf=(D=D+1|0)?nf:nf+1|0)|(0|D)!=(0|_)))break}F=1,A=b[j-16>>2],l=b[lf>>2],s=b[wf>>2],I=b[j-8>>2],fe(ef,A-l|0,b[j-12>>2]-s|0,I-l|0,b[j-4>>2]-s|0,b[p+52>>2],1,I-A|0),nA(ef),hf(P);break r}nA(ef),hf(P),F=0;break r}nA(ef),F=0;break r}F=0,UA(h),hf(S)}if(z=K- -64|0,!F)break A}if(d=d+1080|0,M=M+52|0,p=p+76|0,!((m=m+1|0)>>>0<G[U+16>>2]))break}d=b[N+32>>2],U=b[b[N+20>>2]>>2]}W=b[d+16>>2];i:if(!(b[N+68>>2]|!W)){M=b[U+20>>2],l=b[M+28>>2];r:{a:{if(s=b[N+64>>2]){if((m=b[U+16>>2])>>>0<3)break r;if(!((0|(A=b[M+24>>2]))==b[M+100>>2]&(0|A)==b[M+176>>2])){xf(o,1,10089,0);break A}if(I=b[b[N+24>>2]+24>>2],!((0|(E=b[I+36>>2]))!=b[I+88>>2]|(0|E)!=b[I+140>>2])&&(I=u(A,152),A=u(b[(A=I+l|0)-140>>2]-b[A-148>>2]|0,b[A-144>>2]-b[A-152>>2]|0),l=I+b[M+104>>2]|0,(0|A)==(0|u(b[l-140>>2]-b[l-148>>2]|0,b[l-144>>2]-b[l-152>>2]|0))&&(l=I+b[M+180>>2]|0,(0|u(b[l-140>>2]-b[l-148>>2]|0,b[l-144>>2]-b[l-152>>2]|0))==(0|A))))break a;xf(o,1,10089,0);break A}if((m=b[U+16>>2])>>>0<3)break r;if(I=b[b[N+24>>2]+24>>2],(0|(A=b[I+36>>2]))!=b[I+88>>2]||(0|(I=b[I+140>>2]))!=(0|A)||(E=u(A,152),A=u(b[(A=l+E|0)+148>>2]-b[A+140>>2]|0,b[A+144>>2]-b[A+136>>2]|0),l=E+b[M+104>>2]|0,(0|A)!=(0|u(b[l+148>>2]-b[l+140>>2]|0,b[l+144>>2]-b[l+136>>2]|0))||(l=b[M+180>>2]+u(I,152)|0,(0|u(b[l+148>>2]-b[l+140>>2]|0,b[l+144>>2]-b[l+136>>2]|0))!=(0|A)))){xf(o,1,10089,0);break A}}if(2==(0|W)){if(!b[d+5608>>2])break i;if(!(s=ke(m<<2)))break A;a:if(v=b[U+16>>2]){b:{k:{if(b[N+64>>2]){if(m=3&v,l=0,v>>>0>=4)break k;p=0;break b}if(m=3&v,l=0,v>>>0<4)p=0;else{for(W=-4&v,p=0,I=0;b[(E=s+(p<<2)|0)>>2]=b[M+52>>2],b[E+4>>2]=b[M+128>>2],b[E+8>>2]=b[M+204>>2],b[E+12>>2]=b[M+280>>2],p=p+4|0,M=M+304|0,(0|W)!=(0|(I=I+4|0)););if(!m)break a}for(;b[s+(p<<2)>>2]=b[M+52>>2],p=p+1|0,M=M+76|0,(0|m)!=(0|(l=l+1|0)););break a}for(W=-4&v,p=0,I=0;b[(E=s+(p<<2)|0)>>2]=b[M+36>>2],b[E+4>>2]=b[M+112>>2],b[E+8>>2]=b[M+188>>2],b[E+12>>2]=b[M+264>>2],p=p+4|0,M=M+304|0,(0|W)!=(0|(I=I+4|0)););if(!m)break a}for(;b[s+(p<<2)>>2]=b[M+36>>2],p=p+1|0,M=M+76|0,(0|m)!=(0|(l=l+1|0)););}if(I=b[d+5608>>2],l=s,W=0,s=0,d=ke(v<<3)){if(!(!A|!v))for(s=A,J=d+(v<<2)|0,y=-4&v,V=3&v,F=v-1|0;;){U=0,m=0,A=0;a:{if(!(R=F>>>0<3)){for(;t[(A=U<<2)+d>>2]=t[b[A+l>>2]>>2],t[(E=4|A)+d>>2]=t[b[l+E>>2]>>2],t[(E=8|A)+d>>2]=t[b[l+E>>2]>>2],t[(A|=12)+d>>2]=t[b[A+l>>2]>>2],U=U+4|0,(0|y)!=(0|(m=m+4|0)););if(A=U,!V)break a}for(U=0;t[(E=A<<2)+d>>2]=t[b[l+E>>2]>>2],A=A+1|0,(0|V)!=(0|(U=U+1|0)););}for(E=0,A=I;;){b[(C=(S=E<<2)+J|0)>>2]=0,gf=Z(0),U=0,m=0;a:{if(!R){for(;w=d+(U<<2)|0,gf=Z(Z(t[A>>2]*t[w>>2])+gf),t[C>>2]=gf,gf=Z(Z(t[A+4>>2]*t[w+4>>2])+gf),t[C>>2]=gf,gf=Z(Z(t[A+8>>2]*t[w+8>>2])+gf),t[C>>2]=gf,gf=Z(Z(t[A+12>>2]*t[w+12>>2])+gf),t[C>>2]=gf,U=U+4|0,A=A+16|0,(0|y)!=(0|(m=m+4|0)););if(m=U,!V)break a}for(U=0;gf=Z(Z(t[A>>2]*t[d+(m<<2)>>2])+gf),t[C>>2]=gf,m=m+1|0,A=A+4|0,(0|V)!=(0|(U=U+1|0)););}if(m=b[(U=l+S|0)>>2],b[U>>2]=m+4,t[m>>2]=gf,(0|v)==(0|(E=E+1|0)))break}if((0|s)==(0|(W=W+1|0)))break}hf(d),s=1}if(A=s,hf(l),A)break i;break A}if(1==b[b[d+5584>>2]+20>>2]){if(s){IA(b[M+36>>2],b[M+112>>2],b[M+188>>2],A);break i}IA(b[M+52>>2],b[M+128>>2],b[M+204>>2],A);break i}if(s){iA(b[M+36>>2],b[M+112>>2],b[M+188>>2],A);break i}iA(b[M+52>>2],b[M+128>>2],b[M+204>>2],A);break i}b[Ef>>2]=m,xf(o,1,10150,Ef)}if(V=b[b[N+20>>2]>>2],!b[V+16>>2]){$=1;break A}for(w=b[N+68>>2],W=b[V+20>>2],A=b[b[N+32>>2]+5584>>2],E=b[b[N+24>>2]+24>>2],s=0;;){if((b[w+(s<<2)>>2]||!w)&&(l=(I=b[W+28>>2])+u(b[E+36>>2],152)|0,b[N+64>>2]?(I=I+u(b[W+24>>2],152)|0,U=b[l+8>>2]-b[l>>2]|0,y=b[I-144>>2]-(U+b[I-152>>2]|0)|0,I=b[l+12>>2]-b[l+4>>2]|0,m=36):(I=b[l+148>>2]-b[l+140>>2]|0,U=b[l+144>>2]-b[l+136>>2]|0,y=0,m=52),l=b[E+24>>2],b[E+32>>2]?(p=(l=1<<l-1)-1|0,d=0-l|0):(p=~(-1<<l),d=0),!(!U|!I)))if($=b[W+m>>2],1!=b[A+20>>2])for(J=d>>31,l=0;;){for(m=0;C=p,(gf=t[$>>2])>Z(2147483648)||(C=d,gf<Z(-2147483648)||(C=v=b[A+1076>>2],pf=gf,gf=Z(H(gf)),(Pf=Z(pf-gf))<Z(.5)||(pf=Z(Y(pf)),Pf>Z(.5)||(Pf=gf,gf=Z(gf*Z(.5)),pf=Z(gf-Z(H(gf)))==Z(0)?Pf:pf),gf=pf),F=(R=v>>31)+((v=Z(Q(gf))<Z(2147483648)?~~gf:-2147483648)>>31)|0,C=(C=C+v|0)>>>0<d>>>0&(0|(v=v>>>0>C>>>0?F+1|0:F))<=(0|J)|(0|v)<(0|J)?d:C>>>0<p>>>0&(0|v)<=0|(0|v)<0?C:p)),b[$>>2]=C,$=$+4|0,(0|U)!=(0|(m=m+1|0)););if($=(y<<2)+$|0,(0|I)==(0|(l=l+1|0)))break}else for(v=-2&U,C=1&U,M=0,y<<=2;;){m=0;i:{if(1!=(0|U)){for(;l=b[A+1076>>2]+b[$>>2]|0,b[$>>2]=(0|l)<(0|d)?d:(0|l)<(0|p)?l:p,l=b[A+1076>>2]+b[$+4>>2]|0,b[$+4>>2]=(0|l)<(0|d)?d:(0|l)<(0|p)?l:p,$=$+8|0,(0|v)!=(0|(m=m+2|0)););if(!C)break i}l=b[A+1076>>2]+b[$>>2]|0,b[$>>2]=(0|l)<(0|d)?d:(0|l)<(0|p)?l:p,$=$+4|0}if($=y+$|0,(0|(M=M+1|0))==(0|I))break}if(W=W+76|0,A=A+1080|0,E=E+52|0,$=1,!((s=s+1|0)>>>0<G[V+16>>2]))break}break A}$=0,xf(o,1,3372,0)}if(z=Ef+16|0,$){if(e){if(A=0,!(-1==(0|(l=Vf(E=b[f+232>>2],1)))|r>>>0<l>>>0)&&(A=1,r=b[E+24>>2],b[r+16>>2]))for(I=b[r+24>>2],W=b[b[b[E+20>>2]>>2]+20>>2];;){s=7&(A=b[I+24>>2]),U=A>>>3|0,A=(r=b[W+28>>2])+u(b[I+36>>2],152)|0,b[E+64>>2]?(l=r+u(b[W+24>>2],152)|0,r=b[A+8>>2]-b[A>>2]|0,m=b[l-144>>2]-(r+b[l-152>>2]|0)|0,l=b[A+12>>2]-b[A+4>>2]|0,A=36):(l=b[A+148>>2]-b[A+140>>2]|0,r=b[A+144>>2]-b[A+136>>2]|0,m=0,A=52),A=b[A+W>>2];A:{e:{i:{r:switch((3==(0|(s=U+!!(0|s)|0))?4:s)-1|0){case 0:break i;case 1:break e;case 3:break r;default:break A}if(!l)break A;if(r<<=2,1!=(0|l)){for(s=1&l,U=-2&l,l=0;(d=!r)||n(e,A,r),A=(v=m<<2)+(A+r|0)|0,e=e+r|0,d||n(e,A,r),e=e+r|0,A=v+(A+r|0)|0,(0|U)!=(0|(l=l+2|0)););if(!s)break A}r&&n(e,A,r),e=e+r|0;break A}if(s=!l|!r,b[I+32>>2]){if(s)break A;for(d=-8&r,U=7&r,s=0,v=r-1>>>0<7;;){r=0;i:{if(!v){for(;i[0|e]=b[A>>2],i[e+1|0]=b[A+4>>2],i[e+2|0]=b[A+8>>2],i[e+3|0]=b[A+12>>2],i[e+4|0]=b[A+16>>2],i[e+5|0]=b[A+20>>2],i[e+6|0]=b[A+24>>2],i[e+7|0]=b[A+28>>2],e=e+8|0,A=A+32|0,(0|d)!=(0|(r=r+8|0)););if(!U)break i}for(r=0;i[0|e]=b[A>>2],e=e+1|0,A=A+4|0,(0|U)!=(0|(r=r+1|0)););}if(A=(m<<2)+A|0,(0|(s=s+1|0))==(0|l))break}break A}if(s)break A;for(d=-8&r,U=7&r,s=0,v=r-1>>>0<7,m<<=2;;){r=0;i:{if(!v){for(;i[0|e]=b[A>>2],i[e+1|0]=b[A+4>>2],i[e+2|0]=b[A+8>>2],i[e+3|0]=b[A+12>>2],i[e+4|0]=b[A+16>>2],i[e+5|0]=b[A+20>>2],i[e+6|0]=b[A+24>>2],i[e+7|0]=b[A+28>>2],e=e+8|0,A=A+32|0,(0|d)!=(0|(r=r+8|0)););if(!U)break i}for(r=0;i[0|e]=b[A>>2],e=e+1|0,A=A+4|0,(0|U)!=(0|(r=r+1|0)););}if(A=A+m|0,(0|(s=s+1|0))==(0|l))break}break A}if(s=!l|!r,b[I+32>>2]){if(s)break A;for(d=-8&r,U=7&r,s=0,v=r-1>>>0<7;;){r=0;e:{if(!v){for(;a[e>>1]=b[A>>2],a[e+2>>1]=b[A+4>>2],a[e+4>>1]=b[A+8>>2],a[e+6>>1]=b[A+12>>2],a[e+8>>1]=b[A+16>>2],a[e+10>>1]=b[A+20>>2],a[e+12>>1]=b[A+24>>2],a[e+14>>1]=b[A+28>>2],e=e+16|0,A=A+32|0,(0|d)!=(0|(r=r+8|0)););if(!U)break e}for(r=0;a[e>>1]=b[A>>2],e=e+2|0,A=A+4|0,(0|U)!=(0|(r=r+1|0)););}if(A=(m<<2)+A|0,(0|(s=s+1|0))==(0|l))break}}else if(!s)for(d=-8&r,U=7&r,s=0,v=r-1>>>0<7;;){r=0;e:{if(!v){for(;a[e>>1]=b[A>>2],a[e+2>>1]=b[A+4>>2],a[e+4>>1]=b[A+8>>2],a[e+6>>1]=b[A+12>>2],a[e+8>>1]=b[A+16>>2],a[e+10>>1]=b[A+20>>2],a[e+12>>1]=b[A+24>>2],a[e+14>>1]=b[A+28>>2],e=e+16|0,A=A+32|0,(0|d)!=(0|(r=r+8|0)););if(!U)break e}for(r=0;a[e>>1]=b[A>>2],e=e+2|0,A=A+4|0,(0|U)!=(0|(r=r+1|0)););}if(A=(m<<2)+A|0,(0|(s=s+1|0))==(0|l))break}}if(W=W+76|0,I=I+52|0,A=1,!((CA=CA+1|0)>>>0<G[b[E+24>>2]+16>>2]))break}if(!A)break f;(A=b[Rf+5596>>2])&&(hf(A),b[Rf+5596>>2]=0,b[Rf+5600>>2]=0)}i[f+92|0]=254&k[f+92|0],b[f+8>>2]=-129&b[f+8>>2],BA=1,e=VA(B),A=b[f+8>>2],!(e|T)&64==(0|A)|256==(0|A)||(2==(0|Zf(B,g+10|0,2,o))?(eA(g+10|0,g+12|0,2),65424!=(0|(A=b[g+12>>2]))&&(65497!=(0|A)?VA(B)|T?(BA=0,xf(o,1,8306,0)):(b[f+8>>2]=64,xf(o,2,8419,0)):(b[f+8>>2]=256,b[f+228>>2]=0))):(xf(o,b[f+208>>2]?1:2,2472,0),BA=!b[f+208>>2]))}else Uf(Rf),b[f+8>>2]=32768|b[f+8>>2],xf(o,1,11451,0)}else Uf(Rf);return z=g+16|0,0|BA}function O(f,A,e,r,B,l,I,s,C,Q,W){f|=0,A|=0,e|=0,r|=0,B|=0,l|=0,I|=0,s|=0,C|=0,Q|=0,W|=0;var w,V=0,H=0,Y=0,v=0,F=0,m=0,E=0,y=0,d=0,R=0,J=0,U=0,X=0,h=0,D=0,M=0,p=0,N=0,S=0,K=0,x=0,j=0,P=0,L=0,O=0,q=Z(0),_=0,$=0,ff=0,Af=0,ef=0,rf=0,af=0,bf=0,kf=0,Bf=0,of=0,gf=0,cf=0,nf=0,If=0,sf=0,tf=0,uf=0,Qf=0,Wf=0,wf=0,Hf=0,Yf=Z(0);z=w=z-80|0,b[w+40>>2]=65424,d=u(b[f+132>>2],b[f+128>>2]);f:{A:{e:{i:if(8==(0|(V=b[f+8>>2]))){if(!(1&i[f+92|0])){S=-2&d,L=1&d,h=w+77|0,K=w+76|0,P=w+72|0,V=65424;r:{a:{for(;;){b:{k:{B:{o:{g:{l:{c:{if((F=b[f+84>>2])&&!(F>>>0<=(Y=b[f+80>>2])>>>0)){if(V=b[f+88>>2]+(Y<<3)|0,F=b[V>>2],V=b[V+4>>2],b[f+80>>2]=Y+1,!sA(Q,F,V,W)){xf(W,1,5440,0),Q=0;break f}if(2!=(0|Zf(Q,b[f+16>>2],2,W))){xf(W,1,2472,0),Q=0;break f}if(eA(b[f+16>>2],w+40|0,2),65424==b[w+40>>2])break c;xf(W,1,4073,0),Q=0;break f}if(65427==(0|V))break l}for(;;){if(!(VA(Q)|T)){b[f+8>>2]=64;break l}if(2!=(0|Zf(Q,b[f+16>>2],2,W))){xf(W,1,2472,0),Q=0;break f}if(eA(b[f+16>>2],w+36|0,2),G[w+36>>2]<=1){xf(W,1,6048,0),Q=0;break f}if(32896==b[w+40>>2]&&!(VA(Q)|T)){b[f+8>>2]=64;break l}if(16&(H=b[f+8>>2])){if(V=b[w+36>>2],Y=b[f+24>>2]){if((F=V+2|0)>>>0>Y>>>0){xf(W,1,8370,0),Q=0;break f}b[f+24>>2]=Y-F}}else V=b[w+36>>2];for(F=V-2|0,b[w+36>>2]=F,V=24912,U=b[w+40>>2];Y=V,(v=b[V>>2])&&(V=V+12|0,(0|v)!=(0|U)););if(!(H&b[Y+4>>2])){xf(W,1,5397,0),Q=0;break f}if(G[f+20>>2]>=F>>>0)V=b[f+16>>2];else{if(V=VA(Q),V=(0|(H=T))<0?1:V>>>0<F>>>0&(0|H)<=0){xf(W,1,5797,0),Q=0;break f}if(!(V=Cf(b[f+16>>2],b[w+36>>2]))){hf(b[f+16>>2]),b[f+16>>2]=0,b[f+20>>2]=0,xf(W,1,4973,0),Q=0;break f}b[f+16>>2]=V,F=b[w+36>>2],b[f+20>>2]=F}if((0|(V=Zf(Q,V,F,W)))!=b[w+36>>2]){xf(W,1,2472,0),Q=0;break f}if(!(Y=b[Y+8>>2])){xf(W,1,11725,0),Q=0;break f}if(!(0|Qe[0|Y](f,b[f+16>>2],V,W))){b[w+32>>2]=b[w+40>>2],xf(W,1,13959,w+32|0),Q=0;break f}if(m=b[Q+56>>2],H=b[w+36>>2],U=b[f+224>>2],F=b[U+40>>2],R=b[f+228>>2],E=u(R,40),(D=(J=b[(V=F+E|0)+20>>2])+1|0)>>>0<=(Y=b[V+28>>2])>>>0)V=b[V+24>>2];else{if(Y=(q=Z(Z(Y>>>0)+Z(100)))<Z(4294967296)&q>=Z(0)?~~q>>>0:0,b[V+28>>2]=Y,V=Cf(b[V+24>>2],u(Y,24)),Y=E+(F=b[U+40>>2])|0,!V)break g;b[Y+24>>2]=V,D=(J=b[Y+20>>2])+1|0}if(V=u(J,24)+V|0,b[V+16>>2]=H+4,Y=(m-H|0)-4|0,b[V+8>>2]=Y,b[V+12>>2]=Y>>31,a[V>>1]=v,b[(V=F+E|0)+20>>2]=D,65424==(0|v)&&((F=b[V+16>>2])&&((v=b[V+12>>2])>>>0>=G[V+4>>2]||(V=F+u(v,24)|0,b[V>>2]=Y,b[V+4>>2]=0)),V=(b[Q+56>>2]-b[w+36>>2]|0)-4|0,Y=b[f+48>>2],(H=(0|(F=b[f+52>>2]))>0?1:V>>>0<=Y>>>0&(0|F)>=0)||(b[f+48>>2]=V,b[f+52>>2]=0)),4&k[f+92|0]){if((0|$A(Q,b[f+24>>2],W))!=b[f+24>>2]|T){xf(W,1,2472,0),Q=0;break f}b[w+40>>2]=65427;break l}if(2!=(0|Zf(Q,b[f+16>>2],2,W))){xf(W,1,2472,0),Q=0;break f}if(eA(b[f+16>>2],w+40|0,2),65427==b[w+40>>2])break}}if(!(!(VA(Q)|T)&64==b[f+8>>2])){if(!(4&(V=k[f+92|0]))){V=u(b[f+228>>2],5644),Y=b[f+180>>2];l:{if(b[f+56>>2])m=VA(Q);else if((m=b[f+24>>2])>>>0<2)break l;m=m-2|0,b[f+24>>2]=m}if(Y=V+Y|0,!m)break o;if(V=VA(Q),V=(0|(F=T))<0?1:V>>>0<m>>>0&(0|F)<=0){if(b[f+208>>2]){xf(W,1,5842,0),Q=0;break f}xf(W,2,5842,0)}if((V=b[f+24>>2])>>>0>=4294967294){xf(W,1,1480,0),Q=0;break f}if(F=b[Y+5596>>2]){if((v=b[Y+5600>>2])>>>0>-3-V>>>0){xf(W,1,1211,0),Q=0;break f}if(V=Cf(F,2+(V+v|0)|0)){b[Y+5596>>2]=V;break o}hf(b[Y+5596>>2]),b[Y+5596>>2]=0}else if(V=ke(V+2|0),b[Y+5596>>2]=V,V)break o;xf(W,1,6176,0),Q=0;break f}b[f+8>>2]=8,i[f+92|0]=250&V;break B}V=b[w+40>>2];break b}hf(b[Y+24>>2]),f=b[U+40>>2]+u(R,40)|0,b[f+28>>2]=0,b[f+20>>2]=0,b[f+24>>2]=0,xf(W,1,3863,0),Q=0;break f}if(F=(H=b[Q+56>>2])-2|0,J=(U=b[Q+60>>2])-(H>>>0<2)|0,E=b[f+224>>2],M=b[E+40>>2],p=b[f+228>>2],R=u(p,40),v=b[(V=M+R|0)+16>>2]+u(b[V+12>>2],24)|0,b[v+8>>2]=F,b[v+12>>2]=J,J=(J=H)+(H=b[f+24>>2])|0,b[v+16>>2]=J,b[v+20>>2]=H>>>0>J>>>0?U+1|0:U,H=b[f+24>>2],(D=(J=b[V+20>>2])+1|0)>>>0<=(v=b[V+28>>2])>>>0)V=b[V+24>>2];else{if(v=(q=Z(Z(v>>>0)+Z(100)))<Z(4294967296)&q>=Z(0)?~~q>>>0:0,b[V+28>>2]=v,V=Cf(b[V+24>>2],u(v,24)),v=R+(M=b[E+40>>2])|0,!V)break a;b[v+24>>2]=V,D=(J=b[v+20>>2])+1|0}V=u(J,24)+V|0,b[V+16>>2]=H+2,b[V+8>>2]=F,b[V+12>>2]=F>>31,a[V>>1]=65427,b[20+(R+M|0)>>2]=D;o:{if(m){if(V=8,(0|(m=Zf(Q,b[Y+5596>>2]+b[Y+5600>>2]|0,b[f+24>>2],W)))==b[f+24>>2])break o;if(V=64,-1!=(0|m))break o;xf(W,1,2472,0),Q=0;break f}m=0,V=b[f+24>>2]?64:8}if(b[f+8>>2]=V,b[Y+5600>>2]=b[Y+5600>>2]+m,!(1&i[f+92|0])&&(V=b[f+44>>2],!(b[f+76>>2]|(0|V)<0|(0|V)!=b[f+228>>2])&&le(Q)&&(Y=b[f+228>>2],F=b[f+180>>2]+u(Y,5644)|0,V=b[F+5592>>2],Y=b[b[f+224>>2]+40>>2]+u(Y,40)|0,(0|V)==b[Y+4>>2]&&!(V>>>0<=(F=b[F+5588>>2]+1|0)>>>0)))){if(V=b[Y+16>>2]+u(F,24)|0,Y=b[V>>2],V=b[V+4>>2],!((0|Y)==b[Q+56>>2]&(0|V)==b[Q+60>>2]||sA(Q,Y,V,W))){xf(W,1,5440,0),Q=0;break f}if(2!=(0|Zf(Q,b[f+16>>2],2,W))){xf(W,1,2472,0),Q=0;break f}if(eA(b[f+16>>2],w+40|0,2),65424==b[w+40>>2])break k;xf(W,1,4073,0),Q=0;break f}if(1==(9&(V=k[f+92|0]))&&(i[f+92|0]=8|V,F=b[f+228>>2],1!=b[5592+(b[f+180>>2]+u(F,5644)|0)>>2]&&le(Q)&&(v=V=b[Q+60>>2],-1!=(V&(H=b[Q+56>>2]))))){o:{for(;;){if(V=1,2!=(0|Zf(Q,Y=w+70|0,2,W)))break o;if(eA(Y,w- -64|0,2),65424!=b[w+64>>2])break o;if(m=2472,2!=(0|Zf(Q,Y,2,W)))break e;if(eA(Y,w+60|0,2),10!=b[w+60>>2]){m=6048;break e}if(b[w+60>>2]=8,(0|(Y=Zf(Q,w+70|0,8,W)))!=b[w+60>>2])break e;if(8!=(0|Y)){m=4047;break e}if(eA(w+70|0,w+56|0,2),eA(P,w+52|0,4),eA(K,w+48|0,1),eA(h,w+44|0,1),(0|F)!=b[w+56>>2]){if((Y=b[w+52>>2])>>>0<14)break o;if(Y=Y-12|0,b[w+52>>2]=Y,Y=$A(Q,Y,W),!T&b[w+52>>2]==(0|Y))continue;break o}break}V=b[w+48>>2]!=b[w+44>>2]}if(!LA(Q,H,v,W))break A;if(!V){i[f+92|0]=238&k[f+92|0]|16;o:if(d){if(F=b[f+180>>2],m=0,V=0,1!=(0|d)){for(;Y=F+u(m,5644)|0,(v=b[Y+5592>>2])&&(b[Y+5592>>2]=v+1),(v=b[Y+11236>>2])&&(b[Y+11236>>2]=v+1),m=m+2|0,(0|S)!=(0|(V=V+2|0)););if(!L)break o}V=F+u(m,5644)|0,(Y=b[V+5592>>2])&&(b[V+5592>>2]=Y+1)}xf(W,2,9035,0)}}}if(!(1&i[f+92|0])){if(2!=(0|Zf(Q,b[f+16>>2],2,W))){if(!(!d|(0|d)!=(b[f+228>>2]+1|0)))for(Q=b[f+180>>2],V=0;;){if(Y=Q+u(V,5644)|0,!(b[Y+5588>>2]|b[Y+5592>>2]))break r;if((0|d)==(0|(V=V+1|0)))break}xf(W,1,2472,0),Q=0;break f}eA(b[f+16>>2],w+40|0,2)}}if(V=b[w+40>>2],!(1&i[f+92|0])&&65497!=(0|V))continue}break}if(256==b[f+8>>2]|65497!=(0|V))break i;b[f+8>>2]=256,b[f+228>>2]=0;break i}hf(b[v+24>>2]),f=b[E+40>>2]+u(p,40)|0,b[f+28>>2]=0,b[f+20>>2]=0,b[f+24>>2]=0,xf(W,1,3863,0),Q=0;break f}b[w+16>>2]=V,xf(W,4,11004,w+16|0),b[f+228>>2]=V,b[w+40>>2]=65497,b[f+8>>2]=256}}else{if(Q=0,256!=(0|V))break f;b[w+40>>2]=65497}V=b[f+228>>2],Q=b[f+180>>2];i:{r:if(!(1&i[f+92|0])){a:{b:if(!(V>>>0>=d>>>0)){for(m=Q+u(V,5644)|0;;){if(b[m+5596>>2])break b;if(V=V+1|0,b[f+228>>2]=V,m=m+5644|0,(0|V)==(0|d))break}break a}if((0|V)!=(0|d))break r}b[C>>2]=0;break i}r:{a:{if(Y=Q+u(V,5644)|0,b[Y+5172>>2])f=6837;else{if(!(2&k[Y+5640|0]))break r;b:if(F=b[Y+5160>>2]){if(v=3&F,H=b[Y+5164>>2],Q=0,m=0,V=0,F>>>0>=4){for(U=-4&F,F=0;m=b[(d=H+(V<<3)|0)+28>>2]+(b[d+20>>2]+(b[d+12>>2]+(b[d+4>>2]+m|0)|0)|0)|0,V=V+4|0,(0|U)!=(0|(F=F+4|0)););if(!v)break b}for(;m=b[4+(H+(V<<3)|0)>>2]+m|0,V=V+1|0,(0|v)!=(0|(Q=Q+1|0)););}else m=0;if(Q=ke(m),b[Y+5172>>2]=Q,Q)break a;f=4009}xf(W,1,f,0),xf(W,1,8059,0),Q=0;break f}if(b[Y+5180>>2]=m,m=b[Y+5164>>2],Q=b[Y+5160>>2])for(F=0,V=0;(H=b[(v=(d=V<<3)+m|0)>>2])&&((Q=b[v+4>>2])&&n(b[Y+5172>>2]+F|0,H,Q),Q=d+b[Y+5164>>2]|0,v=b[Q+4>>2],hf(b[Q>>2]),m=b[Y+5164>>2],b[(Q=d+m|0)>>2]=0,b[Q+4>>2]=0,F=v+F|0,Q=b[Y+5160>>2]),(V=V+1|0)>>>0<Q>>>0;);b[Y+5160>>2]=0,hf(m),b[Y+5164>>2]=0,b[Y+5168>>2]=b[Y+5172>>2],b[Y+5176>>2]=b[Y+5180>>2]}V=b[f+232>>2],_=b[V+28>>2],Y=b[f+228>>2],D=b[5584+(b[_+76>>2]+u(Y,5644)|0)>>2],Q=b[V+24>>2],$=b[Q+24>>2],F=(Y>>>0)/((d=b[_+24>>2])>>>0)|0,L=b[b[V+20>>2]>>2],v=b[_+12>>2],Y=(V=b[_+4>>2]+u(v,Y-u(F,d)|0)|0)>>>0>(Y=b[Q>>2])>>>0?V:Y,b[L>>2]=Y,V=(V=V>>>0>(d=V+v|0)>>>0?-1:d)>>>0<(d=b[Q+8>>2])>>>0?V:d,b[L+8>>2]=V;r:{a:if((0|V)>(0|Y)&(0|Y)>=0)if(m=b[L+20>>2],V=F,F=b[_+16>>2],Y=(V=b[_+8>>2]+u(V,F)|0)>>>0>(Y=b[Q+4>>2])>>>0?V:Y,b[L+4>>2]=Y,V=V>>>0>(F=V+F|0)>>>0?-1:F,Q=(Q=b[Q+12>>2])>>>0>V>>>0?V:Q,b[L+12>>2]=Q,(0|Q)>(0|Y)&(0|Y)>=0){b:{if(b[D+4>>2]){if(b[L+16>>2])break b;Q=1;break r}xf(W,1,5358,0);break a}b:{k:{for(;;){b[$+36>>2]=0,v=(Q=b[$>>2])-1|0,d=(H=(Y=Q>>31)-!Q|0)+((V=b[L>>2])>>31)|0,wf=m,Hf=cA(F=v+V|0,V>>>0>F>>>0?d+1|0:d,Q,Y),b[wf>>2]=Hf,d=(V=b[$+4>>2])-1|0,J=(R=(F=V>>31)-!V|0)+((U=b[L+4>>2])>>31)|0,wf=m,Hf=cA(E=d+U|0,E>>>0<U>>>0?J+1|0:J,V,F),b[wf+4>>2]=Hf,J=v,H=((v=b[L+8>>2])>>31)+H|0,wf=m,Hf=cA(U=J+v|0,v>>>0>U>>>0?H+1|0:H,Q,Y),b[wf+8>>2]=Hf,Q=b[L+12>>2],b[m+16>>2]=Bf,Y=R+(Q>>31)|0,wf=m,Hf=cA(Q=Q+d|0,Y=Q>>>0<d>>>0?Y+1|0:Y,V,F),b[wf+12>>2]=Hf,Q=b[D+4>>2],b[m+20>>2]=Q,V=b[_+80>>2],b[m+24>>2]=Q>>>0<V>>>0?1:Q-V|0,hf(b[m+52>>2]),b[m+68>>2]=0,b[m+60>>2]=0,b[m+64>>2]=0,b[m+52>>2]=0,b[m+56>>2]=0,Q=u(Q,152);B:if(V=b[m+28>>2]){if(!(Q>>>0<=G[m+32>>2])){if(!(V=Cf(V,Q))){xf(W,1,3090,0),hf(b[m+28>>2]),b[m+28>>2]=0,b[m+32>>2]=0;break a}b[m+28>>2]=V,(F=Q-(Y=b[m+32>>2])|0)&&c(V+Y|0,0,F),b[m+32>>2]=Q}}else{if(V=ke(Q),b[m+28>>2]=V,!V)break a;if(b[m+32>>2]=Q,!Q)break B;c(V,0,Q)}if(Q=b[m+20>>2])for(gf=D+944|0,cf=D+812|0,bf=D+28|0,J=b[m+28>>2],ff=0;;){if(V=31&(Y=Q-1|0),(63&Y)>>>0>=32?(V=-1<<V,F=0):V=(F=-1<<V)|(1<<V)-1&-1>>>32-V,F^=-1,V=(d=-1^V)+((H=b[m>>2])>>31)|0,H=H>>>0>(v=F+H|0)>>>0?V+1|0:V,V=31&Y,E=(63&Y)>>>0>=32?H>>V:((1<<V)-1&H)<<32-V|v>>>V,b[J>>2]=E,H=((v=b[m+4>>2])>>31)+d|0,H=(V=v+F|0)>>>0<v>>>0?H+1|0:H,v=31&Y,R=(63&Y)>>>0>=32?H>>v:((1<<v)-1&H)<<32-v|V>>>v,b[J+4>>2]=R,H=((v=b[m+8>>2])>>31)+d|0,H=(V=v+F|0)>>>0<v>>>0?H+1|0:H,v=31&Y,(63&Y)>>>0>=32?H>>=v:H=((1<<v)-1&H)<<32-v|V>>>v,b[J+8>>2]=H,U=((v=b[m+12>>2])>>31)+d|0,U=(V=v+F|0)>>>0<v>>>0?U+1|0:U,v=31&Y,(63&Y)>>>0>=32?U>>=v:U=((1<<v)-1&U)<<32-v|V>>>v,b[J+12>>2]=U,S=H>>31,V=31&(M=b[(h=ff<<2)+cf>>2]),(63&M)>>>0>=32?(V=1<<V,v=0):V=(v=1<<V)-1&1>>>32-V,P=(v=(K=v)+H|0)-1|0,V=V+S|0,v=(v>>>0<K>>>0?V+1|0:V)-!v|0,V=31&M,(0|(K=(V=(63&M)>>>0>=32?v>>V:((1<<V)-1&v)<<32-V|P>>>V)<<M))<0)break b;if(P=U>>31,V=31&(S=b[h+gf>>2]),(63&S)>>>0>=32?(V=-1<<V,v=0):V=(v=-1<<V)|(1<<V)-1&-1>>>32-V,V=(-1^V)+P|0,h=(v=(h=-1^v)+U|0)>>>0<h>>>0?V+1|0:V,V=31&S,V=(63&S)>>>0>=32?h>>V:((1<<V)-1&h)<<32-V|v>>>V,(0|(V<<=S))<0)break b;if(Af=R&-1<<S,v=(0|R)!=(0|U)?V-Af>>S:0,b[J+20>>2]=v,ef=E&-1<<M,V=(0|H)!=(0|E)?K-ef>>M:0,b[J+16>>2]=V,tA(V,0,v),!(!V|!T))break k;if((rf=u(V,v))>>>0>=107374183)break k;for(h=u(rf,40),ff?(S=S-1|0,M=M-1|0,H=V=Af>>31,v=V+1|0,Af=(1&((V=Af+1|0)?H:v))<<31|V>>>1,H=V=ef>>31,v=V+1|0,ef=(1&((V=ef+1|0)?H:v))<<31|V>>>1,V=3):V=1,b[J+24>>2]=V,R=J+28|0,v=Q,V=31&Q,(63&Q)>>>0>=32?(V=1<<V,Q=0):V=(Q=1<<V)-1&1>>>32-V,of=Q,U=V,Q=31&(K=(Q=b[D+12>>2])>>>0<S>>>0?Q:S),(63&K)>>>0>=32?(V=-1<<Q,H=0):V=(H=-1<<Q)|(1<<Q)-1&-1>>>32-Q,nf=-1^H,If=-1^V,Q=31&(P=(Q=b[D+8>>2])>>>0<M>>>0?Q:M),(63&P)>>>0>=32?(V=-1<<Q,H=0):V=(H=-1<<Q)|(1<<Q)-1&-1>>>32-Q,sf=-1^H,tf=-1^V,kf=0;;){ff?(E=(Q=kf+1|0)>>>1|0,H=31&Y,(63&Y)>>>0>=32?(V=E<<H,H=0):(V=(1<<H)-1&E>>>32-H,H=E<<H),V=(-1^V)+U|0,V=(j=(y=-1^H)>>>0>(p=y+of|0)>>>0?V+1|0:V)+((E=b[m+4>>2])>>31)|0,E=(H=p+E|0)>>>0<E>>>0?V+1|0:V,V=31&v,x=(63&v)>>>0>=32?E>>V:((1<<V)-1&E)<<32-V|H>>>V,E=1&Q,H=31&Y,(63&Y)>>>0>=32?(V=E<<H,H=0):(V=(1<<H)-1&E>>>32-H,H=E<<H),V=(-1^V)+U|0,X=(V=(H=(X=-1^H)+of|0)>>>0<X>>>0?V+1|0:V)+((y=b[m>>2])>>31)|0,X=(E=H+y|0)>>>0<y>>>0?X+1|0:X,y=31&v,(63&v)>>>0>=32?X>>=y:X=((1<<y)-1&X)<<32-y|E>>>y,E=v):(H=((V=b[m+4>>2])>>31)+d|0,H=(Q=V+F|0)>>>0<V>>>0?H+1|0:H,V=31&Y,x=(63&Y)>>>0>=32?H>>V:((1<<V)-1&H)<<32-V|Q>>>V,H=((V=b[m>>2])>>31)+d|0,H=(Q=V+F|0)>>>0<V>>>0?H+1|0:H,V=31&Y,X=(63&Y)>>>0>=32?H>>V:((1<<V)-1&H)<<32-V|Q>>>V,Q=0,p=H=F,j=V=d,E=Y),y=E,O=(N=b[m+8>>2])>>31,E=b[m+12>>2],b[R+4>>2]=x,b[R>>2]=X,b[R+16>>2]=Q,x=(E>>31)+j|0,x=(X=E)>>>0>(E=E+p|0)>>>0?x+1|0:x,p=31&y,E=(63&y)>>>0>=32?x>>p:((1<<p)-1&x)<<32-p|E>>>p,b[R+12>>2]=E,X=(V=V+O|0)+1|0,E=V,E=(V=H+N|0)>>>0<N>>>0?X:E,H=31&y,V=(63&y)>>>0>=32?E>>H:((1<<H)-1&E)<<32-H|V>>>H,b[R+8>>2]=V,af=1,V=b[bf>>2];B:if((0|(Q=(b[$+24>>2]+(!b[D+20>>2]|!Q?0:3==(0|Q)?2:1)|0)-V|0))>=1024){if(af=898846567431158e293,Q>>>0<2047){Q=Q-1023|0;break B}af=1/0,Q=(Q>>>0>=3069?3069:Q)-2046|0}else(0|Q)>-1023||(af=2004168360008973e-307,Q>>>0>4294965304?Q=Q+969|0:(af=0,Q=(Q>>>0<=4294964336?-2960:Q)+1938|0));uf=.00048828125*+b[bf+4>>2]+1,o(0,0),o(1,Q+1023<<20),wf=R,Yf=Z(uf*(af*+g())),t[wf+32>>2]=Yf,b[R+28>>2]=(V+b[D+804>>2]|0)-1;B:{if((Q=b[R+20>>2])|!rf){if(h>>>0>G[R+24>>2]){if(!(Q=Cf(Q,h))){xf(W,1,2854,0),hf(b[R+20>>2]),b[R+20>>2]=0,b[R+24>>2]=0;break a}b[R+20>>2]=Q,(H=h-(V=b[R+24>>2])|0)&&c(Q+V|0,0,H),b[R+24>>2]=h}if(!rf)break B}else{if(Q=ke(h),b[R+20>>2]=Q,!Q){xf(W,1,2854,0);break a}h&&c(Q,0,h),b[R+24>>2]=h}for(Q=b[R+20>>2],p=0;;){if(H=b[J+16>>2],x=(0|(E=((H=p-u(V=(p>>>0)/(H>>>0)|0,H)|0)<<M)+ef|0))>(0|(y=b[R>>2]))?E:y,b[Q>>2]=x,X=(0|(E=(V<<S)+Af|0))>(0|(y=b[R+4>>2]))?E:y,b[Q+4>>2]=X,H=(0|(H=(H+1<<M)+ef|0))<(0|(E=b[R+8>>2]))?H:E,b[Q+8>>2]=H,E=(0|(V=(V+1<<S)+Af|0))<(0|(E=b[R+12>>2]))?V:E,b[Q+12>>2]=E,j=(V=(H>>31)+tf|0)+1|0,y=V,y=H>>>0>(V=H+sf|0)>>>0?j:y,H=31&P,y=(V=(63&P)>>>0>=32?y>>H:((1<<H)-1&y)<<32-H|V>>>H)-(x>>=P)<<P>>P,b[Q+16>>2]=y,j=(V=(E>>31)+If|0)+1|0,H=V,E=(V=E+nf|0)>>>0<E>>>0?j:H,H=31&K,V=(V=(63&K)>>>0>=32?E>>H:((1<<H)-1&E)<<32-H|V>>>H)-(X>>=K)<<K>>K,b[Q+20>>2]=V,tA(E=u(V,y),0,68),T){xf(W,1,2935,0);break a}V=u(E,68);o:{g:if((H=b[Q+24>>2])|!E){if(V>>>0<=G[Q+28>>2])break o;if(!(H=Cf(H,V))){hf(b[Q+24>>2]),b[Q+24>>2]=0,b[Q+28>>2]=0,xf(W,1,2549,0);break a}b[Q+24>>2]=H,(j=V-(y=b[Q+28>>2])|0)&&c(H+y|0,0,j)}else{if(H=ke(V),b[Q+24>>2]=H,!H)break a;if(!V)break g;c(H,0,V)}b[Q+28>>2]=V}if(V=b[Q+20>>2],H=b[Q+16>>2],V=(y=b[Q+32>>2])?lf(y,H,V,W):Gf(H,V,W),b[Q+32>>2]=V,V=b[Q+20>>2],H=b[Q+16>>2],V=(y=b[Q+36>>2])?lf(y,H,V,W):Gf(H,V,W),b[Q+36>>2]=V,E)for(V=0;;){if(j=(V>>>0)/((O=b[Q+16>>2])>>>0)|0,H=b[Q+24>>2]+u(V,68)|0,N=b[H>>2])Qf=b[H+56>>2],Wf=b[H+4>>2],y=b[H+48>>2],hf(b[H+60>>2]),b[H+48>>2]=0,b[H+52>>2]=0,b[H+64>>2]=0,b[H+56>>2]=0,b[H+60>>2]=0,b[H+40>>2]=0,b[H+44>>2]=0,b[H+32>>2]=0,b[H+36>>2]=0,b[H+24>>2]=0,b[H+28>>2]=0,b[H+16>>2]=0,b[H+20>>2]=0,b[H+8>>2]=0,b[H+12>>2]=0,b[H>>2]=N,b[H+48>>2]=y,y&&(y=u(y,24))&&c(N,0,y),b[H+56>>2]=Qf,b[H+4>>2]=Wf;else{if(y=DA(10,24),b[H>>2]=y,!y)break a;b[H+48>>2]=10}if(N=(y=(V-u(j,O)|0)+x|0)<<P,O=b[Q>>2],b[H+8>>2]=(0|N)>(0|O)?N:O,N=(j=X+j|0)<<K,O=b[Q+4>>2],b[H+12>>2]=(0|N)>(0|O)?N:O,y=y+1<<P,N=b[Q+8>>2],b[H+16>>2]=(0|y)<(0|N)?y:N,N=H,H=j+1<<K,y=b[Q+12>>2],b[N+20>>2]=(0|H)<(0|y)?H:y,(0|E)==(0|(V=V+1|0)))break}if(Q=Q+40|0,(0|(p=p+1|0))==(0|rf))break}}if(bf=bf+8|0,R=R+36|0,!((kf=kf+1|0)>>>0<G[J+24>>2]))break}if(J=J+152|0,Q=Y,!((ff=ff+1|0)>>>0<G[m+20>>2]))break}if($=$+52|0,m=m+76|0,D=D+1080|0,!((Bf=Bf+1|0)>>>0<G[L+16>>2]))break}Q=1;break r}xf(W,1,2982,0);break a}xf(W,1,2373,0)}else xf(W,1,6644,0);else xf(W,1,6682,0);Q=0}if(!Q){xf(W,1,3668,0),Q=0;break f}if(Q=b[f+228>>2],b[w+4>>2]=u(b[f+128>>2],b[f+132>>2]),b[w>>2]=Q+1,xf(W,4,11825,w),b[A>>2]=b[f+228>>2],b[C>>2]=1,e&&(A=Vf(b[f+232>>2],0),b[e>>2]=A,Q=0,-1==(0|A)))break f;A=b[b[b[f+232>>2]+20>>2]>>2],b[r>>2]=b[A>>2],b[B>>2]=b[A+4>>2],b[l>>2]=b[A+8>>2],b[I>>2]=b[A+12>>2],b[s>>2]=b[A+16>>2],b[f+8>>2]=128|b[f+8>>2]}Q=1;break f}xf(W,1,m,0)}xf(W,1,3702,0),Q=0}return z=w+80|0,0|(f=Q)}function q(f){var A=0,e=0,i=0,r=0,B=0,o=0,g=0,l=0,c=0,n=0,I=0,t=0,C=0,Z=0,Q=0,W=0,w=0,V=0,H=0,Y=0,v=0,F=0,m=0,E=0,y=0,d=0,R=0,J=0,U=0,X=0,h=0,D=0,M=0,p=0,N=0,S=0,K=0,x=0,z=0;f:{A:{e:{i:{r:{a:{b:{k:{B:{o:switch(b[f+84>>2]){case 0:if(!((e=b[f+52>>2])>>>0<(A=b[f+196>>2])>>>0&&(W=b[f+64>>2])>>>0<A+1>>>0)){xf(b[f+236>>2],1,8491,0);break A}if(!b[f+44>>2]){n=b[f+36>>2],A=0;break B}b[f+44>>2]=0,l=b[f+68>>2],A=1;break B;case 1:if(!((e=b[f+52>>2])>>>0<(A=b[f+196>>2])>>>0&&(W=b[f+64>>2])>>>0<A+1>>>0)){xf(b[f+236>>2],1,8536,0);break A}if(!b[f+44>>2]){r=b[f+36>>2],A=0;break r}b[f+44>>2]=0,l=b[f+48>>2],A=1;break r;case 2:if(!((d=b[f+52>>2])>>>0<(m=b[f+196>>2])>>>0&&(w=b[f+64>>2])>>>0<m+1>>>0)){xf(b[f+236>>2],1,8671,0);break A}if(!b[f+44>>2]){E=b[f+40>>2];break a}for(b[f+228>>2]=0,b[f+232>>2]=0,b[f+44>>2]=0,c=b[f+200>>2];;){if(I=b[(p=c+(Y<<4)|0)+8>>2])for(W=b[p+12>>2],A=0;(V=(o=I+(-1^A)|0)+b[(i=W+(A<<4)|0)>>2]|0)>>>0>31||(e=b[p>>2])>>>0>-1>>>V>>>0||(e<<=V,n=n&&e>>>0>n>>>0?n:e,b[f+228>>2]=n),(o=o+b[i+4>>2]|0)>>>0>31||(e=b[p+4>>2])>>>0>-1>>>o>>>0||(e<<=o,l=l&&e>>>0>l>>>0?l:e,b[f+232>>2]=l),(0|I)!=(0|(A=A+1|0)););if((0|m)==(0|(Y=Y+1|0)))break}if(!n|!l)break i;k[0|f]||(b[f+108>>2]=b[f+208>>2],b[f+100>>2]=b[f+204>>2],b[f+112>>2]=b[f+216>>2],b[f+104>>2]=b[f+212>>2]),Z=b[f+48>>2],A=1;break a;case 3:if(!((d=b[f+52>>2])>>>0<(I=b[f+196>>2])>>>0&&(N=b[f+64>>2])>>>0<I+1>>>0)){xf(b[f+236>>2],1,8626,0);break A}if(!b[f+44>>2]){E=(R=b[f+200>>2])+((r=b[f+28>>2])<<4)|0,X=b[f+40>>2];break b}for(b[f+228>>2]=0,b[f+232>>2]=0,b[f+44>>2]=0,R=b[f+200>>2];;){if(V=b[(m=(Q<<4)+R|0)+8>>2])for(W=b[m+12>>2],A=0;(c=(o=V+(-1^A)|0)+b[(i=W+(A<<4)|0)>>2]|0)>>>0>31||(e=b[m>>2])>>>0>-1>>>c>>>0||(e<<=c,n=n&&e>>>0>n>>>0?n:e,b[f+228>>2]=n),(o=o+b[i+4>>2]|0)>>>0>31||(e=b[m+4>>2])>>>0>-1>>>o>>>0||(e<<=o,l=l&&e>>>0>l>>>0?l:e,b[f+232>>2]=l),(0|V)!=(0|(A=A+1|0)););if((0|I)==(0|(Q=Q+1|0)))break}if(!n|!l)break i;k[0|f]?Q=b[f+108>>2]:(Q=b[f+208>>2],b[f+108>>2]=Q,b[f+100>>2]=b[f+204>>2],b[f+112>>2]=b[f+216>>2],b[f+104>>2]=b[f+212>>2]),A=1;break b;case 4:break o;default:break i}if(!((Q=b[f+52>>2])>>>0<(A=b[f+196>>2])>>>0&&(w=b[f+64>>2])>>>0<A+1>>>0)){xf(b[f+236>>2],1,8581,0);break i}if(!b[f+44>>2]){Q=b[f+28>>2],Z=b[f+200>>2]+(Q<<4)|0,Y=b[f+40>>2],A=0;break k}b[f+28>>2]=Q,b[f+44>>2]=0,A=1;break k}B:for(;;){if(A){if(b[f+40>>2]=l,G[f+56>>2]<=l>>>0)break A;r=b[f+48>>2],A=0}else n=n+1|0,A=1;o:for(;;){g:{l:{c:{n:{if(!A){if(b[f+32>>2]=r,G[f+60>>2]<=r>>>0)break n;b[f+28>>2]=e,A=e,Z=0;break g}if(b[f+36>>2]=n,G[f+76>>2]<=n>>>0){A=b[f+28>>2],Z=1;break g}if((A=((u(b[f+16>>2],b[f+32>>2])+u(b[f+12>>2],b[f+40>>2])|0)+u(b[f+20>>2],b[f+28>>2])|0)+u(b[f+24>>2],n)|0)>>>0>=G[f+8>>2])break e;if(A=b[f+4>>2]+(A<<1)|0,s[A>>1])break c;break f}l=b[f+40>>2]+1|0;break l}A=0;continue B}A=1;continue B}for(;;){g:{l:{c:{if(!Z){if(A>>>0>=W>>>0)break c;if(o=b[f+32>>2],i=b[f+200>>2]+(A<<4)|0,o>>>0>=G[i+8>>2])break g;k[0|f]||(A=b[i+12>>2]+(o<<4)|0,b[f+76>>2]=u(b[A+12>>2],b[A+8>>2])),n=b[f+72>>2],A=1;continue o}A=A+1|0,b[f+28>>2]=A;break l}r=b[f+32>>2]+1|0,A=0;continue o}Z=0;continue}Z=1}}}}k:for(;;){if(A){if(Q>>>0>=w>>>0)break A;if(b[f+228>>2]=0,b[f+232>>2]=0,Z=b[f+200>>2]+(Q<<4)|0,!(V=b[Z+8>>2]))break A;for(W=b[Z+12>>2],n=0,r=0,A=0;(c=(o=V+(-1^A)|0)+b[(i=W+(A<<4)|0)>>2]|0)>>>0>31||(e=b[Z>>2])>>>0>-1>>>c>>>0||(e<<=c,r=r&&e>>>0>r>>>0?r:e,b[f+228>>2]=r),(o=o+b[i+4>>2]|0)>>>0>31||(e=b[Z+4>>2])>>>0>-1>>>o>>>0||(e<<=o,n=n&&e>>>0>n>>>0?n:e,b[f+232>>2]=n),(0|V)!=(0|(A=A+1|0)););if(!r|!n)break i;k[0|f]?n=b[f+108>>2]:(n=b[f+208>>2],b[f+108>>2]=n,b[f+100>>2]=b[f+204>>2],b[f+112>>2]=b[f+216>>2],b[f+104>>2]=b[f+212>>2]),A=0}else Y=Y+1|0,b[f+40>>2]=Y,A=1;B:for(;;){o:{g:{l:{c:{if(!A){if(b[f+224>>2]=n,G[f+112>>2]<=n>>>0)break c;R=b[f+100>>2],A=0;break o}if(G[f+56>>2]<=Y>>>0){l=b[f+32>>2],A=1;break o}if((A=((u(b[f+16>>2],b[f+32>>2])+u(b[f+12>>2],Y)|0)+u(b[f+20>>2],Q)|0)+u(b[f+24>>2],b[f+36>>2])|0)>>>0>=G[f+8>>2])break e;if(A=b[f+4>>2]+(A<<1)|0,s[A>>1])break l;break f}Q=Q+1|0,b[f+28>>2]=Q;break g}A=0;continue k}A=1;continue k}for(;;){o:{g:{l:{if(A)l=l+1|0;else{if(b[f+220>>2]=R,G[f+104>>2]<=R>>>0)break l;l=b[f+48>>2]}if(b[f+32>>2]=l,((A=b[f+60>>2])>>>0<(i=b[Z+8>>2])>>>0?A:i)>>>0>l>>>0){if(e=o=b[Z>>2],i=31&(t=C=i+(-1^l)|0),(63&t)>>>0>=32?(A=e<<i,v=0):(A=(1<<i)-1&o>>>32-i,v=o<<i),W=e,B=A,e=v,i=31&t,(0|W)!=(0|(A=(63&t)>>>0>=32?A>>>i|0:((1<<i)-1&A)<<32-i|e>>>i)))break o;if(A=31&t,((A=(63&t)>>>0>=32?-1>>>A|0:(1<<A)-1<<32-A|-1>>>A)&(e=b[Z+4>>2]))!=(0|e))break o;if(i=31&t,(63&t)>>>0>=32?(A=e<<i,F=0):(A=(1<<i)-1&e>>>32-i,F=e<<i),J=A,g=W=A-!F|0,p=be(c=(h=F-1|0)+(i=b[f+216>>2])|0,i>>>0>c>>>0?g+1|0:g,F,A),A=g,V=be(i=h+(D=b[f+208>>2])|0,A=D>>>0>i>>>0?A+1|0:A,F,J),A=i=B-!v|0,m=be(I=(d=v-1|0)+(c=b[f+212>>2])|0,I>>>0<c>>>0?A+1|0:A,v,B),c=be(c=d+(U=b[f+204>>2])|0,A=U>>>0>c>>>0?A+1|0:A,v,B),y=b[Z+12>>2]+(l<<4)|0,A=31&(H=(M=b[y>>2])+C|0),(0|o)!=((A=(63&H)>>>0>=32?-1>>>A|0:(1<<A)-1<<32-A|-1>>>A)&o))break o;if(g=e,r=31&(C=(N=b[y+4>>2])+C|0),(63&C)>>>0>=32?(A=e<<r,r=0):(A=(1<<r)-1&e>>>32-r,r=e<<r),e=r,I=31&C,(0|g)!=(0|(e=(63&C)>>>0>=32?A>>>I|0:((1<<I)-1&A)<<32-I|e>>>I)))break o;if(r=!!(ee(I=b[f+224>>2],r,A)|T),A=31&C,(63&C)>>>0>=32?(g=-1<<A,A=0):g=(e=(1<<A)-1&-1>>>32-A)|(A=-1<<A),e=-1^g,S=r,K=A^=-1,A=0,C=V,r=31&t,(63&t)>>>0>=32?(g=C<<r,A=0):(g=(1<<r)-1&C>>>32-r|A<<r,A=C<<r),S&(!(K&A|e&g)|(0|I)!=(0|D)))break o;if(C=31&H,(63&H)>>>0>=32?(A=o<<C,r=0):(A=(1<<C)-1&o>>>32-C,r=o<<C),C=!!(ee(e=b[f+220>>2],r,A)|T),A=31&H,(63&H)>>>0>=32?(g=-1<<A,A=0):g=(r=(1<<A)-1&-1>>>32-A)|(A=-1<<A),o=-1^g,r=C,S=A^=-1,A=0,C=c,H=31&t,(63&t)>>>0>=32?(g=c<<H,A=0):(g=(1<<H)-1&C>>>32-H|A<<H,A=C<<H),r&(!(S&A|o&g)|(0|e)!=(0|U)))break o;if(!(C=b[y+8>>2])|!b[y+12>>2]|(0|c)==(0|m))break o;if((0|V)==(0|p))break o;Y=b[f+68>>2],b[f+40>>2]=Y,A=i,o=(be(e=e+d|0,A=e>>>0<d>>>0?A+1|0:A,v,B)>>>M)-(c>>>M)|0,A=W,x=f,z=u(C,(be(e=I+h|0,A=e>>>0<I>>>0?A+1|0:A,F,J)>>>N)-(V>>>N)|0)+o|0,b[x+36>>2]=z,A=1;continue B}R=(e=b[f+220>>2])+(A=b[f+228>>2])-(e>>>0)%(A>>>0)|0;break g}n=(e=b[f+224>>2])+(A=b[f+232>>2])-(e>>>0)%(A>>>0)|0,A=0;continue B}A=0;continue}A=1}}}}b:for(;;){if(A){if(b[f+224>>2]=Q,G[f+112>>2]<=Q>>>0)break A;v=b[f+100>>2],A=0}else X=X+1|0,b[f+40>>2]=X,A=1;k:for(;;){B:{o:{g:{l:{if(!A){if(b[f+220>>2]=v,G[f+104>>2]<=v>>>0)break l;b[f+28>>2]=d,r=d,A=0;break B}if(G[f+56>>2]<=X>>>0){Y=b[f+32>>2],A=1;break B}if((A=((u(b[f+16>>2],b[f+32>>2])+u(b[f+12>>2],X)|0)+u(b[f+20>>2],r)|0)+u(b[f+24>>2],b[f+36>>2])|0)>>>0>=G[f+8>>2])break e;if(A=b[f+4>>2]+(A<<1)|0,s[A>>1])break g;break f}Q=(e=b[f+224>>2])+(A=b[f+232>>2])-(e>>>0)%(A>>>0)|0;break o}A=0;continue b}A=1;continue b}for(;;){B:{o:{g:{if(A)Y=Y+1|0,b[f+32>>2]=Y;else{if(r>>>0>=N>>>0)break g;Y=b[f+48>>2],b[f+32>>2]=Y,E=(r<<4)+R|0}if(((A=b[f+60>>2])>>>0<(i=b[E+8>>2])>>>0?A:i)>>>0>Y>>>0){if(e=o=b[E>>2],i=31&(B=i+(-1^Y)|0),(63&B)>>>0>=32?(A=e<<i,n=0):(A=(1<<i)-1&o>>>32-i,n=o<<i),W=e,H=A,e=n,i=31&(l=B),(0|W)!=(0|(A=(63&l)>>>0>=32?A>>>i|0:((1<<i)-1&A)<<32-i|e>>>i)))break B;if(A=31&l,((A=(63&l)>>>0>=32?-1>>>A|0:(1<<A)-1<<32-A|-1>>>A)&(e=b[E+4>>2]))!=(0|e))break B;if(i=31&l,(63&l)>>>0>=32?(A=e<<i,Z=0):(A=(1<<i)-1&e>>>32-i,Z=e<<i),C=A,g=W=A-!Z|0,p=be(c=(h=Z-1|0)+(i=b[f+216>>2])|0,i>>>0>c>>>0?g+1|0:g,Z,A),A=g,V=be(i=(F=b[f+208>>2])+h|0,A=F>>>0>i>>>0?A+1|0:A,Z,C),A=i=H-!n|0,m=be(I=(J=n-1|0)+(c=b[f+212>>2])|0,I>>>0<c>>>0?A+1|0:A,n,H),c=be(c=J+(D=b[f+204>>2])|0,A=D>>>0>c>>>0?A+1|0:A,n,H),U=b[E+12>>2]+(Y<<4)|0,A=31&(t=(y=b[U>>2])+B|0),(0|o)!=((A=(63&t)>>>0>=32?-1>>>A|0:(1<<A)-1<<32-A|-1>>>A)&o))break B;if(g=e,w=31&(B=(M=b[U+4>>2])+B|0),(63&B)>>>0>=32?(A=e<<w,w=0):(A=(1<<w)-1&e>>>32-w,w=e<<w),e=w,I=31&B,(0|g)!=(0|(e=(63&B)>>>0>=32?A>>>I|0:((1<<I)-1&A)<<32-I|e>>>I)))break B;if(w=!!(ee(I=b[f+224>>2],w,A)|T),A=31&B,(63&B)>>>0>=32?(g=-1<<A,A=0):g=(e=(1<<A)-1&-1>>>32-A)|(A=-1<<A),e=-1^g,S=w,K=A^=-1,A=0,B=V,w=31&l,(63&l)>>>0>=32?(g=B<<w,A=0):(g=(1<<w)-1&B>>>32-w|A<<w,A=B<<w),S&(!(K&A|e&g)|(0|I)!=(0|F)))break B;if(B=31&t,(63&t)>>>0>=32?(A=o<<B,B=0):(A=(1<<B)-1&o>>>32-B,B=o<<B),B=!!(ee(e=b[f+220>>2],B,A)|T),A=31&t,(63&t)>>>0>=32?(g=-1<<A,A=0):g=(o=(1<<A)-1&-1>>>32-A)|(A=-1<<A),o=-1^g,w=B,F=A^=-1,A=0,B=c,t=31&l,(63&l)>>>0>=32?(g=B<<t,A=0):(g=(1<<t)-1&B>>>32-t|A<<t,A=B<<t),w&(!(F&A|o&g)|(0|e)!=(0|D)))break B;if(!(B=b[U+8>>2])|!b[U+12>>2]|(0|c)==(0|m))break B;if((0|V)==(0|p))break B;X=b[f+68>>2],b[f+40>>2]=X,A=i,o=(be(e=e+J|0,A=e>>>0<J>>>0?A+1|0:A,n,H)>>>y)-(c>>>y)|0,A=W,x=f,z=u(B,(be(e=I+h|0,A=e>>>0<I>>>0?A+1|0:A,Z,C)>>>M)-(V>>>M)|0)+o|0,b[x+36>>2]=z,A=1;continue k}r=r+1|0,b[f+28>>2]=r;break o}v=(e=b[f+220>>2])+(A=b[f+228>>2])-(e>>>0)%(A>>>0)|0,A=0;continue k}A=0;continue}A=1}}}}a:for(;;){if(A){if(b[f+32>>2]=Z,G[f+60>>2]<=Z>>>0)break A;X=b[f+108>>2],A=0}else E=E+1|0,b[f+40>>2]=E,A=1;b:for(;;){k:{B:{o:{g:{if(!A){if(b[f+224>>2]=X,G[f+112>>2]<=X>>>0)break g;R=b[f+100>>2],A=0;break k}if(G[f+56>>2]<=E>>>0){Q=b[f+28>>2],A=1;break k}if((A=((u(b[f+16>>2],b[f+32>>2])+u(b[f+12>>2],E)|0)+u(b[f+20>>2],b[f+28>>2])|0)+u(b[f+24>>2],b[f+36>>2])|0)>>>0>=G[f+8>>2])break e;if(A=b[f+4>>2]+(A<<1)|0,s[A>>1])break o;break f}Z=b[f+32>>2]+1|0;break B}A=0;continue a}A=1;continue a}for(;;){k:{B:{o:{if(A)Q=Q+1|0,b[f+28>>2]=Q;else{if(b[f+220>>2]=R,G[f+104>>2]<=R>>>0)break o;b[f+28>>2]=d,Q=d}if(Q>>>0<w>>>0){if(t=b[f+32>>2],r=b[f+200>>2]+(Q<<4)|0,t>>>0>=(A=b[r+8>>2])>>>0)break k;if(e=o=b[r>>2],i=31&(B=A+(-1^t)|0),(63&B)>>>0>=32?(A=e<<i,v=0):(A=(1<<i)-1&o>>>32-i,v=o<<i),W=e,H=A,e=v,i=31&(l=B),(0|W)!=(0|(A=(63&l)>>>0>=32?A>>>i|0:((1<<i)-1&A)<<32-i|e>>>i)))break k;if(A=31&l,((A=(63&l)>>>0>=32?-1>>>A|0:(1<<A)-1<<32-A|-1>>>A)&(e=b[r+4>>2]))!=(0|e))break k;if(i=31&l,(63&l)>>>0>=32?(A=e<<i,F=0):(A=(1<<i)-1&e>>>32-i,F=e<<i),C=A,g=W=A-!F|0,p=be(c=(h=F-1|0)+(i=b[f+216>>2])|0,i>>>0>c>>>0?g+1|0:g,F,A),A=g,V=be(i=h+(D=b[f+208>>2])|0,A=D>>>0>i>>>0?A+1|0:A,F,C),A=i=H-!v|0,m=be(I=(J=v-1|0)+(c=b[f+212>>2])|0,I>>>0<c>>>0?A+1|0:A,v,H),c=be(c=J+(U=b[f+204>>2])|0,A=U>>>0>c>>>0?A+1|0:A,v,H),y=b[r+12>>2]+(t<<4)|0,A=31&(t=(M=b[y>>2])+B|0),(0|o)!=((A=(63&t)>>>0>=32?-1>>>A|0:(1<<A)-1<<32-A|-1>>>A)&o))break k;if(g=e,r=31&(B=(N=b[y+4>>2])+B|0),(63&B)>>>0>=32?(A=e<<r,r=0):(A=(1<<r)-1&e>>>32-r,r=e<<r),e=r,I=31&B,(0|g)!=(0|(e=(63&B)>>>0>=32?A>>>I|0:((1<<I)-1&A)<<32-I|e>>>I)))break k;if(r=!!(ee(I=b[f+224>>2],r,A)|T),A=31&B,(63&B)>>>0>=32?(g=-1<<A,A=0):g=(e=(1<<A)-1&-1>>>32-A)|(A=-1<<A),e=-1^g,n=r,S=A^=-1,A=0,B=V,r=31&l,(63&l)>>>0>=32?(g=B<<r,A=0):(g=(1<<r)-1&B>>>32-r|A<<r,A=B<<r),n&(!(S&A|e&g)|(0|I)!=(0|D)))break k;if(B=31&t,(63&t)>>>0>=32?(A=o<<B,B=0):(A=(1<<B)-1&o>>>32-B,B=o<<B),B=!!(ee(e=b[f+220>>2],B,A)|T),A=31&t,(63&t)>>>0>=32?(g=-1<<A,A=0):g=(r=(1<<A)-1&-1>>>32-A)|(A=-1<<A),o=-1^g,r=B,n=A^=-1,A=0,B=c,t=31&l,(63&l)>>>0>=32?(g=B<<t,A=0):(g=(1<<t)-1&B>>>32-t|A<<t,A=B<<t),r&(!(n&A|o&g)|(0|e)!=(0|U)))break k;if(!(B=b[y+8>>2])|!b[y+12>>2]|(0|c)==(0|m))break k;if((0|V)==(0|p))break k;E=b[f+68>>2],b[f+40>>2]=E,A=i,o=(be(e=e+J|0,A=e>>>0<J>>>0?A+1|0:A,v,H)>>>M)-(c>>>M)|0,A=W,x=f,z=u(B,(be(e=I+h|0,A=e>>>0<I>>>0?A+1|0:A,F,C)>>>N)-(V>>>N)|0)+o|0,b[x+36>>2]=z,A=1;continue b}R=(e=b[f+220>>2])+(A=b[f+228>>2])-(e>>>0)%(A>>>0)|0;break B}X=(e=b[f+224>>2])+(A=b[f+232>>2])-(e>>>0)%(A>>>0)|0,A=0;continue b}A=0;continue}A=1}}}}r:for(;;){if(A){if(b[f+32>>2]=l,G[f+60>>2]<=l>>>0)break A;n=b[f+68>>2],A=0}else r=r+1|0,A=1;a:for(;;){b:{k:{B:{o:{if(!A){if(b[f+40>>2]=n,G[f+56>>2]<=n>>>0)break o;b[f+28>>2]=e,A=e,Z=0;break b}if(b[f+36>>2]=r,G[f+76>>2]<=r>>>0){A=b[f+28>>2],Z=1;break b}if((A=((u(b[f+16>>2],b[f+32>>2])+u(b[f+12>>2],b[f+40>>2])|0)+u(b[f+20>>2],b[f+28>>2])|0)+u(b[f+24>>2],r)|0)>>>0>=G[f+8>>2])break e;if(A=b[f+4>>2]+(A<<1)|0,s[A>>1])break B;break f}l=b[f+32>>2]+1|0;break k}A=0;continue r}A=1;continue r}for(;;){b:{k:{B:{if(!Z){if(A>>>0>=W>>>0)break B;if(o=b[f+32>>2],i=b[f+200>>2]+(A<<4)|0,o>>>0>=G[i+8>>2])break b;k[0|f]||(A=b[i+12>>2]+(o<<4)|0,b[f+76>>2]=u(b[A+12>>2],b[A+8>>2])),r=b[f+72>>2],A=1;continue a}A=A+1|0,b[f+28>>2]=A;break k}n=b[f+40>>2]+1|0,A=0;continue a}Z=0;continue}Z=1}}}}return 0}xf(b[f+236>>2],1,1343,0)}return 0}return a[A>>1]=1,1}function _(f,A,e,i,r,a,k,B,o){var g=0,l=0,I=0,s=0,t=0,C=0,Z=0,Q=0,W=0,w=0,V=0,H=0,Y=0,v=0,F=0,m=0,E=0,y=0,d=0,R=0,J=0,U=0,X=0,h=0,D=0,M=0,p=0,N=0;if(!((g=b[f>>2])>>>0<i>>>0|A>>>0>=i>>>0|A>>>0>=g>>>0||(g=b[f+4>>2])>>>0<r>>>0|e>>>0>=r>>>0|e>>>0>=g>>>0))for(R=(e>>>0)/G[f+12>>2]|0,w=b[f+8>>2],M=(u(w,U=(A>>>0)/(w>>>0)|0)-A|0)+w|0,X=8!=(0|k),m=e;;){for(g=l=b[f+12>>2],E=-4&(W=(g=(0|e)==(0|m)?g-((e>>>0)%(g>>>0)|0)|0:g)>>>0<(V=r-m|0)>>>0?g:V),H=3&W,p=-8&W,h=7&W,F=W-1|0,N=2==(0|k)&1==(0|W),D=u(l-g|0,w),y=(u(m-e|0,B)<<2)+a|0,J=U,V=A;;){Q=(g=(0|A)==(0|V)?M:w)>>>0<(l=i-V|0)>>>0?g:l,l=w-g|0,g=b[(I=J<<2)+(b[f+24>>2]+(u(b[f+16>>2],R)<<2)|0)>>2];f:{A:{e:{i:{r:{a:{if(o){b:{k:{B:{o:{if(g){if(I=((D<<2)+g|0)+(l<<2)|0,g=V-A|0,1==(0|k))break b;if(s=(u(k,g)<<2)+y|0,1==(0|Q))break k;if(N)break B;if(Q>>>0<=7|X)break o;if(!W)break f;for(C=-4&Q,l=0;;){for(g=0;b[(g<<5)+s>>2]=b[(g<<2)+I>>2],b[((t=1|g)<<5)+s>>2]=b[(t<<2)+I>>2],b[((t=2|g)<<5)+s>>2]=b[(t<<2)+I>>2],b[((t=3|g)<<5)+s>>2]=b[(t<<2)+I>>2],C>>>0>(g=g+4|0)>>>0;);if(g>>>0<Q>>>0)for(;b[(g<<5)+s>>2]=b[(g<<2)+I>>2],(0|Q)!=(0|(g=g+1|0)););if(I=(w<<2)+I|0,s=(B<<2)+s|0,(0|W)==(0|(l=l+1|0)))break}break f}if(1!=(0|k)){if(!W)break f;for(Z=-4&Q,t=3&Q,I=(u(V-A|0,k)<<2)+y|0,C=0,d=Q-1>>>0<3;;){g:if(Q){if(s=0,g=0,l=0,!d){for(;b[(u(k,g)<<2)+I>>2]=0,b[(u(1|g,k)<<2)+I>>2]=0,b[(u(2|g,k)<<2)+I>>2]=0,b[(u(3|g,k)<<2)+I>>2]=0,g=g+4|0,(0|Z)!=(0|(l=l+4|0)););if(!t)break g}for(;b[(u(k,g)<<2)+I>>2]=0,g=g+1|0,(0|t)!=(0|(s=s+1|0)););}if(I=(B<<2)+I|0,(0|W)==(0|(C=C+1|0)))break}break f}if(!W)break f;if(I=Q<<2,l=(V-A<<2)+y|0,C=0,F>>>0>=7)break a;break r}if(!W)break f;d=-4&Q,Z=3&Q,t=0,Y=Q-1>>>0<3;break A}if(g=0,l=-4&Q)for(;b[(g<<3)+s>>2]=b[(g<<2)+I>>2],b[((C=1|g)<<3)+s>>2]=b[(C<<2)+I>>2],b[((C=2|g)<<3)+s>>2]=b[(C<<2)+I>>2],b[((C=3|g)<<3)+s>>2]=b[(C<<2)+I>>2],l>>>0>(g=g+4|0)>>>0;);if(g>>>0>=Q>>>0)break f;if(C=0,l=g,t=Q-g&3)for(;b[(l<<3)+s>>2]=b[(l<<2)+I>>2],l=l+1|0,(0|t)!=(0|(C=C+1|0)););if(g-Q>>>0>4294967292)break f;for(;b[(l<<3)+s>>2]=b[(l<<2)+I>>2],b[((g=l+1|0)<<3)+s>>2]=b[(g<<2)+I>>2],b[((g=l+2|0)<<3)+s>>2]=b[(g<<2)+I>>2],b[((g=l+3|0)<<3)+s>>2]=b[(g<<2)+I>>2],(0|Q)!=(0|(l=l+4|0)););break f}if(!W)break f;if(l=0,F>>>0>=3){for(;b[s>>2]=b[I>>2],C=(Z=I)+(I=w<<2)|0,b[(s=(g=B<<2)+s|0)>>2]=b[C>>2],C=I+C|0,b[(s=g+s|0)>>2]=b[C>>2],C=I+C|0,b[(s=g+s|0)>>2]=b[C>>2],I=I+C|0,s=g+s|0,(0|E)!=(0|(l=l+4|0)););if(!H)break f}for(g=0;b[s>>2]=b[I>>2],I=(w<<2)+I|0,s=(B<<2)+s|0,(0|H)!=(0|(g=g+1|0)););break f}if(g=(g<<2)+y|0,4!=(0|Q)){if(!W)break f;if(s=Q<<2,C=0,F>>>0>=3)break i;break e}if(!W)break f;if(C=0,F>>>0>=3){for(;l=b[I+12>>2],b[g+8>>2]=b[I+8>>2],b[g+12>>2]=l,l=b[I+4>>2],b[g>>2]=b[I>>2],b[g+4>>2]=l,t=b[(l=(l=I)+(I=w<<2)|0)+12>>2],b[(g=(s=B<<2)+g|0)+8>>2]=b[l+8>>2],b[g+12>>2]=t,t=b[l+4>>2],b[g>>2]=b[l>>2],b[g+4>>2]=t,t=b[(l=I+l|0)+12>>2],b[(g=g+s|0)+8>>2]=b[l+8>>2],b[g+12>>2]=t,t=b[l+4>>2],b[g>>2]=b[l>>2],b[g+4>>2]=t,t=b[(l=I+l|0)+12>>2],b[(g=g+s|0)+8>>2]=b[l+8>>2],b[g+12>>2]=t,t=b[l+4>>2],b[g>>2]=b[l>>2],b[g+4>>2]=t,I=I+l|0,g=g+s|0,(0|E)!=(0|(C=C+4|0)););if(!H)break f}for(s=0;l=b[I+12>>2],b[g+8>>2]=b[I+8>>2],b[g+12>>2]=l,l=b[I+4>>2],b[g>>2]=b[I>>2],b[g+4>>2]=l,I=(w<<2)+I|0,g=(B<<2)+g|0,(0|H)!=(0|(s=s+1|0)););break f}if(!g){if(!(g=DA(1,u(b[f+8>>2],b[f+12>>2])<<2)))return 0;b[I+(b[f+24>>2]+(u(b[f+16>>2],R)<<2)|0)>>2]=g}I=((D<<2)+g|0)+(l<<2)|0,g=V-A|0;b:{k:{B:{o:{g:{l:{if(1!=(0|k)){if(s=(u(k,g)<<2)+y|0,1==(0|Q))break l;if(Q>>>0<=7|X)break g;if(!W)break f;for(C=-4&Q,l=0;;){for(g=0;b[(g<<2)+I>>2]=b[(g<<5)+s>>2],b[((t=1|g)<<2)+I>>2]=b[(t<<5)+s>>2],b[((t=2|g)<<2)+I>>2]=b[(t<<5)+s>>2],b[((t=3|g)<<2)+I>>2]=b[(t<<5)+s>>2],C>>>0>(g=g+4|0)>>>0;);if(g>>>0<Q>>>0)for(;b[(g<<2)+I>>2]=b[(g<<5)+s>>2],(0|Q)!=(0|(g=g+1|0)););if(I=(w<<2)+I|0,s=(B<<2)+s|0,(0|W)==(0|(l=l+1|0)))break}break f}if(g=(g<<2)+y|0,4==(0|Q))break o;if(!W)break f;if(s=Q<<2,C=0,F>>>0>=3)break B;break k}if(!W)break f;if(C=0,F>>>0>=3){for(;b[I>>2]=b[s>>2],s=(l=B<<2)+s|0,b[(I=(g=w<<2)+I|0)>>2]=b[s>>2],s=l+s|0,b[(I=g+I|0)>>2]=b[s>>2],s=l+s|0,b[(I=g+I|0)>>2]=b[s>>2],I=g+I|0,s=l+s|0,(0|E)!=(0|(C=C+4|0)););if(!H)break f}for(g=0;b[I>>2]=b[s>>2],I=(w<<2)+I|0,s=(B<<2)+s|0,(0|H)!=(0|(g=g+1|0)););break f}if(!W)break f;d=-4&Q,Z=3&Q,t=0;break b}if(!W)break f;if(C=0,F>>>0>=3){for(;l=b[g+12>>2],b[I+8>>2]=b[g+8>>2],b[I+12>>2]=l,l=b[g+4>>2],b[I>>2]=b[g>>2],b[I+4>>2]=l,t=b[(g=(s=B<<2)+g|0)+12>>2],b[(l=(l=I)+(I=w<<2)|0)+8>>2]=b[g+8>>2],b[l+12>>2]=t,t=b[g+4>>2],b[l>>2]=b[g>>2],b[l+4>>2]=t,t=b[(g=g+s|0)+12>>2],b[(l=I+l|0)+8>>2]=b[g+8>>2],b[l+12>>2]=t,t=b[g+4>>2],b[l>>2]=b[g>>2],b[l+4>>2]=t,t=b[(g=g+s|0)+12>>2],b[(l=I+l|0)+8>>2]=b[g+8>>2],b[l+12>>2]=t,t=b[g+4>>2],b[l>>2]=b[g>>2],b[l+4>>2]=t,g=g+s|0,I=I+l|0,(0|E)!=(0|(C=C+4|0)););if(!H)break f}for(s=0;l=b[g+12>>2],b[I+8>>2]=b[g+8>>2],b[I+12>>2]=l,l=b[g+4>>2],b[I>>2]=b[g>>2],b[I+4>>2]=l,g=(B<<2)+g|0,I=(w<<2)+I|0,(0|H)!=(0|(s=s+1|0)););break f}for(;(l=!s)||n(I,g,s),t=(Z=g)+(g=B<<2)|0,Z=(Z=I)+(I=w<<2)|0,l||n(Z,t,s),t=g+t|0,Z=I+Z|0,l||n(Z,t,s),t=g+t|0,Z=I+Z|0,l||n(Z,t,s),g=g+t|0,I=I+Z|0,(0|E)!=(0|(C=C+4|0)););if(!H)break f}for(l=0;s&&n(I,g,s),g=(B<<2)+g|0,I=(w<<2)+I|0,(0|H)!=(0|(l=l+1|0)););break f}for(;;){b:if(Q){if(l=0,g=0,C=0,Q>>>0>=4){for(;b[(g<<2)+I>>2]=b[(u(k,g)<<2)+s>>2],b[((Y=1|g)<<2)+I>>2]=b[(u(k,Y)<<2)+s>>2],b[((Y=2|g)<<2)+I>>2]=b[(u(k,Y)<<2)+s>>2],b[((Y=3|g)<<2)+I>>2]=b[(u(k,Y)<<2)+s>>2],g=g+4|0,(0|d)!=(0|(C=C+4|0)););if(!Z)break b}for(;b[(g<<2)+I>>2]=b[(u(k,g)<<2)+s>>2],g=g+1|0,(0|Z)!=(0|(l=l+1|0)););}if(I=(w<<2)+I|0,s=(B<<2)+s|0,(0|W)==(0|(t=t+1|0)))break}break f}for(;(g=!I)||c(l,0,I),s=(Z=l)+(l=B<<2)|0,g||c(s,0,I),s=l+s|0,g||c(s,0,I),s=l+s|0,g||c(s,0,I),s=l+s|0,g||c(s,0,I),s=l+s|0,g||c(s,0,I),s=l+s|0,g||c(s,0,I),s=l+s|0,g||c(s,0,I),l=l+s|0,(0|p)!=(0|(C=C+8|0)););if(!h)break f}for(g=0;I&&c(l,0,I),l=(B<<2)+l|0,(0|h)!=(0|(g=g+1|0)););break f}for(;(l=!s)||n(g,I,s),t=(Z=I)+(I=w<<2)|0,Z=(Z=g)+(g=B<<2)|0,l||n(Z,t,s),t=I+t|0,Z=g+Z|0,l||n(Z,t,s),t=I+t|0,Z=g+Z|0,l||n(Z,t,s),I=I+t|0,g=g+Z|0,(0|E)!=(0|(C=C+4|0)););if(!H)break f}for(l=0;s&&n(g,I,s),I=(w<<2)+I|0,g=(B<<2)+g|0,(0|H)!=(0|(l=l+1|0)););break f}for(;;){A:if(Q){if(l=0,g=0,C=0,!Y){for(;b[(u(k,g)<<2)+s>>2]=b[(g<<2)+I>>2],b[(u(v=1|g,k)<<2)+s>>2]=b[(v<<2)+I>>2],b[(u(v=2|g,k)<<2)+s>>2]=b[(v<<2)+I>>2],b[(u(v=3|g,k)<<2)+s>>2]=b[(v<<2)+I>>2],g=g+4|0,(0|d)!=(0|(C=C+4|0)););if(!Z)break A}for(;b[(u(k,g)<<2)+s>>2]=b[(g<<2)+I>>2],g=g+1|0,(0|Z)!=(0|(l=l+1|0)););}if(I=(w<<2)+I|0,s=(B<<2)+s|0,(0|W)==(0|(t=t+1|0)))break}}if(J=J+1|0,!((V=Q+V|0)>>>0<i>>>0))break}if(R=R+1|0,!((m=W+m|0)>>>0<r>>>0))break}return 1}function $(f,A,e,r,B,o,g){var l,c,n,I,s=0,G=0,t=0,Z=0,Q=0,W=0,w=0,V=0,H=0,Y=0,v=0,F=0,m=0,E=0,y=0,d=0;z=l=z+-64|0,b[l+60>>2]=A,n=l+41|0,I=l+39|0,c=l+40|0;f:{A:{e:{i:{r:for(;;){s=0;a:for(;;){if(t=A,(2147483647^w)<(0|s))break i;w=s+w|0;b:{k:{B:{o:{if(G=k[0|(s=A)])for(;;){g:{l:if(A=255&G){if(37!=(0|A))break g;for(G=s;;){if(37!=k[G+1|0]){A=G;break l}if(s=s+1|0,W=k[G+2|0],G=A=G+2|0,37!=(0|W))break}}else A=s;if((0|(s=s-t|0))>(0|(d=2147483647^w)))break i;if(f&&ie(f,t,s),s)continue a;b[l+60>>2]=A,s=A+1|0,H=-1,G=i[A+1|0]-48|0,36!=k[A+2|0]|G>>>0>9||(E=1,H=G,s=A+3|0),b[l+60>>2]=s,Z=0;l:if((A=(G=i[0|s])-32|0)>>>0>31)W=s;else if(W=s,75913&(A=1<<A))for(;;){if(W=s+1|0,b[l+60>>2]=W,Z|=A,(A=(G=i[s+1|0])-32|0)>>>0>=32)break l;if(s=W,!(75913&(A=1<<A)))break}l:if(42!=(0|G)){if((0|(V=oA(l+60|0)))<0)break i;A=b[l+60>>2]}else{if(A=i[W+1|0]-48|0,36!=k[W+2|0]|A>>>0>9){if(E)break o;if(A=W+1|0,!f){b[l+60>>2]=A,E=0,V=0;break l}s=b[e>>2],b[e>>2]=s+4,V=b[s>>2],G=0}else f?A=b[(A<<3)+r>>2]:(b[(A<<2)+B>>2]=10,A=0),V=A,A=W+3|0,G=1;if(E=G,b[l+60>>2]=A,(0|V)>=0)break l;V=0-V|0,Z|=8192}if(s=0,Q=-1,F=0,46==k[0|A])if(42!=k[A+1|0])b[l+60>>2]=A+1,Q=oA(l+60|0),A=b[l+60>>2],F=1;else{if(G=i[A+2|0]-48|0,36!=k[A+3|0]|G>>>0>9){if(E)break o;A=A+2|0,Q=0,f&&(G=b[e>>2],b[e>>2]=G+4,Q=b[G>>2])}else A=A+4|0,f?Q=b[(G<<3)+r>>2]:(b[(G<<2)+B>>2]=10,Q=0);b[l+60>>2]=A,F=(0|Q)>=0}for(;;){if(y=s,W=28,Y=A,(G=i[0|A])-123>>>0<4294967238)break e;if(A=A+1|0,!(((s=k[25519+(G+u(s,58)|0)|0])-1&255)>>>0<8))break}b[l+60>>2]=A;l:if(27==(0|s)){if((0|H)>=0)break e;if(s=0,!f)continue a}else{if(!s)break e;if((0|H)>=0){if(!f){b[(H<<2)+B>>2]=s;continue r}G=b[(s=(H<<3)+r|0)+4>>2],b[l+48>>2]=b[s>>2],b[l+52>>2]=G;break l}if(!f)break b;Xf(l+48|0,s,e,g)}if(32&k[0|f])break A;G=-65537&Z,Z=8192&Z?G:Z,H=0,m=1072,W=c;l:{c:{n:{I:{s:{G:{t:{C:{u:{Z:{Q:{W:{w:{V:{H:{Y:{v:switch(s=(Y=k[0|Y])<<24>>24,(s=y&&3==(15&Y)?-45&s:s)-88|0){case 0:case 32:break w;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break k;case 9:case 13:case 14:case 15:break l;case 11:break C;case 12:case 17:break Q;case 22:break H;case 23:break W;case 24:break V;case 27:break t;case 29:break Y;default:break v}v:switch(s-65|0){case 1:case 3:break k;case 0:case 4:case 5:case 6:break l;case 2:break G;default:break v}if(83==(0|s))break s;break k}G=b[l+48>>2],Y=b[l+52>>2],m=1072;break Z}s=0;H:switch(0|y){case 0:case 1:case 6:b[b[l+48>>2]>>2]=w;continue a;case 2:t=b[l+48>>2],b[t>>2]=w,b[t+4>>2]=w>>31;continue a;case 3:a[b[l+48>>2]>>1]=w;continue a;case 4:i[b[l+48>>2]]=w;continue a;case 7:break H;default:continue a}t=b[l+48>>2],b[t>>2]=w,b[t+4>>2]=w>>31;continue a}Q=Q>>>0<=8?8:Q,Z|=8,s=120}if(A=c,Y=t=b[l+52>>2],v=G=b[l+48>>2],G|t)for(y=32&s;i[0|(A=A-1|0)]=y|k[26048+(15&v)|0],(v=(15&t)<<28|v>>>4)|(t=t>>>4|0););if(t=A,!(8&Z)|!(G|Y))break u;m=1072+(s>>>4|0)|0,H=2;break u}if(A=c,Y=t=b[l+52>>2],v=G=b[l+48>>2],G|t)for(;i[0|(A=A-1|0)]=7&v|48,(v=(7&t)<<29|v>>>3)|(t=t>>>3|0););if(t=A,!(8&Z))break u;Q=(0|(A=n-A|0))<(0|Q)?Q:A;break u}G=b[l+48>>2],Y=A=b[l+52>>2],(0|A)<0?(Y=s=0-(A+!!(0|G)|0)|0,G=0-G|0,b[l+48>>2]=G,b[l+52>>2]=s,H=1,m=1072):2048&Z?(H=1,m=1073):m=(H=1&Z)?1074:1072}t=kA(G,Y,c)}if((0|Q)<0&F)break i;if(Z=F?-65537&Z:Z,!(0!=(G|Y)|Q)){t=c,Q=0;break k}Q=(0|(A=!(G|Y)+(c-t|0)|0))<(0|Q)?Q:A;break k}s=k[l+48|0];break B}Z=s=Q>>>0>=2147483647?2147483647:Q,W=!!(0|s);t:{C:{u:{Z:if(!(!(3&(A=t=(A=b[l+48>>2])||1686))|!s))for(;;){if(!k[0|A])break u;if(W=!!(0|(Z=Z-1|0)),!(3&(A=A+1|0)))break Z;if(!Z)break}if(!W)break C;if(!(!k[0|A]|Z>>>0<4))for(;;){if(-2139062144!=(-2139062144&(16843008-(W=b[A>>2])|W)))break u;if(A=A+4|0,!((Z=Z-4|0)>>>0>3))break}if(!Z)break C}for(;;){if(!k[0|A])break t;if(A=A+1|0,!(Z=Z-1|0))break}}A=0}if(W=(A=A?A-t|0:s)+t|0,(0|Q)>=0){Z=G,Q=A;break k}if(Z=G,Q=A,k[0|W])break i;break k}if((s=b[l+48>>2])|b[l+52>>2])break I;s=0;break B}if(Q){G=b[l+48>>2];break n}s=0,GA(f,32,V,0,Z);break c}b[l+12>>2]=0,b[l+8>>2]=s,G=l+8|0,b[l+48>>2]=G,Q=-1}for(s=0;;){if(t=b[G>>2]){if((0|(t=RA(l+4|0,t)))<0)break A;if(!(t>>>0>Q-s>>>0)&&(G=G+4|0,Q>>>0>(s=s+t|0)>>>0))continue}break}if(W=61,(0|s)<0)break e;if(GA(f,32,V,s,Z),s)for(W=0,G=b[l+48>>2];;){if(!(t=b[G>>2]))break c;if((W=(t=RA(Q=l+4|0,t))+W|0)>>>0>s>>>0)break c;if(ie(f,Q,t),G=G+4|0,!(s>>>0>W>>>0))break}else s=0}GA(f,32,V,s,8192^Z),s=(0|s)<(0|V)?V:s;continue a}if((0|Q)<0&F)break i;if(W=61,(0|(s=0|Qe[0|o](f,C[l+48>>3],V,Q,Z,s)))>=0)continue a;break e}G=k[s+1|0],s=s+1|0}if(f)break f;if(!E)break b;for(s=1;;){if(f=b[(s<<2)+B>>2]){if(Xf((s<<3)+r|0,f,e,g),w=1,10!=(0|(s=s+1|0)))continue;break f}break}if(s>>>0>=10){w=1;break f}for(;;){if(b[(s<<2)+B>>2])break o;if(w=1,10==(0|(s=s+1|0)))break}break f}W=28;break e}i[l+39|0]=s,Q=1,t=I,Z=G}if((0|(Q=(0|(G=W-t|0))<(0|Q)?Q:G))>(2147483647^H))break i;if(W=61,d>>>0<(s=(0|(A=Q+H|0))<(0|V)?V:A)>>>0)break e;GA(f,32,s,A,Z),ie(f,m,H),GA(f,48,s,A,65536^Z),GA(f,48,Q,G,0),ie(f,t,G),GA(f,32,s,A,8192^Z),A=b[l+60>>2];continue}break}break}w=0;break f}W=61}b[6597]=W}w=-1}return z=l- -64|0,w}function ff(f){var A=0,e=0,i=0,r=0,a=0,B=0,o=0,g=0,l=0,c=0,n=0,I=0;f:if(!(i=b[f+32>>2])){if((0|(o=b[f+16>>2]))>=6)A=b[f+8>>2],a=b[f+12>>2],i=o;else{A:{if((0|(A=b[f+20>>2]))>=5)e=b[f>>2],i=b[e>>2],b[f>>2]=e+4,B=A-4|0;else{if((0|A)<=0){i=-1;break A}if(e=b[f>>2],1!=(0|A)){i=0;e:{if(2!=(0|A)){for(c=1&(a=A-1|0),l=-2&a,r=-1,g=A;a=e,b[f>>2]=e+1,n=k[0|e],e=e+2|0,b[f>>2]=e,b[f+20>>2]=g-1,a=k[a+1|0],g=g-2|0,b[f+20>>2]=g,r=(~(255<<i)&r|n<<i)&~(65280<<i)|a<<(8|i),i=i+16|0,(0|l)!=(0|(I=I+2|0)););if(!c)break e}else r=-1,g=A;a=e+1|0,b[f>>2]=a,e=k[0|e],b[f+20>>2]=g-1,r=~(255<<i)&r|e<<i,e=a}A=(A<<3)-8|0}else r=-1,A=0;b[f>>2]=e+1,i=~(255<<A)&r|(15|k[0|e])<<A}b[f+20>>2]=B}if(A=b[f+24>>2],e=i>>>24|0,b[f+24>>2]=255==(0|e),i=32+(o-(l=(c=255==(0|(B=i>>>16&255)))+((l=A+(r=255==(0|(a=255&i)))|0)+(g=255==(0|(A=i>>>8&255)))|0)|0)|0)|0,b[f+16>>2]=i,n=b[f+12>>2],A=e|(B|(A|a<<(r?7:8))<<(g?7:8))<<(c?7:8),e=31&(a=32+(l-o|0)|0),(63&a)>>>0>=32?(g=A<<e,B=0):(g=(1<<e)-1&A>>>32-e,B=A<<e),A=B|b[f+8>>2],a=e=g|n,b[f+8>>2]=A,b[f+12>>2]=e,!((0|i)>=6)){i=0;break f}}r=b[f+28>>2],g=b[20752+(r<<2)>>2],(0|a)<0?(i=i-1|0,e=~(-1<<g)<<1,g=1,r=((0|r)>=11?11:r)+1|0):(B=A,e=31&(o=63-g|0),e=((B=(63&o)>>>0>=32?a>>>e|0:((1<<e)-1&a)<<32-e|B>>>e)&~(-1<<g))<<1|1,i=i-(g=g+1|0)|0,r=((0|r)<=1?1:r)-1|0),b[f+16>>2]=i,b[f+28>>2]=r,B=A,o=31&g,(63&g)>>>0>=32?(A<<=o,B=0):(A=(1<<o)-1&B>>>32-o|a<<o,B<<=o),a=A,b[f+8>>2]=B,b[f+12>>2]=A,g=b[f+44>>2]|e>>31,l=-64&b[f+40>>2]|e,b[f+40>>2]=l,b[f+44>>2]=g,(0|i)<6?i=1:(A=b[20752+(r<<2)>>2],(0|a)<0?(i=i-1|0,e=~(-1<<A)<<1,A=1,r=((0|r)>=11?11:r)+1|0):(c=B,e=31&(o=63-A|0),e=((c=(63&o)>>>0>=32?a>>>e|0:((1<<e)-1&a)<<32-e|c>>>e)&~(-1<<A))<<1|1,i=i-(A=A+1|0)|0,r=((0|r)<=1?1:r)-1|0),b[f+16>>2]=i,b[f+28>>2]=r,c=B,o=31&A,(63&A)>>>0>=32?(A=B<<o,c=0):(A=(1<<o)-1&c>>>32-o|a<<o,c<<=o),a=A,b[f+8>>2]=c,b[f+12>>2]=A,o=A=e>>31<<7|e>>>25|g,l=-8065&l|e<<7,b[f+40>>2]=l,b[f+44>>2]=A,(0|i)<6?i=2:(A=b[20752+(r<<2)>>2],(0|a)<0?(i=i-1|0,e=~(-1<<A)<<1,A=1,r=((0|r)>=11?11:r)+1|0):(B=c,e=31&(g=63-A|0),e=((B=(63&g)>>>0>=32?a>>>e|0:((1<<e)-1&a)<<32-e|B>>>e)&~(-1<<A))<<1|1,i=i-(A=A+1|0)|0,r=((0|r)<=1?1:r)-1|0),b[f+16>>2]=i,b[f+28>>2]=r,n=c,B=31&A,(63&A)>>>0>=32?(g=c<<B,B=0):(g=(1<<B)-1&n>>>32-B|a<<B,B=n<<B),b[f+8>>2]=B,a=g,b[f+12>>2]=a,g=A=e>>31<<14|e>>>18|o,c=-1032193&l|e<<14,b[f+40>>2]=c,b[f+44>>2]=A,(0|i)<6?i=3:(A=b[20752+(r<<2)>>2],(0|a)<0?(i=i-1|0,e=~(-1<<A)<<1,A=1,r=((0|r)>=11?11:r)+1|0):(l=B,e=31&(o=63-A|0),e=((l=(63&o)>>>0>=32?a>>>e|0:((1<<e)-1&a)<<32-e|l>>>e)&~(-1<<A))<<1|1,i=i-(A=A+1|0)|0,r=((0|r)<=1?1:r)-1|0),b[f+16>>2]=i,b[f+28>>2]=r,l=B,o=31&A,(63&A)>>>0>=32?(A=B<<o,B=0):(A=(1<<o)-1&l>>>32-o|a<<o,B=l<<o),a=A,b[f+8>>2]=B,b[f+12>>2]=A,l=A=e>>31<<21|e>>>11|g,c=-132120577&c|e<<21,b[f+40>>2]=c,b[f+44>>2]=A,(0|i)<6?i=4:(A=b[20752+(r<<2)>>2],(0|a)<0?(e=~(-1<<A)<<1,A=1,o=((0|r)>=11?11:r)+1|0,i=i-1|0):(o=B,e=31&(g=63-A|0),e=((g=(63&g)>>>0>=32?a>>>e|0:((1<<e)-1&a)<<32-e|o>>>e)&~(-1<<A))<<1|1,o=((0|r)<=1?1:r)-1|0,i=i-(A=A+1|0)|0),b[f+16>>2]=i,b[f+28>>2]=o,g=B,r=31&A,(63&A)>>>0>=32?(A=B<<r,B=0):(A=(1<<r)-1&g>>>32-r|a<<r,B=g<<r),b[f+8>>2]=B,a=A,b[f+12>>2]=A,l=A=-4&l|e>>31<<28|e>>>4,c=268435455&c|e<<28,b[f+40>>2]=c,b[f+44>>2]=A,(0|i)<6?i=5:(A=b[20752+(o<<2)>>2],(0|a)<0?(r=~(-1<<A)<<1,A=1,o=((0|o)>=11?11:o)+1|0,g=i-1|0):(g=B,e=31&(r=63-A|0),r=((g=(63&r)>>>0>=32?a>>>e|0:((1<<e)-1&a)<<32-e|g>>>e)&~(-1<<A))<<1|1,o=((0|o)<=1?1:o)-1|0,g=i-(A=A+1|0)|0),b[f+16>>2]=g,b[f+28>>2]=o,i=B,e=31&A,(63&A)>>>0>=32?(A=i<<e,B=0):(A=(1<<e)-1&i>>>32-e|a<<e,B=i<<e),e=A,b[f+8>>2]=B,b[f+12>>2]=A,n=A=-505&l|r<<3,b[f+40>>2]=c,b[f+44>>2]=A,i=6,(0|g)<6||(A=b[20752+(o<<2)>>2],(0|e)<0?(r=~(-1<<A)<<1,A=1,o=((0|o)>=11?11:o)+1|0,i=g-1|0):(i=B,a=31&(r=63-A|0),r=((a=(63&r)>>>0>=32?e>>>a|0:((1<<a)-1&e)<<32-a|i>>>a)&~(-1<<A))<<1|1,o=((0|o)<=1?1:o)-1|0,i=g-(A=A+1|0)|0),b[f+16>>2]=i,b[f+28>>2]=o,l=B,a=31&A,(63&A)>>>0>=32?(g=B<<a,B=0):(g=(1<<a)-1&l>>>32-a|e<<a,B=l<<a),b[f+8>>2]=B,a=g,b[f+12>>2]=a,g=c,c=A=-64513&n|r<<10,b[f+40>>2]=g,b[f+44>>2]=A,(0|i)<6?i=7:(A=b[20752+(o<<2)>>2],(0|a)<0?(i=i-1|0,e=~(-1<<A)<<1,A=1,r=((0|o)>=11?11:o)+1|0):(l=B,e=31&(r=63-A|0),e=((l=(63&r)>>>0>=32?a>>>e|0:((1<<e)-1&a)<<32-e|l>>>e)&~(-1<<A))<<1|1,i=i-(A=A+1|0)|0,r=((0|o)<=1?1:o)-1|0),b[f+16>>2]=i,b[f+28>>2]=r,i=B,r=31&A,(63&A)>>>0>=32?(A=i<<r,B=0):(A=(1<<r)-1&i>>>32-r|a<<r,B=i<<r),b[f+8>>2]=B,b[f+12>>2]=A,b[f+40>>2]=g,b[f+44>>2]=-8257537&c|e<<17,i=8)))))))}return b[f+32>>2]=i-1,A=(a=b[f+44>>2])>>>7|0,e=b[f+40>>2],b[f+40>>2]=(127&a)<<25|e>>>7,b[f+44>>2]=A,127&e}function Af(f,A,e,r,a,B,o,g,l){var n,I,s=0,t=0,C=0,Z=0,Q=0,W=0,w=0,V=0,H=0,Y=0,v=0,F=0,m=0,E=0,y=0;z=n=z-32|0,b[n+24>>2]=B,I=b[28+(u(b[r+28>>2],76)+A|0)>>2]+u(b[r+32>>2],152)|0;f:{if(!(b[r+40>>2]|!b[I+24>>2]))for(t=I+28|0;;){A:if(!xA(t)){if((A=b[r+36>>2])>>>0>=G[t+24>>2]/40>>>0){xf(l,1,2836,0);break f}if(A=b[t+20>>2]+u(A,40)|0,zf(b[A+32>>2]),zf(b[A+36>>2]),W=u(b[A+20>>2],b[A+16>>2])){if(w=7&W,A=b[A+24>>2],W>>>0>=8){for(W&=-8,s=0;b[A+516>>2]=0,b[A+520>>2]=0,b[A+448>>2]=0,b[A+452>>2]=0,b[A+380>>2]=0,b[A+384>>2]=0,b[A+312>>2]=0,b[A+316>>2]=0,b[A+244>>2]=0,b[A+248>>2]=0,b[A+176>>2]=0,b[A+180>>2]=0,b[A+108>>2]=0,b[A+112>>2]=0,b[A+40>>2]=0,b[A+44>>2]=0,A=A+544|0,(0|W)!=(0|(s=s+8|0)););if(!w)break A}for(s=0;b[A+40>>2]=0,b[A+44>>2]=0,A=A+68|0,(0|w)!=(0|(s=s+1|0)););}}if(t=t+36|0,!((Q=Q+1|0)>>>0<G[I+24>>2]))break}if(w=B,2&k[0|e]&&(g>>>0<=5?xf(l,2,4196,0):255==k[0|B]&145==k[B+1|0]?(w=B+6|0,b[n+24>>2]=w):xf(l,2,4238,0)),C=ke(20))if(1&i[f+108|0]?(w=b[f+40>>2],W=f+44|0,g=f+40|0):2&k[e+5640|0]?(w=b[e+5168>>2],W=e+5180|0,g=e+5168|0):(b[n+28>>2]=(B+g|0)-w,W=n+28|0,g=n+24|0),f=b[W>>2],b[C+12>>2]=0,b[C+16>>2]=0,b[C+8>>2]=w,b[C>>2]=w,b[C+4>>2]=f+w,AA(C,1)){if(b[I+24>>2])for(H=I+28|0;;){if(f=b[r+36>>2],A=b[H+20>>2],!xA(H)&&(Y=A+u(f,40)|0,E=u(b[Y+20>>2],b[Y+16>>2])))for(t=b[Y+24>>2],v=0;;){A:{if(f=b[t+40>>2]?AA(C,1):jf(C,b[Y+32>>2],v,b[r+40>>2]+1|0)){if(!b[t+40>>2]){for(A=0;f=A,A=A+1|0,!jf(C,b[Y+36>>2],v,f););A=b[H+28>>2],b[t+32>>2]=3,b[t+24>>2]=A,b[t+28>>2]=1+(A-f|0)}for(f=1,AA(C,1)&&(f=2,AA(C,1)&&(f=3==(0|(f=AA(C,2)))?31==(0|(f=AA(C,5)))?AA(C,7)+37|0:f+6|0:f+3|0)),b[t+36>>2]=f,A=0;f=A,A=A+1|0,AA(C,1););b[t+32>>2]=f+b[t+32>>2];e:{i:{if(f=b[t+40>>2]){if(s=(A=b[t>>2])+u(Q=f-1|0,24)|0,b[s+4>>2]!=b[s+12>>2])break i;if(Q=b[16+(b[e+5584>>2]+u(b[r+28>>2],1080)|0)>>2],(s=b[t+48>>2])>>>0<f+1>>>0){if(!(A=Cf(A,u(s=s+10|0,24))))break e;b[t>>2]=A,c(A+u(b[t+48>>2],24)|0,0,240),b[t+48>>2]=s,A=b[t>>2]}JA(s=u(f,24)+A|0),A=1,4&Q||(A=109,1&Q&&(A=1==(0|(A=b[s-12>>2]))||10==(0|A)?2:1))}else{if(f=b[16+(b[e+5584>>2]+u(b[r+28>>2],1080)|0)>>2],!b[t+48>>2]){if(!(A=Cf(b[t>>2],240)))break e;b[t>>2]=A,c(A+u(b[t+48>>2],24)|0,0,240),b[t+48>>2]=10}JA(s=b[t>>2]),A=4&f?1:1&f?10:109,f=0}Q=f,b[s+12>>2]=A}if(f=b[t+36>>2],64&k[16+(b[e+5584>>2]+u(b[r+28>>2],1080)|0)|0])for(;;){if(Z=u(Q,24),V=Q?f:1,b[16+(Z+b[t>>2]|0)>>2]=V,F=b[t+32>>2],s=0,A=f,V>>>0>=2)for(;s=s+1|0,V=A>>>0>3,A=A>>>1|0,V;);if((A=s+F|0)>>>0>=33){b[n+16>>2]=A,xf(l,1,15535,n+16|0);break e}if(s=AA(C,A),A=b[t>>2],b[(Z=Z+A|0)+20>>2]=s,(0|(f=f-b[Z+16>>2]|0))<=0)break A;if(s=b[16+(b[e+5584>>2]+u(b[r+28>>2],1080)|0)>>2],(Z=b[t+48>>2])>>>0<Q+2>>>0){if(!(A=Cf(A,u(Z=Z+10|0,24))))break e;b[t>>2]=A,c(A+u(b[t+48>>2],24)|0,0,240),b[t+48>>2]=Z,A=b[t>>2]}JA(A=A+u(Q=Q+1|0,24)|0),4&s?b[A+12>>2]=1:1&s?(s=A,A=b[A-12>>2],b[s+12>>2]=1==(0|A)||10==(0|A)?2:1):b[A+12>>2]=109}for(;;){if(s=(Z=u(Q,24))+b[t>>2]|0,A=(0|f)>(0|(A=b[s+12>>2]-b[s+4>>2]|0))?A:f,b[s+16>>2]=A,V=b[t+32>>2],s=0,A>>>0>=2)for(;s=s+1|0,F=A>>>0>3,A=A>>>1|0,F;);if((A=s+V|0)>>>0>=33){b[n>>2]=A,xf(l,1,15535,n);break e}if(s=AA(C,A),A=b[t>>2],b[(Z=Z+A|0)+20>>2]=s,(0|(f=f-b[Z+16>>2]|0))<=0)break A;if(s=b[16+(b[e+5584>>2]+u(b[r+28>>2],1080)|0)>>2],(Z=b[t+48>>2])>>>0<Q+2>>>0){if(!(A=Cf(A,u(Z=Z+10|0,24))))break e;b[t>>2]=A,c(A+u(b[t+48>>2],24)|0,0,240),b[t+48>>2]=Z,A=b[t>>2]}JA(A=A+u(Q=Q+1|0,24)|0),4&s?b[A+12>>2]=1:1&s?(s=A,A=b[A-12>>2],b[s+12>>2]=1==(0|A)||10==(0|A)?2:1):b[A+12>>2]=109}}Ce(C);break f}b[t+36>>2]=0}if(t=t+68|0,(0|E)==(0|(v=v+1|0)))break}if(H=H+36|0,!((y=y+1|0)>>>0<G[I+24>>2]))break}if(uA(C)){if(f=oe(C),Ce(C),A=f+w|0,f=b[g>>2],4&k[0|e]){if(f+(b[W>>2]-A|0)>>>0<=1){xf(l,1,4422,0);break f}if(!(255==k[0|A]&146==k[A+1|0])){xf(l,1,4401,0);break f}A=A+2|0}(0|f)!=(0|A)&&(b[W>>2]=b[W>>2]+(f-A|0),b[g>>2]=A,m=1,b[a>>2]=1,b[o>>2]=b[n+24>>2]-B)}else Ce(C)}else{if(uA(C),f=oe(C),Ce(C),f=f+w|0,A=b[g>>2],r=b[W>>2],4&k[0|e]){if(A+(r-f|0)>>>0<=1){xf(l,1,4422,0);break f}if(!(255==k[0|f]&146==k[f+1|0])){xf(l,1,4401,0);break f}f=f+2|0}f=f-A|0,b[W>>2]=r-f,b[g>>2]=f+A,b[a>>2]=0,b[o>>2]=b[n+24>>2]-B,m=1}}return z=n+32|0,m}function ef(f,A,e,i){f|=0,A|=0,i|=0;var r=0,a=0,k=0,B=0,o=0,g=0,l=0,c=0,n=0,I=0,s=0,t=0,C=0,Z=0,Q=0,W=0,w=0,V=0,H=0,Y=0,v=0,F=0,m=0,E=0,y=0,d=0,R=0;if(e|=0){if((r=b[f+184>>2])&&!(!(a=b[f+96>>2])|!b[a+16>>2]|(0|r)!=b[b[a+24>>2]+40>>2])&&(a=b[e+16>>2])&&(I=b[e+24>>2],!(b[I+40>>2]|b[I+44>>2]))){o=7&a;f:{if(a>>>0>=8){for(t=-8&a;a=u(B,52)+I|0,b[a+404>>2]=r,b[a+352>>2]=r,b[a+300>>2]=r,b[a+248>>2]=r,b[a+196>>2]=r,b[a+144>>2]=r,b[a+92>>2]=r,b[a+40>>2]=r,B=B+8|0,(0|(k=k+8|0))!=(0|t););if(!o)break f}for(;b[40+(u(B,52)+I|0)>>2]=r,B=B+1|0,(0|o)!=(0|(g=g+1|0)););}r=0,t=0,z=I=z-32|0;f:if(V=b[e+16>>2])if(C=a=(B=b[e>>2])>>31,(0|a)<0||(n=a=(o=b[e+4>>2])>>31,(0|a)<0||(Q=a=(k=b[e+8>>2])>>31,(0|a)<0||(0|(Z=(g=b[e+12>>2])>>31))<0)))xf(i,1,6720,0);else for(a=b[e+24>>2],v=B-1|0,H=C-!B|0,F=o-1|0,Y=n-!o|0,m=k-1|0,E=Q-!k|0,y=g-1|0,d=Z-!g|0;;){if(g=be(B=(r=b[a>>2])+v|0,o=r>>>0>B>>>0?H+1|0:H,r,0),b[a+16>>2]=g,Z=be(B=(o=b[a+4>>2])+F|0,k=o>>>0>B>>>0?Y+1|0:Y,o,0),b[a+20>>2]=Z,k=31&(B=b[a+40>>2]),(63&B)>>>0>=32?(C=1<<k,n=0):C=(n=1<<k)-1&1>>>32-k,Q=n-1|0,w=k=C-!n|0,s=(c=(W=r>>31)+E|0)+1|0,k=c,s=(r=w+((k=cA(c=r+m|0,c>>>0<r>>>0?s:k,r,W))>>31)|0)+1|0,c=r,W=k>>>0>(r=k+Q|0)>>>0?s:c,k=31&B,R=(c=(g>>31)+w|0)+1|0,s=c,g=g>>>0>(c=g+Q|0)>>>0?R:s,k=(63&B)>>>0>=32?W>>k:((1<<k)-1&W)<<32-k|r>>>k,r=31&B,(0|(r=k-(r=(63&B)>>>0>=32?g>>r:((1<<r)-1&g)<<32-r|c>>>r)|0))<0){b[I+4>>2]=r,b[I>>2]=t,xf(i,1,13510,I),r=0;break f}if(b[a+8>>2]=r,s=(k=(r=o>>31)+d|0)+1|0,c=k,k=(r=((o=cA(k=o+y|0,g=k>>>0<o>>>0?s:c,o,r))>>31)+w|0)+1|0,c=r,k=o>>>0>(r=o+Q|0)>>>0?k:c,o=31&B,s=(g=C+(Z>>31)|0)+1|0,c=g,C=(g=n+Z|0)>>>0<n>>>0?s:c,n=g-1|0,c=(63&B)>>>0>=32?k>>o:((1<<o)-1&k)<<32-o|r>>>o,o=C-!g|0,r=31&B,(0|(r=c-(n=(63&B)>>>0>=32?o>>r:((1<<r)-1&o)<<32-r|n>>>r)|0))<0){b[I+20>>2]=r,b[I+16>>2]=t,xf(i,1,13579,I+16|0),r=0;break f}if(b[a+12>>2]=r,a=a+52|0,r=1,(0|V)==(0|(t=t+1|0)))break}else r=1;if(z=I+32|0,!r)return 0}if(((r=b[f+100>>2])||(r=Ge(),b[f+100>>2]=r,r))&&(yf(e,r),bA(b[f+216>>2],22,i))){B=b[f+216>>2],a=b[B>>2],r=b[B+8>>2];f:{if(a){l=1;A:{if(1!=(0|a)){for(I=1&a,o=-2&a,a=0;n=0,l&&(n=0,0|Qe[b[r>>2]](f,A,i)&&(n=!!(0|Qe[b[r+4>>2]](f,A,i)))),l=n,r=r+8|0,(0|o)!=(0|(a=a+2|0)););if(!I)break A}l?l=!!(0|Qe[b[r>>2]](f,A,i)):l=0}if(Ze(B),l)break f;return lA(b[f+96>>2]),b[f+96>>2]=0,0}Ze(B)}a=0,A=0,i=0;f:{A:{e:{if(!(r=b[f+60>>2])){if(b[e+16>>2])break e;l=1;break f}if(!(B=ke(u(r,52))))break A;if(r=0,b[e+16>>2])for(A=b[e+24>>2];r=u(i,52),hf(b[44+(r+A|0)>>2]),A=b[e+24>>2],b[44+(r+A|0)>>2]=0,(i=i+1|0)>>>0<(r=b[e+16>>2])>>>0;);if(b[f+60>>2]){for(i=b[b[f+100>>2]+24>>2],r=0;A=B+u(r,52)|0,i=(a=u(b[b[f+64>>2]+(r<<2)>>2],52))+i|0,b[A+48>>2]=b[i+48>>2],l=b[i+44>>2],b[A+40>>2]=b[i+40>>2],b[A+44>>2]=l,l=b[i+36>>2],b[A+32>>2]=b[i+32>>2],b[A+36>>2]=l,l=b[i+28>>2],b[A+24>>2]=b[i+24>>2],b[A+28>>2]=l,l=b[i+20>>2],b[A+16>>2]=b[i+16>>2],b[A+20>>2]=l,l=b[i+12>>2],b[A+8>>2]=b[i+8>>2],b[A+12>>2]=l,l=b[i+4>>2],b[A>>2]=b[i>>2],b[A+4>>2]=l,a=a+(i=b[b[f+100>>2]+24>>2])|0,b[A+36>>2]=b[a+36>>2],b[A+44>>2]=b[a+44>>2],b[a+44>>2]=0,(r=r+1|0)>>>0<(a=b[f+60>>2])>>>0;);r=b[e+16>>2]}if(r){for(A=b[b[f+100>>2]+24>>2],i=0;r=u(i,52),hf(b[44+(r+A|0)>>2]),A=b[b[f+100>>2]+24>>2],b[44+(r+A|0)>>2]=0,(i=i+1|0)>>>0<G[e+16>>2];);a=b[f+60>>2]}b[e+16>>2]=a,hf(b[e+24>>2]),b[e+24>>2]=B,l=1;break f}for(r=b[e+24>>2],i=b[b[f+100>>2]+24>>2];a=u(A,52),b[(r=a+r|0)+36>>2]=b[36+(i+a|0)>>2],hf(b[r+44>>2]),n=a+(r=b[e+24>>2])|0,a=a+(i=b[b[f+100>>2]+24>>2])|0,b[n+44>>2]=b[a+44>>2],b[a+44>>2]=0,(A=A+1|0)>>>0<G[e+16>>2];);l=1;break f}lA(b[f+96>>2]),b[f+96>>2]=0,l=0}}}return 0|l}function rf(f,A,e,i){var r,a,k,B=0,o=0,g=0,l=0,c=0,n=0;n=(e<<2)+A|0,c=(B=b[f>>2])+(o=b[f+12>>2]<<5)|0,a=B-o|0,B=b[f+16>>2],r=b[f+28>>2],l=b[f+20>>2],k=b[f+8>>2];f:{A:{if(15&c|15&A|i>>>0<8){if(B>>>0>=l>>>0)break f;e:switch(i-1|0){case 1:if(o=B+1|0,l-B&1&&(n=c+(B<<6)|0,B=(B<<2)+A|0,t[n>>2]=t[B>>2],t[n+4>>2]=t[B+(e<<2)>>2],B=o),(0|o)==(0|l))break f;for(;n=(B<<2)+A|0,t[(o=c+(B<<6)|0)>>2]=t[n>>2],g=o,o=e<<2,t[g+4>>2]=t[o+n>>2],g=c+((n=B+1|0)<<6)|0,n=(n<<2)+A|0,t[g>>2]=t[n>>2],t[g+4>>2]=t[o+n>>2],(0|l)!=(0|(B=B+2|0)););break f;case 0:break e;default:break A}if(o=B,g=l-B&3)for(n=0;t[c+(o<<6)>>2]=t[(o<<2)+A>>2],o=o+1|0,(0|g)!=(0|(n=n+1|0)););if(B-l>>>0>4294967292)break f;for(;t[c+(o<<6)>>2]=t[(o<<2)+A>>2],t[c+((B=o+1|0)<<6)>>2]=t[(B<<2)+A>>2],t[c+((B=o+2|0)<<6)>>2]=t[(B<<2)+A>>2],t[c+((B=o+3|0)<<6)>>2]=t[(B<<2)+A>>2],(0|l)!=(0|(o=o+4|0)););break f}if(B>>>0>=l>>>0)break f;for(;t[(o=c+(B<<6)|0)>>2]=t[(B<<2)+A>>2],g=e+B|0,t[o+4>>2]=t[(g<<2)+A>>2],g=e+g|0,t[o+8>>2]=t[(g<<2)+A>>2],g=e+g|0,t[o+12>>2]=t[(g<<2)+A>>2],g=e+g|0,t[o+16>>2]=t[(g<<2)+A>>2],g=e+g<<2,t[o+20>>2]=t[g+A>>2],g=g+n|0,t[o+24>>2]=t[g>>2],t[o+28>>2]=t[g+(e<<2)>>2],(0|l)!=(0|(B=B+1|0)););break f}for(;t[(o=c+(B<<6)|0)>>2]=t[(B<<2)+A>>2],g=e+B|0,t[o+4>>2]=t[(g<<2)+A>>2],g=e+g|0,t[o+8>>2]=t[(g<<2)+A>>2],3!=(0|i)&&(g=e+g|0,t[o+12>>2]=t[(g<<2)+A>>2],4!=(0|i)&&(g=e+g|0,t[o+16>>2]=t[(g<<2)+A>>2],5!=(0|i)&&(g=e+g|0,t[o+20>>2]=t[(g<<2)+A>>2],6!=(0|i)&&(g=n+(g<<2)|0,t[o+24>>2]=t[g>>2],7!=(0|i)&&(t[o+28>>2]=t[g+(e<<2)>>2]))))),(0|l)!=(0|(B=B+1|0)););}o=(A=(k<<2)+A|0)+(e<<2)|0,B=b[f+24>>2];f:if(15&(c=a+32|0)|15&A|i>>>0<8){if(B>>>0>=r>>>0)break f;A:switch(i-1|0){case 1:if(f=B+1|0,r-B&1&&(i=c+(B<<6)|0,B=A+(B<<2)|0,t[i>>2]=t[B>>2],t[i+4>>2]=t[B+(e<<2)>>2],B=f),(0|f)==(0|r))break f;for(;i=A+(B<<2)|0,t[(f=c+(B<<6)|0)>>2]=t[i>>2],o=f,f=e<<2,t[o+4>>2]=t[f+i>>2],o=c+((i=B+1|0)<<6)|0,i=A+(i<<2)|0,t[o>>2]=t[i>>2],t[o+4>>2]=t[f+i>>2],(0|r)!=(0|(B=B+2|0)););break f;case 0:if(e=B,f=r-B&3)for(o=0;t[c+(e<<6)>>2]=t[A+(e<<2)>>2],e=e+1|0,(0|f)!=(0|(o=o+1|0)););if(B-r>>>0>4294967292)break f;for(;t[c+(e<<6)>>2]=t[A+(e<<2)>>2],t[c+((f=e+1|0)<<6)>>2]=t[A+(f<<2)>>2],t[c+((f=e+2|0)<<6)>>2]=t[A+(f<<2)>>2],t[c+((f=e+3|0)<<6)>>2]=t[A+(f<<2)>>2],(0|r)!=(0|(e=e+4|0)););break f;default:break A}for(;t[(f=c+(B<<6)|0)>>2]=t[A+(B<<2)>>2],l=e+B|0,t[f+4>>2]=t[A+(l<<2)>>2],l=e+l|0,t[f+8>>2]=t[A+(l<<2)>>2],3!=(0|i)&&(l=e+l|0,t[f+12>>2]=t[A+(l<<2)>>2],4!=(0|i)&&(l=e+l|0,t[f+16>>2]=t[A+(l<<2)>>2],5!=(0|i)&&(l=e+l|0,t[f+20>>2]=t[A+(l<<2)>>2],6!=(0|i)&&(l=o+(l<<2)|0,t[f+24>>2]=t[l>>2],7!=(0|i)&&(t[f+28>>2]=t[l+(e<<2)>>2]))))),(0|r)!=(0|(B=B+1|0)););}else if(!(B>>>0>=r>>>0))for(;t[(f=c+(B<<6)|0)>>2]=t[A+(B<<2)>>2],i=e+B|0,t[f+4>>2]=t[A+(i<<2)>>2],i=e+i|0,t[f+8>>2]=t[A+(i<<2)>>2],i=e+i|0,t[f+12>>2]=t[A+(i<<2)>>2],i=e+i|0,t[f+16>>2]=t[A+(i<<2)>>2],i=e+i<<2,t[f+20>>2]=t[i+A>>2],i=i+o|0,t[f+24>>2]=t[i>>2],t[f+28>>2]=t[i+(e<<2)>>2],(0|r)!=(0|(B=B+1|0)););}function af(f,A,e){f|=0,e|=0;var r,a=0,k=0,B=0,o=0,g=0,l=0,c=0,n=0,I=0;if(z=r=z-176|0,384&(A|=0))Of(5943,11,e);else{if(1&A&&(B=b[f+96>>2])){if(z=a=z-80|0,Of(1792,13,e),i[a+79|0]=0,i[a+78|0]=9,k=b[B+4>>2],b[a+68>>2]=b[B>>2],b[a+72>>2]=k,k=a+78|0,b[a+64>>2]=k,MA(e,7520,a- -64|0),g=b[B+12>>2],b[a+52>>2]=b[B+8>>2],b[a+56>>2]=g,b[a+48>>2]=k,MA(e,7503,a+48|0),b[a+36>>2]=b[B+16>>2],b[a+32>>2]=k,MA(e,7277,a+32|0),!(!b[B+24>>2]|!b[B+16>>2]))for(;n=a+78|0,b[a+16>>2]=n,b[a+20>>2]=l,MA(e,1824,a+16|0),g=b[B+24>>2],z=k=z-48|0,i[k+46|0]=9,i[k+47|0]=0,i[k+45|0]=9,g=u(l,52)+g|0,c=b[g+4>>2],b[k+36>>2]=b[g>>2],b[k+40>>2]=c,c=k+45|0,b[k+32>>2]=c,MA(e,7209,k+32|0),b[k+20>>2]=b[g+24>>2],b[k+16>>2]=c,MA(e,7455,k+16|0),b[k+4>>2]=b[g+32>>2],b[k>>2]=c,MA(e,7428,k),z=k+48|0,b[a>>2]=n,MA(e,1702,a),(l=l+1|0)>>>0<G[B+16>>2];);Of(1710,2,e),z=a+80|0}if(!(2&A)|!b[f+96>>2]||(Of(1931,36,e),a=b[f+112>>2],b[r+160>>2]=b[f+108>>2],b[r+164>>2]=a,MA(e,2425,r+160|0),a=b[f+120>>2],b[r+144>>2]=b[f+116>>2],b[r+148>>2]=a,MA(e,2391,r+144|0),a=b[f+132>>2],b[r+128>>2]=b[f+128>>2],b[r+132>>2]=a,MA(e,2409,r+128|0),Yf(b[f+12>>2],b[b[f+96>>2]+16>>2],e),Of(1710,2,e)),!(!(8&A)|!b[f+96>>2])&&(k=u(b[f+128>>2],b[f+132>>2])))for(a=b[f+180>>2];Yf(a,b[b[f+96>>2]+16>>2],e),a=a+5644|0,(0|k)!=(0|(o=o+1|0)););if(16&A){if(f=b[f+224>>2],Of(1893,37,e),A=b[f>>2],a=b[f+4>>2],k=b[f+12>>2],b[r+120>>2]=b[f+8>>2],b[r+124>>2]=k,b[r+112>>2]=A,b[r+116>>2]=a,MA(e,5730,r+112|0),Of(1875,17,e),!(!b[f+28>>2]|!b[f+24>>2]))for(a=0;A=b[f+28>>2]+u(a,24)|0,k=s[A>>1],o=b[A+8>>2],B=b[A+12>>2],b[r+96>>2]=b[A+16>>2],b[r+88>>2]=o,b[r+92>>2]=B,b[r+80>>2]=k,MA(e,7397,r+80|0),(a=a+1|0)>>>0<G[f+24>>2];);Of(1708,4,e);f:if((k=b[f+40>>2])&&(B=b[f+36>>2])){for(o=0,a=0;;){if(A=k+u(a,40)|0,(l=b[A+4>>2])&&(A=b[A+16>>2])&&(g=b[A>>2],!((g=(0|(c=b[A+4>>2]))<0?1:!g&(0|c)<=0)|b[A+8>>2]|b[A+12>>2])&&Rf(1439)))break f;if(o=o+l|0,(0|B)==(0|(a=a+1|0)))break}if(o){if(Of(1858,16,e),b[f+36>>2])for(o=b[f+40>>2],B=0;;){if(A=u(B,40),l=b[4+(A+o|0)>>2],b[r+68>>2]=l,b[r+64>>2]=B,MA(e,7467,r- -64|0),o=b[f+40>>2],l&&(a=0,b[16+(A+o|0)>>2])){for(;k=b[16+(A+b[f+40>>2]|0)>>2]+u(a,24)|0,o=b[k>>2],g=b[k+4>>2],c=b[k+8>>2],n=b[k+12>>2],I=b[k+20>>2],b[r+56>>2]=b[k+16>>2],b[r+60>>2]=I,b[r+48>>2]=c,b[r+52>>2]=n,b[r+40>>2]=o,b[r+44>>2]=g,b[r+32>>2]=a,MA(e,10938,r+32|0),(0|l)!=(0|(a=a+1|0)););o=b[f+40>>2]}if(b[(k=A+o|0)+24>>2]&&(a=0,b[k+20>>2]))for(;k=b[24+(A+o|0)>>2]+u(a,24)|0,o=s[k>>1],l=b[k+8>>2],g=b[k+12>>2],b[r+16>>2]=b[k+16>>2],b[r+8>>2]=l,b[r+12>>2]=g,b[r>>2]=o,MA(e,7397,r),a=a+1|0,o=b[f+40>>2],a>>>0<G[20+(A+o|0)>>2];);if(!((B=B+1|0)>>>0<G[f+36>>2]))break}Of(1708,4,e)}}Of(1710,2,e)}}z=r+176|0}function bf(f,A,e,i){var r=0,a=0,k=0,B=0,o=0,g=0,l=0,c=0,n=0,I=0,s=0,G=0,t=0,C=0,Z=0,Q=0,W=0,w=0,V=0,H=0,Y=0;r=(a=b[f+8>>2])+b[f+4>>2]|0;f:if(b[f+12>>2]){A:switch(r-1|0){case 0:if((0|i)<=0)break f;if(f=3&i,i>>>0>=4){for(i&=2147483644,e=0;b[A>>2]=b[A>>2]/2,b[A+4>>2]=b[A+4>>2]/2,b[A+8>>2]=b[A+8>>2]/2,b[A+12>>2]=b[A+12>>2]/2,A=A+16|0,(0|i)!=(0|(e=e+4|0)););if(!f)break f}for(e=0;b[A>>2]=b[A>>2]/2,A=A+4|0,(0|f)!=(0|(e=e+1|0)););break f;case 1:if((0|i)<=0)break f;for(f=b[f>>2],r=0,a=u(e,a)<<2;o=A+a|0,g=b[A>>2]-(b[o>>2]+1>>1)|0,b[f+4>>2]=g,o=g+b[o>>2]|0,b[f>>2]=o,b[A>>2]=o,b[(e<<2)+A>>2]=b[f+4>>2],A=A+4|0,(0|(r=r+1|0))!=(0|i););break f;default:break A}if(!((0|r)<3|(0|i)<=0))for(t=2147483644&r,n=3&r,C=((k=b[f>>2])+(r<<2)|0)-4|0,Z=k+((f=r-2|0)<<2)|0,Q=1+((r-(o=!(s=1&r))|0)-4>>>1|0)|0,W=u(e,a)<<2,w=f-o>>>0<2,V=u((r>>>1|0)-1|0,e)<<2,H=r-1>>>0<3;;){if(a=b[(c=A+W|0)+(e<<2)>>2],f=b[c>>2],r=b[A>>2]-(2+(a+f|0)>>2)|0,b[k>>2]=r+f,B=1,f=1,!w)for(;G=b[(u(f,e)<<2)+A>>2],o=b[c+(u(g=f+1|0,e)<<2)>>2],b[(Y=k+(B<<2)|0)>>2]=r,l=r,r=G-(2+(a+o|0)>>2)|0,b[Y+4>>2]=(l+r>>1)+a,B=B+2|0,l=(0|f)!=(0|Q),f=g,a=o,l;);b[k+(B<<2)>>2]=r,s?f=r+a|0:(f=b[A+V>>2]-(a+1>>1)|0,b[Z>>2]=(r+f>>1)+a),b[C>>2]=f,a=0,f=0,B=0,r=0;A:{if(!H){for(;b[(u(f,e)<<2)+A>>2]=b[k+(f<<2)>>2],b[(u(r=1|f,e)<<2)+A>>2]=b[k+(r<<2)>>2],b[(u(r=2|f,e)<<2)+A>>2]=b[k+(r<<2)>>2],b[(u(r=3|f,e)<<2)+A>>2]=b[k+(r<<2)>>2],f=f+4|0,(0|t)!=(0|(B=B+4|0)););if(r=f,!n)break A}for(;b[(u(e,r)<<2)+A>>2]=b[k+(r<<2)>>2],r=r+1|0,(0|n)!=(0|(a=a+1|0)););}if(A=A+4|0,(0|(I=I+1|0))==(0|i))break}}else{if((0|r)<2|(0|i)<=0)break f;for(t=2147483644&r,n=3&r,C=1&r,Z=a+1|0,s=(k=b[f>>2])+(r<<2)|0,Q=r-4>>>1|0,W=k+((f=r-1|0)<<2)|0,w=u(e,a)<<2,c=r>>>0<4,V=u(f>>>1|0,e)<<2;;){if(a=b[A+w>>2],r=b[A>>2]-(a+1>>1)|0,B=0,f=0,!c)for(;H=b[(u(g=f+1|0,e)<<2)+A>>2],o=b[(u(f+Z|0,e)<<2)+A>>2],b[(G=k+(B<<2)|0)>>2]=r,l=r,r=H-(2+(a+o|0)>>2)|0,b[G+4>>2]=(l+r>>1)+a,B=B+2|0,l=(0|f)!=(0|Q),a=o,f=g,l;);b[k+(B<<2)>>2]=r,C?(f=b[A+V>>2]-(a+1>>1)|0,b[W>>2]=f,r=f+r>>1,f=-8):f=-4,b[f+s>>2]=r+a,a=0,f=0,B=0,r=0;A:{if(!c){for(;b[(u(f,e)<<2)+A>>2]=b[k+(f<<2)>>2],b[(u(r=1|f,e)<<2)+A>>2]=b[k+(r<<2)>>2],b[(u(r=2|f,e)<<2)+A>>2]=b[k+(r<<2)>>2],b[(u(r=3|f,e)<<2)+A>>2]=b[k+(r<<2)>>2],f=f+4|0,(0|t)!=(0|(B=B+4|0)););if(r=f,!n)break A}for(;b[(u(e,r)<<2)+A>>2]=b[k+(r<<2)>>2],r=r+1|0,(0|n)!=(0|(a=a+1|0)););}if(A=A+4|0,(0|(I=I+1|0))==(0|i))break}}}function kf(f,A,e,i,r,a,B){var o=0,g=0,l=0,c=0,n=0,I=0,s=0,G=0,t=0;if(s=u(r,3),!(2097168&(o=b[A>>2]>>>s|0))&&(o&=495)){if(n=(G=f+28|0)+(k[o+b[f+108>>2]|0]<<2)|0,b[f+104>>2]=n,c=b[n>>2],g=b[c>>2],o=b[f+4>>2]-g|0,b[f+4>>2]=o,(l=b[f>>2])>>>16>>>0<g>>>0){for(I=b[c+4>>2],b[f+4>>2]=g,o=o>>>0<g>>>0,b[n>>2]=b[c+(o?8:12)>>2],c=o?I:!I,o=b[f+8>>2];;){f:if(!o)if(I=(o=b[f+16>>2])+1|0,n=k[o+1|0],255!=k[0|o])b[f+16>>2]=I,o=8,l=(n<<8)+l|0;else{if(n>>>0>=144){b[f+12>>2]=b[f+12>>2]+1,l=l+65280|0,o=8;break f}b[f+16>>2]=I,l=(n<<9)+l|0,o=7}if(o=o-1|0,b[f+8>>2]=o,l<<=1,b[f>>2]=l,g<<=1,b[f+4>>2]=g,!(g>>>0<32768))break}o=g}else if(l=l-(g<<16)|0,b[f>>2]=l,32768&o)c=b[c+4>>2];else for(I=b[c+4>>2],g=o>>>0<g>>>0,b[n>>2]=b[c+(g?12:8)>>2],c=g?!I:I,g=b[f+8>>2];;){f:if(!g)if(I=(g=b[f+16>>2])+1|0,n=k[g+1|0],255!=k[0|g])b[f+16>>2]=I,g=8,l=(n<<8)+l|0;else{if(n>>>0>=144){b[f+12>>2]=b[f+12>>2]+1,l=l+65280|0,g=8;break f}b[f+16>>2]=I,l=(n<<9)+l|0,g=7}if(g=g-1|0,b[f+8>>2]=g,l<<=1,b[f>>2]=l,o<<=1,b[f+4>>2]=o,!(o>>>0<32768))break}if(c){if(t=A-4|0,g=b[A>>2],c=b[A+4>>2]>>>s+17&4|b[t>>2]>>>s+19&1|g>>>s+16&64|g>>>s&170|g>>>(r?s+12|0:14)&16,I=G+(k[c+24384|0]<<2)|0,b[f+104>>2]=I,n=b[I>>2],o=o-(g=b[n>>2])|0,b[f+4>>2]=o,G=k[c+24640|0],l>>>16>>>0<g>>>0)for(c=b[n+4>>2],b[f+4>>2]=g,o=o>>>0<g>>>0,b[I>>2]=b[n+(o?8:12)>>2],n=o?c:!c,o=b[f+8>>2];;){f:if(!o)if(I=(o=b[f+16>>2])+1|0,c=k[o+1|0],255!=k[0|o])b[f+16>>2]=I,o=8,l=(c<<8)+l|0;else{if(c>>>0>=144){b[f+12>>2]=b[f+12>>2]+1,l=l+65280|0,o=8;break f}b[f+16>>2]=I,l=(c<<9)+l|0,o=7}if(o=o-1|0,b[f+8>>2]=o,l<<=1,b[f>>2]=l,g<<=1,b[f+4>>2]=g,!(g>>>0<32768))break}else if(c=l-(g<<16)|0,b[f>>2]=c,32768&o)n=b[n+4>>2];else for(l=b[n+4>>2],g=o>>>0<g>>>0,b[I>>2]=b[n+(g?12:8)>>2],n=g?!l:l,l=b[f+8>>2];;){f:if(!l)if(I=(l=b[f+16>>2])+1|0,g=k[l+1|0],255!=k[0|l])b[f+16>>2]=I,l=8,c=(g<<8)+c|0;else{if(g>>>0>=144){b[f+12>>2]=b[f+12>>2]+1,c=c+65280|0,l=8;break f}b[f+16>>2]=I,c=(g<<9)+c|0,l=7}if(l=l-1|0,b[f+8>>2]=l,c<<=1,b[f>>2]=c,o<<=1,b[f+4>>2]=o,!(o>>>0<32768))break}b[e>>2]=(0|n)==(0|G)?i:0-i|0,b[t>>2]=b[t>>2]|32<<s,e=n^G,b[A>>2]=b[A>>2]|(e<<19|16)<<s,b[A+4>>2]=b[A+4>>2]|8<<s,r|B||(b[(f=A-(a<<2)|0)+4>>2]=32768|b[f+4>>2],b[f>>2]=b[f>>2]|e<<31|65536,b[(f=f-4|0)>>2]=131072|b[f>>2]),3==(0|r)&&(b[(f=(a<<2)+A|0)+4>>2]=1|b[f+4>>2],b[f>>2]=b[f>>2]|e<<18|2,b[(f=f-4|0)>>2]=4|b[f>>2])}b[A>>2]=b[A>>2]|2097152<<s}}function Bf(f,A,e,i,r,a){var B=0,o=0,g=0,l=0,c=0,n=0,I=0,s=0,G=0;if(I=u(r,3),!(2097168&(B=b[A>>2]>>>I|0))){if(c=(s=f+28|0)+(k[b[f+108>>2]+(495&B)|0]<<2)|0,b[f+104>>2]=c,l=b[c>>2],o=b[l>>2],B=b[f+4>>2]-o|0,b[f+4>>2]=B,(g=b[f>>2])>>>16>>>0<o>>>0){for(n=b[l+4>>2],b[f+4>>2]=o,B=B>>>0<o>>>0,b[c>>2]=b[l+(B?8:12)>>2],l=B?n:!n,B=b[f+8>>2];;){f:if(!B)if(n=(B=b[f+16>>2])+1|0,c=k[B+1|0],255!=k[0|B])b[f+16>>2]=n,B=8,g=(c<<8)+g|0;else{if(c>>>0>=144){b[f+12>>2]=b[f+12>>2]+1,g=g+65280|0,B=8;break f}b[f+16>>2]=n,g=(c<<9)+g|0,B=7}if(B=B-1|0,b[f+8>>2]=B,g<<=1,b[f>>2]=g,o<<=1,b[f+4>>2]=o,!(o>>>0<32768))break}B=o}else if(g=g-(o<<16)|0,b[f>>2]=g,32768&B)l=b[l+4>>2];else for(n=b[l+4>>2],o=B>>>0<o>>>0,b[c>>2]=b[l+(o?12:8)>>2],l=o?!n:n,o=b[f+8>>2];;){f:if(!o)if(n=(o=b[f+16>>2])+1|0,c=k[o+1|0],255!=k[0|o])b[f+16>>2]=n,o=8,g=(c<<8)+g|0;else{if(c>>>0>=144){b[f+12>>2]=b[f+12>>2]+1,g=g+65280|0,o=8;break f}b[f+16>>2]=n,g=(c<<9)+g|0,o=7}if(o=o-1|0,b[f+8>>2]=o,g<<=1,b[f>>2]=g,B<<=1,b[f+4>>2]=B,!(B>>>0<32768))break}if(l){if(l=s,s=A-4|0,o=b[A>>2],G=b[A+4>>2]>>>I+17&4|b[s>>2]>>>I+19&1|o>>>I+16&64|o>>>I&170|o>>>(r?I+12|0:14)&16,n=l+(k[G+24384|0]<<2)|0,b[f+104>>2]=n,c=b[n>>2],B=B-(o=b[c>>2])|0,b[f+4>>2]=B,g>>>16>>>0<o>>>0)for(l=b[c+4>>2],b[f+4>>2]=o,B=B>>>0<o>>>0,b[n>>2]=b[c+(B?8:12)>>2],c=B?l:!l,B=b[f+8>>2];;){f:if(!B)if(n=(B=b[f+16>>2])+1|0,l=k[B+1|0],255!=k[0|B])b[f+16>>2]=n,B=8,g=(l<<8)+g|0;else{if(l>>>0>=144){b[f+12>>2]=b[f+12>>2]+1,g=g+65280|0,B=8;break f}b[f+16>>2]=n,g=(l<<9)+g|0,B=7}if(B=B-1|0,b[f+8>>2]=B,g<<=1,b[f>>2]=g,o<<=1,b[f+4>>2]=o,!(o>>>0<32768))break}else if(l=g-(o<<16)|0,b[f>>2]=l,32768&B)c=b[c+4>>2];else for(g=b[c+4>>2],o=B>>>0<o>>>0,b[n>>2]=b[c+(o?12:8)>>2],c=o?!g:g,g=b[f+8>>2];;){f:if(!g)if(n=(g=b[f+16>>2])+1|0,o=k[g+1|0],255!=k[0|g])b[f+16>>2]=n,g=8,l=(o<<8)+l|0;else{if(o>>>0>=144){b[f+12>>2]=b[f+12>>2]+1,l=l+65280|0,g=8;break f}b[f+16>>2]=n,l=(o<<9)+l|0,g=7}if(g=g-1|0,b[f+8>>2]=g,l<<=1,b[f>>2]=l,B<<=1,b[f+4>>2]=B,!(B>>>0<32768))break}B=e,e=k[G+24640|0],b[B>>2]=(0|e)==(0|c)?i:0-i|0,b[s>>2]=b[s>>2]|32<<I,i=e^c,b[A>>2]=b[A>>2]|(i<<19|16)<<I,b[A+4>>2]=b[A+4>>2]|8<<I,r|a||(e=(-2-b[f+124>>2]<<2)+A|0,b[e+4>>2]=32768|b[e+4>>2],b[e>>2]=b[e>>2]|i<<31|65536,b[(e=e-4|0)>>2]=131072|b[e>>2]),3==(0|r)&&(f=(b[f+124>>2]<<2)+A|0,b[f+4>>2]=4|b[f+4>>2],b[f+12>>2]=1|b[f+12>>2],b[f+8>>2]=b[f+8>>2]|i<<18|2)}}}function of(f,A){var e,i=0,r=0,a=0,k=0,B=0,o=0,g=0,l=0,I=0,s=0,t=0,C=0,Z=0,Q=0,W=0,w=0,V=0,H=0,Y=0;if(e=b[f+24>>2],!b[e+16>>2])return 1;for(W=b[e+24>>2],Z=b[b[b[f+20>>2]>>2]+20>>2];;){r=b[W+36>>2],b[A+36>>2]=r,i=(k=b[Z+28>>2])+u(r,152)|0,(V=b[f+64>>2])?(r=k+u(b[Z+24>>2],152)|0,Q=b[r-144>>2]-b[r-152>>2]|0,k=i+12|0,a=i+4|0,r=b[i+8>>2],B=b[i>>2],i=36):(k=i+148|0,a=i+140|0,Q=(r=b[i+144>>2])-(B=b[i+136>>2])|0,i=52);f:{A:if(H=b[i+Z>>2]){I=b[a>>2],s=b[k>>2],k=r-B|0,i=31&(a=b[A+40>>2]),(63&a)>>>0>=32?(i=-1<<i,o=0):i=(o=-1<<i)|(1<<i)-1&-1>>>32-i,i=g=-1^i,l=(o=(t=-1^o)+(l=b[A+20>>2])|0)>>>0<l>>>0?i+1|0:i,i=31&a,o=(63&a)>>>0>=32?l>>>i|0:((1<<i)-1&l)<<32-i|o>>>i,t=(i=b[A+16>>2])>>>0>(l=i+t|0)>>>0?g+1|0:g,g=31&a,a=(i=b[A+8>>2])+(g=(63&a)>>>0>=32?t>>>g|0:((1<<g)-1&t)<<32-g|l>>>g)|0;e:if(B>>>0>g>>>0){if(t=B-g|0,g=0,a>>>0>=r>>>0){l=0,r=k;break e}l=k-(r=a-B|0)|0}else g=g-B|0,a>>>0>=r>>>0?(r=k-g|0,t=0,l=0):(l=r-a|0,t=0,r=i);k=s-I|0,B=(a=b[A+12>>2])+o|0;e:if(o>>>0<I>>>0){if(w=I-o|0,o=0,C=0,B>>>0>=s>>>0)break e;C=(C=k)-(k=B-I|0)|0}else o=o-I|0,B>>>0>=s>>>0?(k=k-o|0,w=0,C=0):(w=0,k=a,C=s-B|0);if(B=0,(o|g|l|(I=C)|r|k)<0)break f;e:{i:{if(!((I=u(o,Q)+g|0)|(s=b[A+44>>2])|(o=u(i,w)+t|0)|(0|i)!=(0|Q)|(0|i)!=(0|r))){if((0|a)!=(0|k))break i;r=(V?36:52)+Z|0,b[A+44>>2]=b[r>>2],b[r>>2]=0;break A}if(s)break e}if(tA(a,0,i),T|!a)break f;if((i=u(i,a))>>>0>1073741823)break f;if(i=se(i<<2),b[A+44>>2]=i,!i)break f;(0|(a=b[A+8>>2]))==(0|r)&(0|(B=b[A+12>>2]))==(0|k)||(a=u(a,B)<<2)&&c(i,0,a)}if(k){if(r<<=2,B=b[A+44>>2]+(o<<2)|0,i=(I<<2)+H|0,1!=(0|k)){for(I=1&k,s=2147483646&k,k=0;(o=!r)||n(B,i,r),i=(g=Q<<2)+i|0,a=(b[A+8>>2]<<2)+B|0,o||n(a,i,r),i=i+g|0,B=a+(b[A+8>>2]<<2)|0,(0|s)!=(0|(k=k+2|0)););if(!I)break A}r&&n(B,i,r)}}if(Z=Z+76|0,W=W+52|0,A=A+52|0,B=1,(Y=Y+1|0)>>>0<G[e+16>>2])continue}break}return B}function gf(f){var A=0,e=0,i=0,r=0,a=0,B=0;if(f|=0){if(b[f>>2]?((A=b[f+12>>2])&&(Uf(A),hf(b[f+12>>2]),b[f+12>>2]=0),(A=b[f+16>>2])&&(hf(A),b[f+16>>2]=0,b[f+20>>2]=0),hf(b[f+64>>2]),b[f+60>>2]=0,b[f+64>>2]=0,hf(b[f+72>>2]),b[f+72>>2]=0,hf(b[f+88>>2]),b[f+88>>2]=0):((A=b[f+44>>2])&&(hf(A),b[f+44>>2]=0),(A=b[f+32>>2])&&(hf(A),b[f+32>>2]=0,b[f+36>>2]=0),(A=b[f+52>>2])&&(hf(A),b[f+52>>2]=0,b[f+56>>2]=0)),wf(b[f+232>>2]),A=b[f+180>>2]){if(r=u(b[f+128>>2],b[f+132>>2])){for(;Uf(A),A=A+5644|0,(0|r)!=(0|(e=e+1|0)););A=b[f+180>>2]}hf(A),b[f+180>>2]=0}if(A=b[f+140>>2]){if(e=b[f+136>>2]){for(A=0;(r=b[b[f+140>>2]+(A<<3)>>2])&&(hf(r),e=b[f+136>>2]),e>>>0>(A=A+1|0)>>>0;);A=b[f+140>>2]}b[f+136>>2]=0,hf(A),b[f+140>>2]=0}if(hf(b[f+160>>2]),b[f+144>>2]=0,b[f+160>>2]=0,hf(b[f+124>>2]),b[f+124>>2]=0,2&k[f+212|0]||hf(b[f+192>>2]),c(f+104|0,0,112),jA(b[f+216>>2]),b[f+216>>2]=0,jA(b[f+220>>2]),b[f+216>>2]=0,i=b[f+224>>2]){if((A=b[i+28>>2])&&(hf(A),b[i+28>>2]=0),e=b[i+40>>2]){if(b[i+36>>2])for(;r=u(B,40),(A=b[36+(r+e|0)>>2])&&(hf(A),e=b[i+40>>2],b[36+(r+e|0)>>2]=0),(A=b[16+(e+r|0)>>2])&&(hf(A),e=b[i+40>>2],b[16+(r+e|0)>>2]=0),(A=b[24+(e+r|0)>>2])&&(hf(A),e=b[i+40>>2],b[24+(r+e|0)>>2]=0),(B=B+1|0)>>>0<G[i+36>>2];);hf(e),b[i+40>>2]=0}hf(i)}if(b[f+224>>2]=0,lA(b[f+96>>2]),b[f+96>>2]=0,lA(b[f+100>>2]),b[f+100>>2]=0,a=b[f+236>>2]){if(b[a+8>>2]){if(b[a+12>>2])for(b[a+40>>2]=0;b[a+24>>2]>0;);if(b[a+16>>2]=1,hf(b[a>>2]),e=b[a+28>>2])for(;A=b[e+4>>2],hf(e),b[a+28>>2]=A,e=A,A;);}if(i=b[a+36>>2]){if((0|(B=b[i+4>>2]))>0)for(A=0;r=b[i>>2]+u(A,12)|0,(e=b[r+8>>2])&&(Qe[0|e](b[r+4>>2]),B=b[i+4>>2]),(0|B)>(0|(A=A+1|0)););hf(b[i>>2]),hf(i)}hf(a)}b[f+236>>2]=0,hf(f)}}function lf(f,A,e,i){var r,a=0,k=0,B=0,o=0,g=0,l=0,n=0,I=0,s=0,t=0;z=r=z-256|0;f:if(f){if(!(b[f>>2]==(0|A)&b[f+4>>2]==(0|e))){for(b[f+4>>2]=e,b[f>>2]=A,b[r>>2]=e,b[r+128>>2]=A,a=e,B=A;t=o,n=(a+1|0)/2|0,b[(l=(o=o+1|0)<<2)+r>>2]=n,s=l+(r+128|0)|0,l=(B+1|0)/2|0,b[s>>2]=l,k=(g=u(a,B))+k|0,a=n,B=l,g>>>0>1;);b[f+8>>2]=k;A:{e:{i:if(k){if((k<<=4)>>>0<=G[f+16>>2])break A;if(A=Cf(b[f+12>>2],k))break e;xf(i,1,6451,0),(A=b[f+12>>2])&&(hf(A),b[f+12>>2]=0)}else{if(!(A=b[f+12>>2]))break i;hf(A),b[f+12>>2]=0}hf(f),f=0;break f}b[f+12>>2]=A,(i=k-(e=b[f+16>>2])|0)&&c(A+e|0,0,i),b[f+16>>2]=k,e=b[f+4>>2],A=b[f>>2]}if(B=b[f+12>>2],t)for(n=0,k=a=(u(A,e)<<4)+B|0;;){A:if(!((0|(o=b[(A=n<<2)+r>>2]))<=0)){l=o-1|0,i=0;e:{i:{if((0|(A=b[A+(r+128|0)>>2]))<=0){if(g=3&o,o>>>0>=4)break i;o=0;break e}for(;;){for(e=k,k=A;;){if(b[B>>2]=a,1!=(0|k)){if(b[B+16>>2]=a,a=a+16|0,B=B+32|0,g=(0|k)>2,k=k-2|0,g)continue}else B=B+16|0,a=a+16|0;break}if(k=(g=1&((0|i)==(0|l)|i))?a:e+(A<<4)|0,a=g?a:e,(0|o)==(0|(i=i+1|0)))break}break A}for(I=2147483644&o,o=0,e=0;s=(0|o)==(0|l),o=o+4|0,k=a=s?a:k,(0|I)!=(0|(e=e+4|0)););if(!g)break A}for(;e=k,k=(I=1&((0|o)==(0|l)|o))?a:e+(A<<4)|0,a=I?a:e,o=o+1|0,(0|g)!=(0|(i=i+1|0)););}if((0|t)==(0|(n=n+1|0)))break}b[B>>2]=0}if(A=b[f+8>>2]){if(e=3&A,a=b[f+12>>2],A>>>0>=4){for(A&=-4,B=0;b[a+60>>2]=0,b[a+52>>2]=999,b[a+56>>2]=0,b[a+44>>2]=0,b[a+36>>2]=999,b[a+40>>2]=0,b[a+28>>2]=0,b[a+20>>2]=999,b[a+24>>2]=0,b[a+12>>2]=0,b[a+4>>2]=999,b[a+8>>2]=0,a=a- -64|0,(0|A)!=(0|(B=B+4|0)););if(!e)break f}for(B=0;b[a+12>>2]=0,b[a+4>>2]=999,b[a+8>>2]=0,a=a+16|0,(0|e)!=(0|(B=B+1|0)););}}else f=0;return z=r+256|0,f}function cf(f,A,e,i,r,a,k,B){var o,g=0,l=0,c=0,n=0,I=0,s=0,G=0,t=0,C=0,Z=0,Q=0;return I=b[b[f+24>>2]+24>>2]+u(A,52)|0,l=(c=(n=b[I+4>>2])-1|0)+(G=b[f+60>>2])|0,g=t=0-!n|0,o=b[b[b[f+20>>2]>>2]+20>>2]+u(A,76)|0,s=b[o+12>>2],C=(g=be(l,l>>>0<G>>>0?g+1|0:g,n,0))>>>0>s>>>0?s:g,s=(I=(l=b[I>>2])-1|0)+(Z=b[f+56>>2])|0,g=G=0-!l|0,Q=b[o+8>>2],s=(g=be(s,s>>>0<Z>>>0?g+1|0:g,l,0))>>>0>Q>>>0?Q:g,g=t,Q=b[o+4>>2],c=(g=be(c=(Z=b[f+52>>2])+c|0,c>>>0<Z>>>0?g+1|0:g,n,0))>>>0<Q>>>0?Q:g,g=G,t=b[o>>2],g=(g=be(n=(n=I)+(I=b[f+48>>2])|0,n>>>0<I>>>0?g+1|0:g,l,0))>>>0<t>>>0?t:g,n=0,t=b[20+(b[b[f+32>>2]+5584>>2]+u(A,1080)|0)>>2],(e=b[o+20>>2]+(e?0-e|0:-1)|0)?((l=(1&i)<<(I=e-1|0))>>>0<g>>>0&&(f=31&e,n=g-l|0,(63&e)>>>0>=32?(g=-1<<f,f=0):g=(A=(1<<f)-1&-1>>>32-f)|(f=-1<<f),g^=-1,g=(f=n+(A=-1^f)|0)>>>0<A>>>0?g+1|0:g,A=f,f=31&e,n=(63&e)>>>0>=32?g>>>f|0:((1<<f)-1&g)<<32-f|A>>>f),f=0,A=0,(i=i>>>1<<I)>>>0<c>>>0&&(A=31&e,(63&e)>>>0>=32?(g=-1<<A,A=0):(g=(1<<A)-1&-1>>>32-A,g|=A=-1<<A),g^=-1,g=(A=(G=c-i|0)+(c=-1^A)|0)>>>0<c>>>0?g+1|0:g,c=A,A=31&e,A=(63&e)>>>0>=32?g>>>A|0:((1<<A)-1&g)<<32-A|c>>>A),l>>>0<s>>>0&&(f=31&e,(63&e)>>>0>=32?(g=-1<<f,f=0):(g=(1<<f)-1&-1>>>32-f,g|=f=-1<<f),g^=-1,g=(f=(c=s-l|0)+(l=-1^f)|0)>>>0<l>>>0?g+1|0:g,l=f,f=31&e,f=(63&e)>>>0>=32?g>>>f|0:((1<<f)-1&g)<<32-f|l>>>f),i>>>0>=C>>>0?C=0:(c=C-i|0,i=31&e,(63&e)>>>0>=32?(g=-1<<i,i=0):(g=(1<<i)-1&-1>>>32-i,g|=i=-1<<i),g^=-1,g=(i=c+(l=-1^i)|0)>>>0<l>>>0?g+1|0:g,l=i,i=31&e,C=(63&e)>>>0>=32?g>>>i|0:((1<<i)-1&g)<<32-i|l>>>i)):(f=s,n=g,A=c),i=(f>>>0>(i=(e=1==(0|t)?2:3)+f|0)>>>0?-1:i)>>>0>r>>>0,i&=((f=e+C|0)>>>0<C>>>0?-1:f)>>>0>a>>>0,(i&=((f=n-e|0)>>>0<=n>>>0?f:0)>>>0<k>>>0)&((f=A-e|0)>>>0<=A>>>0?f:0)>>>0<B>>>0}function nf(f){var A=0,e=0,i=0,r=0,a=0,B=0,o=0,g=0,l=0,c=0,n=0,I=0,s=0;if((B=b[f+16>>2])>>>0>=32)return b[f+8>>2];f:if((0|(A=b[f+20>>2]))>=4)i=b[f>>2],e=b[i-3>>2],r=A-4|0,b[f+20>>2]=r,b[f>>2]=i-4;else if((0|A)<=0)r=A;else{if(a=b[f>>2],i=24,1!=(0|A)){for(n=1&A,c=2147483646&A;o=a-1|0,b[f>>2]=o,g=k[0|a],a=a-2|0,b[f>>2]=a,b[f+20>>2]=A-1,o=k[0|o],A=A-2|0,b[f+20>>2]=A,e=g<<i|e|o<<i-8,i=i-16|0,(0|c)!=(0|(l=l+2|0)););if(!n)break f}b[f>>2]=a-1,a=k[0|a],b[f+20>>2]=A-1,e|=a<<i}if(A=b[f+24>>2],c=255&e,b[f+24>>2]=c>>>0>143,n=(g=(o=(A=A?2130706432&~e?8:7:8)+(e>>>0<=2415919103||8323072&~e?8:7)|0)+((a=e>>>16&255)>>>0<=143||32512&~e?8:7)|0)+(B+((i=e>>>8&255)>>>0<=143||127&~e?8:7)|0)|0,b[f+16>>2]=n,l=b[f+12>>2],A=a<<A|e>>>24|i<<o|c<<g,e=31&B,(63&B)>>>0>=32?(i=A<<e,A=0):(i=(1<<e)-1&A>>>32-e,A<<=e),B=A|b[f+8>>2],o=A=i|l,b[f+8>>2]=B,b[f+12>>2]=A,n>>>0<=31){f:if((0|r)>=4)A=b[f>>2],e=b[A-3>>2],b[f+20>>2]=r-4,b[f>>2]=A-4;else if((0|r)<=0)e=0;else{if(A=b[f>>2],1!=(0|r)){for(g=1&r,l=2147483646&r,i=24,e=0,a=0;I=A-1|0,b[f>>2]=I,s=k[0|A],A=A-2|0,b[f>>2]=A,b[f+20>>2]=r-1,I=k[0|I],r=r-2|0,b[f+20>>2]=r,e=s<<i|e|I<<i-8,i=i-16|0,(0|l)!=(0|(a=a+2|0)););if(!g)break f}else i=24,e=0;b[f>>2]=A-1,A=k[0|A],b[f+20>>2]=r-1,e|=A<<i}r=255&e,b[f+24>>2]=r>>>0>143,l=(g=(c=c>>>0<=143||2130706432&~e?8:7)+(e>>>0<=2415919103||8323072&~e?8:7)|0)+((a=e>>>16&255)>>>0<=143||32512&~e?8:7)|0,i=e>>>8&255,b[f+16>>2]=l+(n+(i>>>0<=143||127&~e?8:7)|0),A=f,f=a<<c|e>>>24|i<<g|r<<l,r=31&n,(63&n)>>>0>=32?(e=f<<r,f=0):(e=(1<<r)-1&f>>>32-r,f<<=r),B|=f,b[A+8>>2]=B,b[A+12>>2]=e|o}return B}function If(f){var A=0,e=0,i=0,r=0,a=0,B=0,o=0,g=0,l=0,c=0,n=0,I=0,s=0;if((o=b[f+16>>2])>>>0>=32)return b[f+8>>2];f:if((0|(e=b[f+24>>2]))>=4)A=b[f>>2],i=b[A>>2],r=e-4|0,b[f+24>>2]=r,b[f>>2]=A+4;else if(i=b[f+28>>2]?-1:0,(0|e)<=0)r=e;else{if(A=b[f>>2],1!=(0|e)){for(l=1&e,g=2147483646&e;r=A,b[f>>2]=A+1,c=k[0|A],A=A+2|0,b[f>>2]=A,b[f+24>>2]=e-1,r=k[r+1|0],e=e-2|0,b[f+24>>2]=e,i=(~(255<<a)&i|c<<a)&~(65280<<a)|r<<(8|a),a=a+16|0,(0|g)!=(0|(B=B+2|0)););if(r=0,!l)break f}b[f>>2]=A+1,A=k[0|A],b[f+24>>2]=e-1,i=~(255<<a)&i|A<<a}if(A=b[f+20>>2],g=i>>>24|0,b[f+20>>2]=255==(0|g),l=(o+(255==(0|(e=i>>>16&255))?7:8)|0)+(c=(255==(0|(a=i>>>8&255))?7:8)+(B=(A=A?7:8)+(255==(0|(i&=255))?7:8)|0)|0)|0,b[f+16>>2]=l,n=b[f+12>>2],A=i|a<<A|e<<B|g<<c,e=31&o,(63&o)>>>0>=32?(i=A<<e,A=0):(i=(1<<e)-1&A>>>32-e,A<<=e),o=A|b[f+8>>2],c=A=i|n,b[f+8>>2]=o,b[f+12>>2]=A,l>>>0<=31){f:if((0|r)>=4)A=b[f>>2],i=b[A>>2],b[f+24>>2]=r-4,b[f>>2]=A+4;else if(a=0,i=b[f+28>>2]?-1:0,!((0|r)<=0)){if(A=b[f>>2],1!=(0|r)){for(n=1&r,I=2147483646&r,B=0;e=A,b[f>>2]=A+1,s=k[0|A],A=A+2|0,b[f>>2]=A,b[f+24>>2]=r-1,e=k[e+1|0],r=r-2|0,b[f+24>>2]=r,i=(~(255<<a)&i|s<<a)&~(65280<<a)|e<<(8|a),a=a+16|0,(0|I)!=(0|(B=B+2|0)););if(!n)break f}b[f>>2]=A+1,A=k[0|A],b[f+24>>2]=r-1,i=~(255<<a)&i|A<<a}r=i>>>24|0,b[f+20>>2]=255==(0|r),e=i>>>16&255,n=(255==(0|(a=i>>>8&255))?7:8)+(g=(B=255==(0|g)?7:8)+(255==(0|(i&=255))?7:8)|0)|0,b[f+16>>2]=((255==(0|e)?7:8)+l|0)+n,A=f,f=i|a<<B|e<<g|r<<n,r=31&l,(63&l)>>>0>=32?(e=f<<r,f=0):(e=(1<<r)-1&f>>>32-r,f<<=r),o|=f,b[A+8>>2]=o,b[A+12>>2]=e|c}return o}function sf(f,A,e,r,a){var B,o=0,g=0,l=0,c=0,n=0;z=B=z-32|0,o=16==b[f+8>>2]?b[f+180>>2]+u(b[f+228>>2],5644)|0:b[f+12>>2];f:if(G[r>>2]<=4)f=0,xf(a,1,2607,0);else if(eA(e,(o=b[o+5584>>2]+u(A,1080)|0)+4|0,1),g=b[o+4>>2]+1|0,b[o+4>>2]=g,g>>>0>=34)b[B+4>>2]=33,b[B>>2]=g,xf(a,1,7635,B),f=0;else if((c=b[f+184>>2])>>>0>=g>>>0)b[B+24>>2]=g,b[B+20>>2]=c,b[B+16>>2]=A,xf(a,1,16423,B+16|0),b[f+8>>2]=32768|b[f+8>>2],f=0;else if(eA(e+1|0,o+8|0,1),b[o+8>>2]=b[o+8>>2]+2,eA(e+2|0,o+12|0,1),f=b[o+12>>2]+2|0,b[o+12>>2]=f,!((A=b[o+8>>2])>>>0>10|f>>>0>10)&f+A>>>0<13)if(eA(e+3|0,o+16|0,1),128&k[o+16|0])f=0,xf(a,1,6564,0);else if(eA(e+4|0,o+20|0,1),G[o+20>>2]>=2)f=0,xf(a,1,6499,0);else if(A=b[r>>2]-5|0,b[r>>2]=A,f=1,g=b[o+4>>2],1&i[0|o])if(A>>>0>=g>>>0){if(g){if(eA(e+5|0,B+28|0,1),f=b[B+28>>2],b[o+944>>2]=f>>>4,b[o+812>>2]=15&f,(g=b[o+4>>2])>>>0>=2)for(c=o+944|0,n=o+812|0,f=e+6|0,e=1;;){if(eA(f,B+28|0,1),!((A=b[B+28>>2])>>>0>=16&&(g=15&A))){f=0,xf(a,1,6025,0);break f}if(b[(l=e<<2)+n>>2]=g,b[c+l>>2]=A>>>4,f=f+1|0,!((e=e+1|0)>>>0<(g=b[o+4>>2])>>>0))break}A=b[r>>2]}else g=0;b[r>>2]=A-g,f=1}else f=0,xf(a,1,2607,0);else{if(!g)break f;if(c=3&g,r=o+944|0,a=o+812|0,A=0,e=0,g>>>0>=4){for(n=-4&g,g=0;b[(o=e<<2)+a>>2]=15,b[r+o>>2]=15,b[(l=4|o)+a>>2]=15,b[r+l>>2]=15,b[(l=8|o)+a>>2]=15,b[r+l>>2]=15,b[(o|=12)+a>>2]=15,b[r+o>>2]=15,e=e+4|0,(0|n)!=(0|(g=g+4|0)););if(!c)break f}for(;b[(f=e<<2)+a>>2]=15,b[f+r>>2]=15,f=1,e=e+1|0,(0|c)!=(0|(A=A+1|0)););}else f=0,xf(a,1,5468,0);return z=B+32|0,f}function Gf(f,A,e){var i,r=0,a=0,k=0,B=0,o=0,g=0,l=0,c=0,n=0,I=0,s=0,G=0,t=0;if(z=i=z-256|0,B=DA(1,20)){for(b[B+4>>2]=A,b[B>>2]=f,b[i>>2]=A,b[i+128>>2]=f;G=o,r=(A+1|0)/2|0,b[(a=(o=o+1|0)<<2)+i>>2]=r,g=a+(i+128|0)|0,a=(f+1|0)/2|0,b[g>>2]=a,k=(g=u(f,A))+k|0,A=r,f=a,g>>>0>1;);if(b[B+8>>2]=k,k)if(r=DA(k,16),b[B+12>>2]=r,r){if(c=b[B+8>>2],b[B+16>>2]=c<<4,f=r,G)for(A=k=(u(b[B+4>>2],b[B>>2])<<4)+r|0;;){f:if(!((0|(a=b[(e=I<<2)+i>>2]))<=0)){s=a-1|0,g=0;A:{e:{if((0|(e=b[e+(i+128|0)>>2]))<=0){if(l=3&a,a>>>0>=4)break e;o=0;break A}for(;;){for(o=k,k=e;;){if(b[f>>2]=A,1!=(0|k)){if(b[f+16>>2]=A,A=A+16|0,f=f+32|0,l=(0|k)>2,k=k-2|0,l)continue}else f=f+16|0,A=A+16|0;break}if(k=(l=1&((0|g)==(0|s)|g))?A:o+(e<<4)|0,A=l?A:o,(0|a)==(0|(g=g+1|0)))break}break f}for(n=2147483644&a,o=0,a=0;t=(0|o)==(0|s),o=o+4|0,A=k=t?A:k,(0|n)!=(0|(a=a+4|0)););if(!l)break f}for(;a=k,k=(n=1&((0|o)==(0|s)|o))?A:a+(e<<4)|0,A=n?A:a,o=o+1|0,(0|l)!=(0|(g=g+1|0)););}if((0|(I=I+1|0))==(0|G))break}b[f>>2]=0;f:if(c){if(f=3&c,c>>>0>=4){for(e=-4&c,A=0;b[r+60>>2]=0,b[r+52>>2]=999,b[r+56>>2]=0,b[r+44>>2]=0,b[r+36>>2]=999,b[r+40>>2]=0,b[r+28>>2]=0,b[r+20>>2]=999,b[r+24>>2]=0,b[r+12>>2]=0,b[r+4>>2]=999,b[r+8>>2]=0,r=r- -64|0,(0|e)!=(0|(A=A+4|0)););if(!f)break f}for(A=0;b[r+12>>2]=0,b[r+4>>2]=999,b[r+8>>2]=0,r=r+16|0,(0|f)!=(0|(A=A+1|0)););}}else xf(e,1,3564,0),hf(B),B=0;else hf(B),B=0}else xf(e,1,6413,0),B=0;return z=i+256|0,B}function tf(f,A,e,i){var r,a=0,B=0,o=0,g=0,l=0,c=0,n=0,I=0,s=0,G=0;if(b[f+8>>2]=0,b[f+12>>2]=0,b[f>>2]=A,b[f+16>>2]=0,b[f+20>>2]=0,b[f+28>>2]=i,g=e-1|0,b[f+24>>2]=g,r=3&A,(0|e)<=0?(a=A,A=i):(a=A+1|0,b[f>>2]=a,A=k[0|A]),o=A,l=8,b[f+16>>2]=8,c=255==(0|o),b[f+20>>2]=c,b[f+8>>2]=o,b[f+12>>2]=0,3!=(0|r)&&(n=e-2|0,b[f+24>>2]=n,(0|e)<2?(A=a,a=i):(A=a+1|0,b[f>>2]=A,a=k[0|a]),c=255==(0|a),b[f+20>>2]=c,l=255==(0|o)?15:16,b[f+16>>2]=l,o|=a<<8,b[f+8>>2]=o,b[f+12>>2]=0,2!=(0|r)?(G=e-3|0,b[f+24>>2]=G,(0|e)<3?(B=A,A=i):(B=A+1|0,b[f>>2]=B,A=k[0|A]),c=255==(0|A),b[f+20>>2]=c,I=(255==(0|a)?7:8)+l|0,b[f+16>>2]=I,a=31&l,(63&l)>>>0>=32?(s=A<<a,a=0):(s=(1<<a)-1&A>>>32-a,a=A<<a),o|=a,b[f+8>>2]=o,b[f+12>>2]=s,1!=(0|r)?(g=e-4|0,b[f+24>>2]=g,(0|e)<4?(a=B,e=i):(a=B+1|0,b[f>>2]=a,e=k[0|B]),c=255==(0|e),b[f+20>>2]=c,l=I+(255==(0|A)?7:8)|0,b[f+16>>2]=l,A=31&I,(63&I)>>>0>=32?(B=e<<A,A=0):(B=(1<<A)-1&e>>>32-A,A=e<<A),o|=A,s=A=B|s,b[f+8>>2]=o,b[f+12>>2]=A,e=G):(a=B,l=I,e=n,g=G)):(a=A,e=g,g=n)),(0|e)>=5)i=b[a>>2],b[f+24>>2]=e-5,b[f>>2]=a+4;else if(A=0,i=i?-1:0,!((0|e)<2))for(;e=a+1|0,b[f>>2]=e,a=k[0|a],B=g-1|0,b[f+24>>2]=B,i=~(255<<A)&i|a<<A,A=A+8|0,n=g>>>0>1,a=e,g=B,n;);A=i>>>24|0,b[f+20>>2]=255==(0|A),e=i>>>16&255,n=(255==(0|(a=i>>>8&255))?7:8)+(B=(g=c?7:8)+(255==(0|(i&=255))?7:8)|0)|0,b[f+16>>2]=((255==(0|e)?7:8)+l|0)+n,A=i|a<<g|e<<B|A<<n,e=f,e=f,f=A,A=31&l,(63&l)>>>0>=32?(i=f<<A,f=0):(i=(1<<A)-1&f>>>32-A,f<<=A),b[e+8>>2]=f|o,b[e+12>>2]=i|s}function Cf(f,A){var e=0,i=0,r=0,a=0,k=0,B=0,o=0,g=0;if(!A)return 0;f:if(f)if(A){if(!(A>>>0>4294967239)){i=(B=A>>>0<=8?8:A+3&-4)+8|0,r=b[(a=g=f-4|0)>>2];A:e:{i:{if((0|(e=b[(A=r+a|0)>>2]))!=b[(A+e|0)-4>>2]){if((e=e+r|0)>>>0>=i+16>>>0){r=b[A+4>>2],A=b[A+8>>2],b[r+8>>2]=A,b[A+4>>2]=r,e=e-i|0,b[(A=i+a|0)>>2]=e,b[(A+(-4&e)|0)-4>>2]=1|e,(r=b[A>>2]-8|0)>>>0<=127?k=(r>>>3|0)-1|0:(k=110+((r>>>29-(e=W(r))^4)-(e<<2)|0)|0,r>>>0<=4095||(k=(e=71+((r>>>30-e^2)-(e<<1)|0)|0)>>>0>=63?63:e)),r=(e=k)<<4,b[A+4>>2]=r+26400,r=r+26408|0,b[A+8>>2]=b[r>>2],b[r>>2]=A,b[b[A+8>>2]+4>>2]=A,r=b[6859],A=31&e,(63&e)>>>0>=32?(e=1<<A,k=0):e=(k=1<<A)-1&1>>>32-A,b[6858]=k|b[6858],b[6859]=e|r,b[a>>2]=i,b[(a+(-4&i)|0)-4>>2]=i,e=1;break A}if(e>>>0<i>>>0)break i;i=b[A+4>>2],A=b[A+8>>2],b[i+8>>2]=A,b[A+4>>2]=i,b[a>>2]=e,b[(a+(-4&e)|0)-4>>2]=e,e=1;break A}if(r>>>0>=i+16>>>0){b[a>>2]=i,b[(a+(-4&i)|0)-4>>2]=i,e=r-i|0,b[(A=i+a|0)>>2]=e,b[(A+(-4&e)|0)-4>>2]=1|e,(i=b[A>>2]-8|0)>>>0<=127?e=(i>>>3|0)-1|0:(e=110+((i>>>29-(a=W(i))^4)-(a<<2)|0)|0,i>>>0<=4095||(e=(e=71+((i>>>30-a^2)-(a<<1)|0)|0)>>>0>=63?63:e)),i=e<<4,b[A+4>>2]=i+26400,i=i+26408|0,b[A+8>>2]=b[i>>2],b[i>>2]=A,b[b[A+8>>2]+4>>2]=A,i=b[6859],A=31&e,(63&e)>>>0>=32?(e=1<<A,A=0):(e=(r=1<<A)-1&1>>>32-A,A=r),b[6858]=A|b[6858],b[6859]=e|i,e=1;break A}if(e=1,i>>>0<=r>>>0)break e}e=0}if(e)break f;(A=uf(8,B))&&(ce(A,f,B>>>0<(o=b[g>>2]-8|0)>>>0?B:o),hf(f),o=A)}f=o}else hf(f),f=0;else f=uf(8,A);return f}function uf(f,A){var e,i,r=0,a=0,k=0,B=0,o=0,g=0,l=0,c=0,n=0;i=(e=f>>>0<=8?8:f)+48|0;f:{A:{for(;;){if(f-1&f|A>>>0>4294967239)break A;if(k=r=b[6859],g=b[6858],(A=A>>>0<=8?8:A+3&-4)>>>0<=127?l=(A>>>3|0)-1|0:(l=110+((A>>>29-(a=W(A))^4)-(a<<2)|0)|0,A>>>0<=4095||(l=(a=71+((A>>>30-a^2)-(a<<1)|0)|0)>>>0>=63?63:a)),B=31&(o=l),(63&o)>>>0>=32?(a=0,r=r>>>B|0):(a=r>>>B|0,r=((1<<B)-1&r)<<32-B|g>>>B),r|a){for(;;){if((B=a)|r?(l=(k=B-1|0)+1|0,a=k,k=63-(a=32==(0|(a=W(B^(g=-1!=(0|(k=r-1|0))?l:a))))?W(r^k)+32|0:a)|0,T=0-(a>>>0>63)|0):(T=0,k=64),k=31&(g=k),(63&g)>>>0>=32?(a=0,l=B>>>k|0):(a=B>>>k|0,l=((1<<k)-1&B)<<32-k|r>>>k),(0|(B=b[(r=(o=o+g|0)<<4)+26408>>2]))==(0|(k=r+26400|0)))r=b[6859],c=27432,n=b[6858]&Pf(-2,-1,o),b[c>>2]=n,b[6859]=T&r,r=1^l;else{if(r=Jf(B,e,A))break f;r=b[B+4>>2],g=b[B+8>>2],b[r+8>>2]=g,b[g+4>>2]=r,b[B+8>>2]=k,b[B+4>>2]=b[k+4>>2],b[k+4>>2]=B,b[b[B+4>>2]+8>>2]=B,o=o+1|0,r=(1&a)<<31|l>>>1,a=a>>>1|0}if(!(r|a))break}g=b[6858],k=b[6859]}B=63-(32==(0|(a=W(k)))?W(g)+32|0:a)|0;e:if(k|g){if(o=b[(r=B<<4)+26408>>2],!(!k&g>>>0<1073741824)&&(a=98,(0|(k=r+26400|0))!=(0|o)))for(;;){if(r=Jf(o,e,A))break f;if((0|k)==(0|(o=b[o+8>>2])))break e;if(a=(r=a)-1|0,!r)break}}else o=0;if(a=f>>>0>8,f=e,!Ef((a?i:48)+A|0))break}if(o&&(0|(f=26400+(B<<4)|0))!=(0|o))for(;;){if(r=Jf(o,e,A))break f;if((0|f)==(0|(o=b[o+8>>2])))break}}r=0}return r}function Zf(f,A,e,i){var r=0,a=0,B=0,o=0,g=0,l=0;if((o=b[f+48>>2])>>>0>=e>>>0)return e&&n(A,b[f+36>>2],e),b[f+36>>2]=b[f+36>>2]+e,b[f+48>>2]=b[f+48>>2]-e,A=b[f+60>>2],A=(i=b[f+56>>2]+e|0)>>>0<e>>>0?A+1|0:A,b[f+56>>2]=i,b[f+60>>2]=A,e;if(4&k[f+68|0])return o&&n(A,b[f+36>>2],o),A=b[f+48>>2],b[f+48>>2]=0,b[f+36>>2]=A+b[f+36>>2],B=b[f+60>>2],B=(e=A)>>>0>(A=b[f+56>>2]+A|0)>>>0?B+1|0:B,b[f+56>>2]=A,b[f+60>>2]=B,o||-1;o?(o&&n(A,b[f+36>>2],o),g=b[f+32>>2],b[f+36>>2]=g,r=b[f+48>>2],b[f+48>>2]=0,a=b[f+60>>2],a=(B=b[f+56>>2]+r|0)>>>0<r>>>0?a+1|0:a,b[f+56>>2]=B,b[f+60>>2]=a,e=e-r|0,A=A+r|0):(g=b[f+32>>2],b[f+36>>2]=g);f:{for(;;){A:{r=b[f>>2],a=b[f+16>>2];e:{if((B=b[f+64>>2])>>>0>e>>>0){if(a=0|Qe[0|a](g,B,r),b[f+48>>2]=a,-1==(0|a))break f;if(e>>>0>a>>>0){a&&n(A,b[f+36>>2],a),g=b[f+32>>2],b[f+36>>2]=g,r=b[f+48>>2];break e}return e&&n(A,b[f+36>>2],e),b[f+36>>2]=b[f+36>>2]+e,b[f+48>>2]=b[f+48>>2]-e,A=b[f+60>>2],A=(i=b[f+56>>2]+e|0)>>>0<e>>>0?A+1|0:A,b[f+56>>2]=i,b[f+60>>2]=A,e+o|0}if(r=0|Qe[0|a](A,e,r),b[f+48>>2]=r,-1==(0|r))break f;if(e>>>0<=r>>>0)break A;g=b[f+32>>2],b[f+36>>2]=g,a=r}b[f+48>>2]=0,B=b[f+60>>2],B=(l=b[f+56>>2]+r|0)>>>0<r>>>0?B+1|0:B,b[f+56>>2]=l,b[f+60>>2]=B,A=A+r|0,e=e-r|0,o=a+o|0;continue}break}return b[f+48>>2]=0,b[f+36>>2]=b[f+32>>2],a=b[f+60>>2],a=(A=b[f+56>>2]+r|0)>>>0<r>>>0?a+1|0:a,b[f+56>>2]=A,b[f+60>>2]=a,r+o|0}return xf(i,4,15630,0),b[f+48>>2]=0,b[f+68>>2]=4|b[f+68>>2],o||-1}function Qf(f){var A=0,e=0,i=0,r=0,a=0,k=0,B=0,o=0,g=0,l=0,c=0;f:{A:{if(!b[f+12>>2]){if(l=1,b[f+4>>2]>0|b[f+8>>2]>1)break A;break f}if(r=1,!(b[f+8>>2]>0)&&b[f+4>>2]<2)break f}if(a=(A=b[f>>2])+(r<<5)|0,(k=b[f+16>>2])>>>0<(B=b[f+20>>2])>>>0)for(i=k;t[(e=(i<<6)+a|0)>>2]=t[e>>2]*Z(1.2301740646362305),t[e+4>>2]=t[e+4>>2]*Z(1.2301740646362305),t[e+8>>2]=t[e+8>>2]*Z(1.2301740646362305),t[e+12>>2]=t[e+12>>2]*Z(1.2301740646362305),t[e+16>>2]=t[e+16>>2]*Z(1.2301740646362305),t[e+20>>2]=t[e+20>>2]*Z(1.2301740646362305),t[e+24>>2]=t[e+24>>2]*Z(1.2301740646362305),t[e+28>>2]=t[e+28>>2]*Z(1.2301740646362305),(0|B)!=(0|(i=i+1|0)););if(o=A+(l<<5)|0,(g=b[f+28>>2])>>>0>(e=b[f+24>>2])>>>0)for(i=e;t[(A=(i<<6)+o|0)>>2]=t[A>>2]*Z(1.625732421875),t[A+4>>2]=t[A+4>>2]*Z(1.625732421875),t[A+8>>2]=t[A+8>>2]*Z(1.625732421875),t[A+12>>2]=t[A+12>>2]*Z(1.625732421875),t[A+16>>2]=t[A+16>>2]*Z(1.625732421875),t[A+20>>2]=t[A+20>>2]*Z(1.625732421875),t[A+24>>2]=t[A+24>>2]*Z(1.625732421875),t[A+28>>2]=t[A+28>>2]*Z(1.625732421875),(0|g)!=(0|(i=i+1|0)););df(o,A=a+32|0,k,B,r=(0|(i=b[f+8>>2]))<(0|(r=(f=b[f+4>>2])-r|0))?i:r,Z(-.4435068666934967)),df(a,c=o+32|0,e,g,f=(0|f)<(0|(i=i-l|0))?f:i,Z(-.8829110860824585)),df(o,A,k,B,r,Z(.05298011749982834)),df(a,c,e,g,f,Z(1.5861343145370483))}}function Wf(f,A){var e=0,i=0,r=0,a=0,k=0,B=0,o=0,g=0,l=0,c=0,n=0,I=0,s=0,G=0,t=0,C=0,Z=0;r=b[f+28>>2]+u(A,152)|0;f:{if(!(!(e=b[r-144>>2]-b[r-152>>2]|0)|!(i=b[r-140>>2]-b[r-148>>2]|0)|!(k=e>>>0>=64?64:e)|!(a=i>>>0>=64?64:i)|k>>>0>4294967295/(a>>>0)>>>2>>>0)){if(r=DA(1,28),b[r+12>>2]=a,b[r+8>>2]=k,b[r+4>>2]=i,b[r>>2]=e,g=i,i=be((i=i+a|0)-1|0,(o=g>>>0>i>>>0)-!i|0,a,0),b[r+20>>2]=i,g=e,e=be((e=e+k|0)-1|0,(a=g>>>0>e>>>0)-!e|0,k,0),b[r+16>>2]=e,tA(i,0,e),!T&&(e=DA(4,u(e,i)),b[r+24>>2]=e,e))break f;hf(r)}r=0}if(!r)return 0;f:{if(A)for(;;){if(k=(t=u(G,152))+b[f+28>>2]|0,e=b[k+24>>2])for(g=k+28|0,i=b[k+20>>2],a=b[k+16>>2],I=0;;){if(u(i,a)){for(o=u(I,36)+g|0,s=0;;){if(l=b[o+20>>2]+u(s,40)|0,e=b[l+20>>2],B=b[l+16>>2],u(e,B)){for(a=0;;){if(c=b[l+24>>2]+u(a,68)|0,C=b[c+60>>2]){if(i=(B=b[c+8>>2])-b[o>>2]|0,1&(n=b[o+16>>2])&&(e=b[f+28>>2]+t|0,i=(b[e-144>>2]+i|0)-b[e-152>>2]|0),e=(Z=b[c+12>>2])-b[o+4>>2]|0,2&n&&(n=b[f+28>>2]+t|0,e=(e+b[n-140>>2]|0)-b[n-148>>2]|0),!PA(r,i,e,i+(B=b[c+16>>2]-B|0)|0,(b[c+20>>2]-Z|0)+e|0,C,1,B))break f;B=b[l+16>>2],e=b[l+20>>2]}if(!((a=a+1|0)>>>0<u(e,B)>>>0))break}a=b[k+16>>2],i=b[k+20>>2]}if(!((s=s+1|0)>>>0<u(i,a)>>>0))break}e=b[k+24>>2]}if(!((I=I+1|0)>>>0<e>>>0))break}if((0|(G=G+1|0))==(0|A))break}return r}return nA(r),0}function wf(f){var A=0,e=0,r=0,a=0,k=0,B=0,o=0,g=0,l=0,c=0,n=0;if(f){if(A=b[f+20>>2]){if(B=b[A>>2]){if(r=b[B+20>>2],b[B+16>>2]){for(g=1&i[f+40|0]?16:17;;){if(e=b[r+28>>2]){if(n=((A=b[r+32>>2])>>>0)/152|0,l=0,A>>>0>=152){for(;;){if(A=b[e+48>>2]){if(o=((k=b[e+52>>2])>>>0)/40|0,a=0,k>>>0>=40){for(;NA(b[A+32>>2]),b[A+32>>2]=0,NA(b[A+36>>2]),b[A+36>>2]=0,Qe[0|g](A),A=A+40|0,(0|o)!=(0|(a=a+1|0)););A=b[e+48>>2]}hf(A),b[e+48>>2]=0}if(A=b[e+84>>2]){if(o=((k=b[e+88>>2])>>>0)/40|0,a=0,k>>>0>=40){for(;NA(b[A+32>>2]),b[A+32>>2]=0,NA(b[A+36>>2]),b[A+36>>2]=0,Qe[0|g](A),A=A+40|0,(0|o)!=(0|(a=a+1|0)););A=b[e+84>>2]}hf(A),b[e+84>>2]=0}if(A=b[e+120>>2]){if(o=((k=b[e+124>>2])>>>0)/40|0,a=0,k>>>0>=40){for(;NA(b[A+32>>2]),b[A+32>>2]=0,NA(b[A+36>>2]),b[A+36>>2]=0,Qe[0|g](A),A=A+40|0,(0|o)!=(0|(a=a+1|0)););A=b[e+120>>2]}hf(A),b[e+120>>2]=0}if(e=e+152|0,(0|n)==(0|(l=l+1|0)))break}e=b[r+28>>2]}hf(e),b[r+28>>2]=0}if(b[r+40>>2]&&(A=b[r+36>>2])&&(hf(A),b[r+44>>2]=0,b[r+48>>2]=0,b[r+36>>2]=0,b[r+40>>2]=0),hf(b[r+52>>2]),r=r+76|0,!((c=c+1|0)>>>0<G[B+16>>2]))break}r=b[B+20>>2]}hf(r),b[B+20>>2]=0,hf(b[b[f+20>>2]>>2]),A=b[f+20>>2],b[A>>2]=0}hf(A),b[f+20>>2]=0}hf(b[f+68>>2]),hf(f)}}function Vf(f,A){var e,i=0,r=0,a=0,k=0,B=0,o=0,g=0;if(a=b[f+24>>2],!(e=b[a+16>>2]))return 0;k=b[a+24>>2],a=b[b[b[f+20>>2]>>2]+20>>2];f:{A:if(A)if(A=0,b[f+64>>2])for(;;){if(i=b[k+24>>2],f=b[a+28>>2]+u(b[a+24>>2],152)|0,r=b[f-140>>2],tA(B=b[f-144>>2]-b[f-152>>2]|0,0,o=r-(f=b[f-148>>2])|0),!(!T|(0|f)==(0|r)))break f;if(f=!(i=3==(0|(f=(i>>>3|0)+!!(7&i)|0))?4:f),tA(i,0,r=u(B,o)),!(!T|f))break f;if(f=-1,(i=u(i,r))>>>0>(-1^A)>>>0)break A;if(a=a+76|0,k=k+52|0,f=A=A+i|0,(0|e)==(0|(g=g+1|0)))break}else for(;;){if(i=b[k+24>>2],f=b[a+28>>2]+u(b[a+24>>2],152)|0,r=b[f-4>>2],tA(B=b[f-8>>2]-b[f-16>>2]|0,0,o=r-(f=b[f-12>>2])|0),!(!T|(0|f)==(0|r)))break f;if(f=!(i=3==(0|(f=(i>>>3|0)+!!(7&i)|0))?4:f),tA(i,0,r=u(B,o)),!(!T|f))break f;if(f=-1,(i=u(i,r))>>>0>(-1^A)>>>0)break A;if(a=a+76|0,k=k+52|0,f=A=A+i|0,(0|e)==(0|(g=g+1|0)))break}else for(A=0;;){if(i=b[k+24>>2],f=b[a+28>>2]+u(b[a+24>>2],152)|0,r=b[f-140>>2],tA(B=b[f-144>>2]-b[f-152>>2]|0,0,o=r-(f=b[f-148>>2])|0),!(!T|(0|f)==(0|r)))break f;if(f=!(i=3==(0|(f=(i>>>3|0)+!!(7&i)|0))?4:f),tA(i,0,r=u(B,o)),!(!T|f))break f;if(f=-1,(i=u(i,r))>>>0>(-1^A)>>>0)break A;if(a=a+76|0,k=k+52|0,f=A=A+i|0,(0|e)==(0|(g=g+1|0)))break}return f}return-1}function Hf(f,A){var e,i=0,r=0,a=0,k=0,B=0,o=0,g=0,l=0,c=0,I=0,s=0,G=0,t=0;e=(i=b[f+8>>2])+b[f+4>>2]|0;f:{if(!b[f+12>>2]){if((0|e)<2)break f;if(r=b[(B=(i<<2)+A|0)>>2],i=b[A>>2]-(r+1>>1)|0,o=b[f>>2],e>>>0>=4)for(l=1+(e-4>>>1|0)|0,f=1;a=r,I=b[(r=f<<2)+A>>2],r=b[r+B>>2],g=i,b[(c=o+(k<<2)|0)>>2]=i,i=I-(2+(r+a|0)>>2)|0,b[c+4>>2]=a+(g+i>>1),k=k+2|0,a=(0|f)!=(0|l),f=f+1|0,a;);if(b[o+(k<<2)>>2]=i,1&e?(f=b[((a=e-1|0)<<1)+A>>2]-(r+1>>1)|0,b[o+(a<<2)>>2]=f,i=f+i>>1,g=-8):g=-4,b[g+((f=e<<2)+o|0)>>2]=i+r,!f)break f;return void n(A,o,f)}A:switch(e-1|0){case 0:return void(b[A>>2]=b[A>>2]/2);case 1:return f=b[f>>2],i=(i<<2)+A|0,r=b[A>>2]-(b[i>>2]+1>>1)|0,b[f+4>>2]=r,b[f>>2]=r+b[i>>2],i=b[f+4>>2],b[A>>2]=b[f>>2],void(b[A+4>>2]=i);default:break A}if(!((0|e)<3)){if(B=b[f>>2],r=b[(l=(i<<2)+A|0)+4>>2],f=b[l>>2],i=b[A>>2]-(2+(r+f|0)>>2)|0,b[B>>2]=i+f,k=1,(I=e-2|0)-(f=!(c=1&e))>>>0>=2)for(G=1+((e-f|0)-4>>>1|0)|0,f=1;a=r,t=b[(f<<2)+A>>2],r=b[l+((g=f+1|0)<<2)>>2],o=i,b[(s=B+(k<<2)|0)>>2]=i,i=t-(2+(r+a|0)>>2)|0,b[s+4>>2]=a+(o+i>>1),k=k+2|0,a=(0|f)!=(0|G),f=g,a;);b[B+(k<<2)>>2]=i,c?k=i+r|0:(k=b[((e<<1)+A|0)-4>>2]-(r+1>>1)|0,b[B+(I<<2)>>2]=(k+i>>1)+r),b[((f=e<<2)+B|0)-4>>2]=k,f&&n(A,B,f)}}}function Yf(f,A,e){var i,r=0,a=0,k=0,B=0,o=0,g=0,l=0,c=0,n=0;if(z=i=z-256|0,f){if(Of(1806,17,e),b[i+240>>2]=b[f>>2],MA(e,2348,i+240|0),b[i+224>>2]=b[f+4>>2],MA(e,2361,i+224|0),b[i+208>>2]=b[f+8>>2],MA(e,7260,i+208|0),b[i+192>>2]=b[f+16>>2],MA(e,2319,i+192|0),(0|A)>0)for(;;){if(r=b[f+5584>>2],b[i+176>>2]=B,MA(e,1844,i+176|0),r=r+u(B,1080)|0,b[i+160>>2]=b[r>>2],MA(e,2347,i+160|0),b[i+144>>2]=b[r+4>>2],MA(e,7374,i+144|0),b[i+128>>2]=b[r+8>>2],MA(e,7162,i+128|0),b[i+112>>2]=b[r+12>>2],MA(e,7178,i+112|0),b[i+96>>2]=b[r+16>>2],MA(e,2330,i+96|0),b[i+80>>2]=b[r+20>>2],MA(e,7440,i+80|0),Of(1567,23,e),b[r+4>>2])for(o=r+944|0,g=r+812|0,a=0;l=b[g+(k=a<<2)>>2],b[i+68>>2]=b[o+k>>2],b[i+64>>2]=l,MA(e,1693,i- -64|0),(a=a+1|0)>>>0<G[r+4>>2];);qf(e),b[i+48>>2]=b[r+24>>2],MA(e,7194,i+48|0),b[i+32>>2]=b[r+804>>2],MA(e,7243,i+32|0),o=1,Of(1591,20,e);f:{if(1!=b[r+24>>2]){if((0|(a=b[r+4>>2]))<=0)break f;o=u(a,3)-2|0}for(g=r+28|0,a=0;c=i,n=Pf(b[(k=g+(a<<3)|0)>>2],b[k+4>>2],32),b[c+16>>2]=n,b[i+20>>2]=T,MA(e,1693,i+16|0),(0|o)!=(0|(a=a+1|0)););}if(qf(e),b[i>>2]=b[r+808>>2],MA(e,7226,i),Of(1707,5,e),(0|(B=B+1|0))==(0|A))break}Of(1708,4,e)}z=i+256|0}function vf(f,A,e,i){var r=0,a=0,b=0,k=0,B=0,o=0,g=0,l=0,c=0,n=0;f:{A:{e:{i:{r:{a:{b:{k:{B:{o:{if(r=A){if(!e)break o;if(!i)break B;if((r=W(i)-W(r)|0)>>>0<=31)break k;break A}if(1==(0|i)|i>>>0>1)break A;return j=f-u(A=(f>>>0)/(e>>>0)|0,e)|0,P=0,T=0,A}if(!f)break b;if(!i)break a;if((a=i-1|0)&i)break a;return j=f,P=r&a,f=r>>>_A(i)|0,T=0,f}if(!((a=e-1|0)&e))break r;b=0-(g=(W(e)+33|0)-W(r)|0)|0;break e}g=r+1|0,b=63-r|0;break e}return j=0,P=r-u(f=(r>>>0)/(i>>>0)|0,i)|0,T=0,f}if((r=W(i)-W(r)|0)>>>0<31)break i;break A}if(j=f&a,P=0,1==(0|e))break f;return i=31&(e=_A(e)),(63&e)>>>0>=32?(r=0,f=A>>>i|0):(r=A>>>i|0,f=((1<<i)-1&A)<<32-i|f>>>i),T=r,f}g=r+1|0,b=63-r|0}if(a=f,k=31&(r=63&g),(63&r)>>>0>=32?(r=0,a=A>>>k|0):(r=A>>>k|0,a=((1<<k)-1&A)<<32-k|a>>>k),k=63&b,b=f,B=31&k,(63&k)>>>0>=32?(o=f<<B,f=0):(o=(1<<B)-1&b>>>32-B|A<<B,f=b<<B),A=o,g)for(b=i-1|0,b=-1!=(0|(l=e-1|0))?b+1|0:b,k=l;l=r=r<<1|a>>>31,B=b-(r+((a=a<<1|A>>>31)>>>0>k>>>0)|0)|0,a=(r=a)-(B=e&(o=c=B>>31))|0,r=l-((i&o)+(r>>>0<B>>>0)|0)|0,o=A<<1|f>>>31,f=n|f<<1,A=0|o,n=l=1&c,g=g-1|0;);return j=a,P=r,T=0|(o=A<<1|f>>>31),f=l|f<<1}j=f,P=A,f=0,A=0}return T=A,f}function Ff(f,A,e,i,r){var a,k=0,B=0,o=0;z=a=z-16|0,f=16==b[f+8>>2]?b[f+180>>2]+u(b[f+228>>2],5644)|0:b[f+12>>2];f:if(k=b[i>>2]){f=b[f+5584>>2],b[i>>2]=k-1,eA(e,a+12|0,1),B=u(A,1080)+f|0,f=b[a+12>>2],b[B+804>>2]=f>>>5,A=31&f,b[B+24>>2]=A,f=e+1|0;A:{e:{i:{r:{a:switch(0|A){case 0:k=b[i>>2];break r;case 1:break i;default:break a}k=b[i>>2]>>>1|0}if(k>>>0>=98&&(b[a+4>>2]=97,b[a+8>>2]=97,b[a>>2]=k,xf(r,2,16056,a),A=b[B+24>>2]),A){if(A=k)break i;f=0;break e}if(k)for(A=B+28|0,e=0;eA(f,a+12|0,1),e>>>0<=96&&(r=b[a+12>>2],b[(o=A+(e<<3)|0)+4>>2]=0,b[o>>2]=r>>>3),f=f+1|0,(0|k)!=(0|(e=e+1|0)););if((f=b[i>>2])>>>0<k>>>0){i=0;break f}f=f-k|0;break A}for(r=B+28|0,e=0;eA(f,a+12|0,2),e>>>0<=96&&(k=r+(e<<3)|0,o=b[a+12>>2],b[k+4>>2]=2047&o,b[k>>2]=o>>>11),f=f+2|0,(0|(e=e+1|0))!=(0|A););f=A<<1}if(f>>>0>(A=b[i>>2])>>>0){i=0;break f}f=A-f|0}if(b[i>>2]=f,i=1,1==b[B+24>>2])for(k=B+28|0,e=b[B+32>>2],r=b[B+28>>2],f=1;b[(A=k+(f<<3)|0)+12>>2]=e,b[A+4>>2]=e,B=r-((f>>>0)/3|0)|0,b[A+8>>2]=(0|B)>0?B:0,B=A,A=r-((f-1>>>0)/3|0)|0,b[B>>2]=(0|A)>0?A:0,97!=(0|(f=f+2|0)););}else i=0,xf(r,1,2642,0);return z=a+16|0,i}function mf(f,A,e,i){f|=0,A|=0,e|=0,i|=0;var r=0,a=0,k=0,B=0,o=0,g=0,l=0,c=0;r=Ge(),b[A+96>>2]=r;f:{if(r){if(!bA(b[A+220>>2],18,i)||!bA(b[A+220>>2],19,i))break f;o=b[A+220>>2],a=b[o>>2],k=b[o+8>>2];A:{if(a){r=1;e:{if(1!=(0|a)){for(l=1&a,a&=-2;B=0,r&&(B=0,0|Qe[b[k>>2]](A,f,i)&&(B=!!(0|Qe[b[k+4>>2]](A,f,i)))),r=B,k=k+8|0,(0|a)!=(0|(g=g+2|0)););if(!l)break e}r?r=!!(0|Qe[b[k>>2]](A,f,i)):r=0}if(Ze(o),r)break A;break f}Ze(o)}if(!bA(b[A+216>>2],20,i)||!bA(b[A+216>>2],21,i))break f;o=b[A+216>>2],a=b[o>>2],k=b[o+8>>2];A:{if(a){r=1;e:{if(1!=(0|a)){for(l=1&a,a&=-2,g=0;B=0,r&&(B=0,0|Qe[b[k>>2]](A,f,i)&&(B=!!(0|Qe[b[k+4>>2]](A,f,i)))),r=B,k=k+8|0,(0|a)!=(0|(g=g+2|0)););if(!l)break e}r?r=!!(0|Qe[b[k>>2]](A,f,i)):r=0}if(Ze(o),r)break A;break f}Ze(o)}f=Ge(),b[e>>2]=f,f&&(yf(b[A+96>>2],f),c=1)}return 0|c}return lA(b[A+96>>2]),b[A+96>>2]=0,0}function Ef(f){var A=0,e=0,i=0,r=0,a=0,k=0,B=0;i=(f=(e=f+7&-8)+7|0)>>>0<7?1:i;f:{A:{if(!((f=(r=-8&f)+(A=b[6516])|0)>>>0<r>>>0?i+1|0:i)){if(f>>>0<=We()<<16>>>0)break A;if(0|D(0|f))break A}b[6597]=48,A=-1;break f}b[6516]=f}if(-1!=(0|(i=A))){b[(f=i+e|0)-4>>2]=16,b[(a=f-16|0)>>2]=16;f:{if((0|(r=(A=b[6856])?b[A+8>>2]:0))!=(0|i))b[i>>2]=16,b[i+8>>2]=f,b[i+4>>2]=A,b[i+12>>2]=16,b[6856]=i,f=i+16|0;else{if(r=-2&b[i-4>>2],B=b[(k=i-r|0)-4>>2],b[A+8>>2]=f,1&b[((f=k-(A=-2&B)|0)+b[f>>2]|0)-4>>2]){a=b[f+4>>2],k=b[f+8>>2],b[a+8>>2]=k,b[k+4>>2]=a,A=(A+(e+r|0)|0)-16|0,b[f>>2]=A;break f}f=i-16|0}A=a-f|0,b[f>>2]=A}b[((-4&A)+f|0)-4>>2]=1|A,(e=b[f>>2]-8|0)>>>0<=127?A=(e>>>3|0)-1|0:(A=110+((e>>>29-(r=W(e))^4)-(r<<2)|0)|0,e>>>0<=4095||(A=(A=71+((e>>>30-r^2)-(r<<1)|0)|0)>>>0>=63?63:A)),e=A<<4,b[f+4>>2]=e+26400,e=e+26408|0,b[f+8>>2]=b[e>>2],b[e>>2]=f,b[b[f+8>>2]+4>>2]=f,e=b[6859],f=31&A,(63&A)>>>0>=32?(A=1<<f,r=0):A=(r=1<<f)-1&1>>>32-f,b[6858]=r|b[6858],b[6859]=A|e}return-1!=(0|i)}function yf(f,A){var e=0,i=0,r=0,a=0,k=0;if(b[A>>2]=b[f>>2],b[A+4>>2]=b[f+4>>2],b[A+8>>2]=b[f+8>>2],b[A+12>>2]=b[f+12>>2],e=b[A+24>>2]){if(i=b[A+16>>2]){for(e=0;(a=b[44+(b[A+24>>2]+u(e,52)|0)>>2])&&(hf(a),i=b[A+16>>2]),i>>>0>(e=e+1|0)>>>0;);e=b[A+24>>2]}hf(e),b[A+24>>2]=0}if(e=b[f+16>>2],b[A+16>>2]=e,e=ke(u(e,52)),b[A+24>>2]=e,e){if(b[A+16>>2])for(a=0;i=(k=u(a,52))+e|0,e=b[f+24>>2]+k|0,b[i+48>>2]=b[e+48>>2],r=b[e+44>>2],b[i+40>>2]=b[e+40>>2],b[i+44>>2]=r,r=b[e+36>>2],b[i+32>>2]=b[e+32>>2],b[i+36>>2]=r,r=b[e+28>>2],b[i+24>>2]=b[e+24>>2],b[i+28>>2]=r,r=b[e+20>>2],b[i+16>>2]=b[e+16>>2],b[i+20>>2]=r,r=b[e+12>>2],b[i+8>>2]=b[e+8>>2],b[i+12>>2]=r,r=b[e+4>>2],b[i>>2]=b[e>>2],b[i+4>>2]=r,e=b[A+24>>2],b[44+(k+e|0)>>2]=0,(a=a+1|0)>>>0<G[A+16>>2];);b[A+20>>2]=b[f+20>>2],e=b[f+32>>2],b[A+32>>2]=e;f:{if(e){if(e=ke(e),b[A+28>>2]=e,!e)return b[A+28>>2]=0,void(b[A+32>>2]=0);if(!(A=b[f+32>>2]))break f;return void n(e,b[f+28>>2],A)}b[A+28>>2]=0}}else b[A+16>>2]=0,b[A+24>>2]=0}function df(f,A,e,i,r,a){var b,k=0,B=Z(0),o=Z(0);if(k=(e<<6)+A|0,A=e?k+-64|0:f,(b=i>>>0<r>>>0?i:r)>>>0>e>>>0)for(B=t[A>>2];f=A,k=(A=k)-32|0,o=B,B=t[A>>2],t[k>>2]=Z(Z(o+B)*a)+t[k>>2],t[(k=A-28|0)>>2]=Z(Z(t[f+4>>2]+t[A+4>>2])*a)+t[k>>2],t[(k=A-24|0)>>2]=Z(Z(t[f+8>>2]+t[A+8>>2])*a)+t[k>>2],t[(k=A-20|0)>>2]=Z(Z(t[f+12>>2]+t[A+12>>2])*a)+t[k>>2],t[(k=A-16|0)>>2]=Z(Z(t[f+16>>2]+t[A+16>>2])*a)+t[k>>2],t[(k=A-12|0)>>2]=Z(Z(t[f+20>>2]+t[A+20>>2])*a)+t[k>>2],t[(k=A-8|0)>>2]=Z(Z(t[f+24>>2]+t[A+24>>2])*a)+t[k>>2],t[(k=A-4|0)>>2]=Z(Z(t[f+28>>2]+t[A+28>>2])*a)+t[k>>2],k=A- -64|0,(0|b)!=(0|(e=e+1|0)););i>>>0>r>>>0&&(f=k-32|0,a=Z(a+a),t[f>>2]=Z(t[A>>2]*a)+t[f>>2],t[(f=k-28|0)>>2]=Z(t[A+4>>2]*a)+t[f>>2],t[(f=k-24|0)>>2]=Z(t[A+8>>2]*a)+t[f>>2],t[(f=k-20|0)>>2]=Z(t[A+12>>2]*a)+t[f>>2],t[(f=k-16|0)>>2]=Z(t[A+16>>2]*a)+t[f>>2],t[(f=k-12|0)>>2]=Z(t[A+20>>2]*a)+t[f>>2],t[(f=k-8|0)>>2]=Z(t[A+24>>2]*a)+t[f>>2],t[(f=k-4|0)>>2]=Z(t[A+28>>2]*a)+t[f>>2])}function Rf(f){var A,e=0,i=0,r=0,a=0,B=0,o=0,g=0,l=0;f:{if(3&(e=f))for(;;){if(!(i=k[0|e])|61==(0|i))break f;if(!(3&(e=e+1|0)))break}A:{e:if(-2139062144==(-2139062144&((r=b[e>>2])|16843008-r))){for(;;){if(-2139062144!=(-2139062144&(16843008-(i=1027423549^r)|i)))break e;if(r=b[e+4>>2],e=i=e+4|0,-2139062144!=(-2139062144&(16843008-r|r)))break}break A}i=e}for(;;){if(!(r=k[0|(e=i)]))break f;if(i=e+1|0,61==(0|r))break}}if((0|f)==(0|e))return 0;f:if(!k[(A=e-f|0)+f|0]&&(B=b[6860])&&(e=b[B>>2])){for(;;){if(r=f,i=e,o=A,a=0,A){if(a=k[0|r])A:{for(;;){if((0|(g=k[0|i]))!=(0|a)|!g)break A;if(!(o=o-1|0))break A;if(i=i+1|0,a=k[r+1|0],r=r+1|0,!a)break}a=0}else a=0;a=a-k[0|i]|0}if(a||61!=k[0|(e=e+A|0)]){if(e=b[B+4>>2],B=B+4|0,e)continue;break f}break}l=e+1|0}return l}function Jf(f,A,e){var i=0,r=0,a=0,k=0;return(i=((r=f+4|0)+A|0)-1&0-A)+e>>>0<=((A=b[f>>2])+f|0)-4>>>0?(a=b[f+4>>2],k=b[f+8>>2],b[a+8>>2]=k,b[k+4>>2]=a,(0|i)!=(0|r)&&(i=i-r|0,a=f-(-2&b[f-4>>2])|0,r=i+b[a>>2]|0,b[a>>2]=r,b[(a+(-4&r)|0)-4>>2]=r,A=A-i|0,b[(f=f+i|0)>>2]=A),e+24>>>0<=A>>>0?(A=(A-e|0)-8|0,b[(r=f+e|0)+8>>2]=A,b[((k=r+8|0)+(-4&A)|0)-4>>2]=1|A,(i=b[r+8>>2]-8|0)>>>0<=127?A=(i>>>3|0)-1|0:(A=110+((i>>>29-(a=W(i))^4)-(a<<2)|0)|0,i>>>0<=4095||(A=(A=71+((i>>>30-a^2)-(a<<1)|0)|0)>>>0>=63?63:A)),i=A<<4,b[r+12>>2]=i+26400,i=i+26408|0,b[r+16>>2]=b[i>>2],b[i>>2]=k,b[b[r+16>>2]+4>>2]=k,i=b[6858],a=b[6859],r=31&A,(63&A)>>>0>=32?(A=1<<r,k=0):A=(k=1<<r)-1&1>>>32-r,b[6858]=k|i,b[6859]=A|a,A=e+8|0,b[f>>2]=A,e=(-4&A)+f|0):e=f+A|0,b[e-4>>2]=A,f=f+4|0):f=0,f}function Uf(f){var A=0,e=0,i=0,r=0;if(f){if(A=b[f+5164>>2]){if(e=b[f+5160>>2]){for(A=0;(i=b[b[f+5164>>2]+(A<<3)>>2])&&(hf(i),e=b[f+5160>>2]),e>>>0>(A=A+1|0)>>>0;);A=b[f+5164>>2]}b[f+5160>>2]=0,hf(A),b[f+5164>>2]=0}if((A=b[f+5172>>2])&&(hf(A),b[f+5172>>2]=0),(A=b[f+5584>>2])&&(hf(A),b[f+5584>>2]=0),(A=b[f+5612>>2])&&(hf(A),b[f+5612>>2]=0),(A=b[f+5608>>2])&&(hf(A),b[f+5608>>2]=0),(A=b[f+5628>>2])&&(hf(A),b[f+5636>>2]=0,b[f+5628>>2]=0,b[f+5632>>2]=0),A=b[f+5616>>2]){if(r=b[f+5620>>2]){for(e=0;(i=b[A+12>>2])&&(hf(i),b[A+12>>2]=0,r=b[f+5620>>2]),A=A+20|0,r>>>0>(e=e+1|0)>>>0;);A=b[f+5616>>2]}hf(A),b[f+5616>>2]=0}(A=b[f+5604>>2])&&(hf(A),b[f+5604>>2]=0),(A=b[f+5596>>2])&&(hf(A),b[f+5596>>2]=0,b[f+5600>>2]=0)}}function Xf(f,A,e,r){f:switch(A-9|0){case 0:return A=b[e>>2],b[e>>2]=A+4,void(b[f>>2]=b[A>>2]);case 6:return A=b[e>>2],b[e>>2]=A+4,A=a[A>>1],b[f>>2]=A,void(b[f+4>>2]=A>>31);case 7:return A=b[e>>2],b[e>>2]=A+4,b[f>>2]=s[A>>1],void(b[f+4>>2]=0);case 8:return A=b[e>>2],b[e>>2]=A+4,A=i[0|A],b[f>>2]=A,void(b[f+4>>2]=A>>31);case 9:return A=b[e>>2],b[e>>2]=A+4,b[f>>2]=k[0|A],void(b[f+4>>2]=0);case 16:return A=b[e>>2]+7&-8,b[e>>2]=A+8,void(C[f>>3]=C[A>>3]);case 17:Qe[0|r](f,e);default:return;case 1:case 4:case 14:return A=b[e>>2],b[e>>2]=A+4,A=b[A>>2],b[f>>2]=A,void(b[f+4>>2]=A>>31);case 2:case 5:case 11:case 15:return A=b[e>>2],b[e>>2]=A+4,b[f>>2]=b[A>>2],void(b[f+4>>2]=0);case 3:case 10:case 12:case 13:break f}A=b[e>>2]+7&-8,b[e>>2]=A+8,e=b[A+4>>2],b[f>>2]=b[A>>2],b[f+4>>2]=e}function hf(f){var A=0,e=0,i=0,r=0,a=0;(f|=0)&&(e=a=b[(A=f-4|0)>>2],i=A,(0|(f=-2&(r=b[f-8>>2])))!=(0|r)&&(e=b[(i=A-f|0)+4>>2],r=b[i+8>>2],b[e+8>>2]=r,b[r+4>>2]=e,e=f+a|0),(0|(A=b[(f=A+a|0)>>2]))!=b[(f+A|0)-4>>2]&&(a=b[f+4>>2],f=b[f+8>>2],b[a+8>>2]=f,b[f+4>>2]=a,e=A+e|0),b[i>>2]=e,b[((-4&e)+i|0)-4>>2]=1|e,(A=b[i>>2]-8|0)>>>0<=127?f=(A>>>3|0)-1|0:(f=110+((A>>>29-(e=W(A))^4)-(e<<2)|0)|0,A>>>0<=4095||(f=(f=71+((A>>>30-e^2)-(e<<1)|0)|0)>>>0>=63?63:f)),A=f<<4,b[i+4>>2]=A+26400,A=A+26408|0,b[i+8>>2]=b[A>>2],b[A>>2]=i,b[b[i+8>>2]+4>>2]=i,A=b[6858],e=b[6859],i=31&f,(63&f)>>>0>=32?(f=1<<i,r=0):f=(r=1<<i)-1&1>>>32-i,b[6858]=r|A,b[6859]=f|e)}function Df(f,A,e,i){A|=0,e|=0,i|=0;var r,a=0,k=0,B=0,o=0,g=0;z=r=z-32|0;f:if(k=b[(f|=0)+96>>2]){if(a=0,k=DA(4,b[k+16>>2])){if(A)for(g=b[f+96>>2];;){A:{if((a=b[(B<<2)+e>>2])>>>0>=G[g+16>>2])b[r+16>>2]=a,xf(i,1,2443,r+16|0);else{if(!b[(o=k+(a<<2)|0)>>2])break A;b[r>>2]=a,xf(i,1,3487,r)}hf(k),a=0;break f}if(b[o>>2]=1,(0|(B=B+1|0))==(0|A))break}hf(k),hf(b[f+64>>2]);A:if(A){if(a=ke(i=A<<2),b[f+64>>2]=a,!a){b[f+60>>2]=0,a=0;break f}if(!i)break A;n(a,e,i)}else b[f+64>>2]=0;b[f+60>>2]=A,a=1}}else xf(i,1,13752,0),a=0;return z=r+32|0,0|a}function Mf(f){var A=0,e=0;(f|=0)&&(gf(b[f>>2]),b[f>>2]=0,(A=b[f+72>>2])&&(hf(A),b[f+72>>2]=0),(A=b[f+68>>2])&&(hf(A),b[f+68>>2]=0),(A=b[f+108>>2])&&(hf(A),b[f+108>>2]=0),(A=b[f+116>>2])&&((e=b[A>>2])&&(hf(e),A=b[f+116>>2],b[A>>2]=0),hf(A),b[f+116>>2]=0),(A=b[f+120>>2])&&((e=b[A+12>>2])&&(hf(e),A=b[f+120>>2],b[A+12>>2]=0),(e=b[A+4>>2])&&(hf(e),A=b[f+120>>2],b[A+4>>2]=0),(e=b[A+8>>2])&&(hf(e),A=b[f+120>>2],b[A+8>>2]=0),(e=b[A>>2])&&(hf(e),A=b[f+120>>2],b[A>>2]=0),hf(A),b[f+120>>2]=0),(A=b[f+4>>2])&&(jA(A),b[f+4>>2]=0),(A=b[f+8>>2])&&(jA(A),b[f+8>>2]=0),hf(f))}function pf(){var f=0,A=0,e=0;f:{if(f=DA(1,256)){if(b[f>>2]=1,b[f+208>>2]=1,i[f+212|0]=6|k[f+212|0],A=DA(1,5644),b[f+12>>2]=A,!A)break f;if(A=DA(1,1e3),b[f+16>>2]=A,!A)break f;b[f+48>>2]=0,b[f+52>>2]=0,b[f+44>>2]=-1,b[f+20>>2]=1e3;A:{if(e=DA(1,48)){if(b[e+24>>2]=0,b[e+32>>2]=100,A=DA(100,24),b[e+28>>2]=A,A)break A;hf(e)}b[f+224>>2]=0;break f}if(b[e+40>>2]=0,b[f+224>>2]=e,A=EA(),b[f+220>>2]=A,!A)break f;if(A=EA(),b[f+216>>2]=A,!A)break f;if(Rf(1419),A=FA(),b[f+236>>2]=A,!A&&(A=FA(),b[f+236>>2]=A,!A))break f}else f=0;return f}return gf(f),0}function Nf(f,A,e,i,r,a){var k,B=0,o=0,g=0,l=0,c=0;z=k=z-240|0,b[k+236>>2]=e,b[k+232>>2]=A,b[k>>2]=f,c=!r;f:{A:{e:{if(1==(0|A)){if(B=f,o=1,!e){r=f;break e}}else B=f,o=1;for(;;){if((0|ZA(r=B-b[(g=(i<<2)+a|0)>>2]|0,f))<=0){r=B;break e}l=-1^c,c=1;i:{if(!(1&(l|(0|i)<2))){if(g=b[g-8>>2],(0|ZA(l=B-8|0,r))>=0)break i;if((0|ZA(l-g|0,r))>=0)break i}if(b[(o<<2)+k>>2]=r,vA(k+232|0,A=KA(A,e)),o=o+1|0,i=A+i|0,B=r,(e=b[k+236>>2])|1!=(0|(A=b[k+232>>2])))continue;break A}break}r=B;break A}if(!c)break f}aA(k,o),rA(r,i,a)}z=k+240|0}function Sf(f,A){var e,i=0,r=0,a=0,k=0;z=e=z-32|0;f:{if(i=b[f+60>>2])for(k=1;a=b[b[f+64>>2]+(r<<2)>>2],b[44+(b[b[f+100>>2]+24>>2]+u(a,52)|0)>>2]||(b[e+16>>2]=a,xf(A,2,7604,e+16|0),k=0,i=b[f+60>>2]),i>>>0>(r=r+1|0)>>>0;);else{if(k=1,i=b[f+100>>2],a=1,!b[i+16>>2])break f;for(;b[44+(b[i+24>>2]+u(r,52)|0)>>2]||(b[e>>2]=r,xf(A,2,7604,e),k=0,i=b[f+100>>2]),(r=r+1|0)>>>0<G[i+16>>2];);}a=1,k||(xf(A,1,2897,0),a=0)}return z=e+32|0,a}function Kf(f,A,e,i,r){var a,k=0;if(z=a=z-208|0,b[a+204>>2]=e,c(e=a+160|0,0,40),b[a+200>>2]=b[a+204>>2],(0|$(0,A,a+200|0,a+80|0,e,i,r))>=0){e=b[f>>2],b[f>>2]=-33&e;f:{A:{if(b[f+48>>2]){if(b[f+16>>2])break A}else b[f+48>>2]=80,b[f+28>>2]=0,b[f+16>>2]=0,b[f+20>>2]=0,k=b[f+44>>2],b[f+44>>2]=a;if(CA(f))break f}$(f,A,a+200|0,a+80|0,a+160|0,i,r)}k&&(Qe[b[f+36>>2]](f,0,0),b[f+48>>2]=0,b[f+44>>2]=k,b[f+28>>2]=0,b[f+16>>2]=0,b[f+20>>2]=0),b[f>>2]=b[f>>2]|32&e}z=a+208|0}function xf(f,A,e,r){var a,k=0;z=a=z-528|0;f:if(f){A:{e:switch(A-1|0){case 0:A=f+12|0;break A;case 1:A=f+16|0,f=f+4|0;break A;case 3:break e;default:break f}A=f+20|0,f=f+8|0}!(A=b[A>>2])|!e||(k=b[f>>2],c(a,0,512),b[a+524>>2]=r,z=f=z-160|0,b[f+148>>2]=a,b[f+152>>2]=511,c(f,0,144),b[f+76>>2]=-1,b[f+36>>2]=105,b[f+80>>2]=-1,b[f+44>>2]=f+159,b[f+84>>2]=f+148,i[0|a]=0,Kf(f,e,r,103,104),z=f+160|0,i[a+511|0]=0,Qe[0|A](a,k))}z=a+528|0}function zf(f){var A=0,e=0,i=0;f:if(f&&(A=b[f+8>>2])){if(e=3&A,f=b[f+12>>2],A>>>0>=4){for(i=-4&A,A=0;b[f+60>>2]=0,b[f+52>>2]=999,b[f+56>>2]=0,b[f+44>>2]=0,b[f+36>>2]=999,b[f+40>>2]=0,b[f+28>>2]=0,b[f+20>>2]=999,b[f+24>>2]=0,b[f+12>>2]=0,b[f+4>>2]=999,b[f+8>>2]=0,f=f- -64|0,(0|i)!=(0|(A=A+4|0)););if(!e)break f}for(A=0;b[f+12>>2]=0,b[f+4>>2]=999,b[f+8>>2]=0,f=f+16|0,(0|e)!=(0|(A=A+1|0)););}}function jf(f,A,e,i){var r,a=0,k=0;if(z=r=z-128|0,a=r,A=b[A+12>>2]+(e<<4)|0,e=b[A>>2])for(;b[a>>2]=A,a=a+4|0,A=e,e=b[e>>2];);for(;;){(0|k)>(0|(e=b[A+8>>2]))&&(b[A+8>>2]=k,e=k);f:if(!((0|e)>=(0|i)))for(;;){if(b[A+4>>2]<=(0|e))break f;if(AA(f,1)?b[A+4>>2]=e:e=e+1|0,!((0|e)<(0|i)))break}if(b[A+8>>2]=e,(0|a)==(0|r))break;A=b[(a=a-4|0)>>2],k=e}return z=r+128|0,b[A+4>>2]<(0|i)}function Pf(f,A,e){var i=0,r=0,a=0,b=0;return r=31&(a=b=63&e),a=a>>>0>=32?-1>>>r|0:(i=-1>>>r|0)|(1<<r)-1<<32-r,a&=f,i&=A,r=31&b,b>>>0>=32?(i=a<<r,b=0):(i=(1<<r)-1&a>>>32-r|i<<r,b=a<<r),a=i,i=31&(r=0-e&63),r>>>0>=32?(i=-1<<i,e=0):i=(e=-1<<i)|(1<<i)-1&-1>>>32-i,f&=e,A&=i,i=31&r,r>>>0>=32?(e=0,f=A>>>i|0):(e=A>>>i|0,f=((1<<i)-1&A)<<32-i|f>>>i),T=e|a,f|=b}function Tf(f,A,e){var i;if(b[f+12>>2]){if(i=ke(8)){if(b[i+4>>2]=e,b[i>>2]=A,!(A=ke(8)))return void hf(i);for(b[A>>2]=i,e=u(b[f+4>>2],100),b[f+40>>2]=e;(0|e)<b[f+24>>2];);b[A+4>>2]=b[f+20>>2],b[f+20>>2]=A,b[f+24>>2]=b[f+24>>2]+1,(A=b[f+28>>2])&&(b[b[A>>2]+8>>2]=0,b[f+28>>2]=b[A+4>>2],b[f+32>>2]=b[f+32>>2]-1,hf(A))}}else Qe[0|A](e,b[f+36>>2])}function Lf(f,A,e){A|=0,e|=0;var i=0,r=0,a=0,k=0;if(b[(f|=0)+184>>2]=A,(i=b[f+96>>2])&&(a=b[i+24>>2])&&!(!(r=b[f+12>>2])|!b[r+5584>>2])){if(!(r=b[i+16>>2]))return 1;for(i=0;;){if(G[4+(b[b[f+12>>2]+5584>>2]+u(i,1080)|0)>>2]<=A>>>0)return xf(e,1,9177,0),0;if(b[40+(u(i,52)+a|0)>>2]=A,k=1,(0|r)==(0|(i=i+1|0)))break}}return 0|k}function Of(f,A,e){var i=0,r=0,a=0;f:{if(!(i=b[e+16>>2])){if(CA(e))break f;i=b[e+16>>2]}if(i-(r=b[e+20>>2])>>>0<A>>>0)return void Qe[b[e+36>>2]](e,f,A);A:{e:if(!(!A|b[e+80>>2]<0)){for(i=A;;){if(10!=k[(a=f+i|0)-1|0]){if(i=i-1|0)continue;break e}break}if(Qe[b[e+36>>2]](e,f,i)>>>0<i>>>0)break f;A=A-i|0,r=b[e+20>>2];break A}a=f}ce(r,a,A),b[e+20>>2]=b[e+20>>2]+A}}function qf(f){var A=0,e=0;if(!((0|(A=b[f+76>>2]))>=0&(!A|b[6867]!=(1073741823&A))))return 10!=b[f+80>>2]&&(0|(A=b[f+20>>2]))!=b[f+16>>2]?(b[f+20>>2]=A+1,void(i[0|A]=10)):void BA(f);e=b[(A=f+76|0)>>2],b[A>>2]=e||1073741823,10==b[f+80>>2]||(0|(e=b[f+20>>2]))==b[f+16>>2]?BA(f):(b[f+20>>2]=e+1,i[0|e]=10),b[A>>2]=0}function _f(f,A,e,i,r,a,k,B){var o=0,g=0;o=+Z(r-f|0),r=(r=Q(g=1.402*o)<2147483647?~~g:-2147483648)+e|0,b[a>>2]=(0|r)>=0?(0|A)>(0|r)?r:A:0,g=+Z(i-f|0),f=e-(f=Q(o=.344*g+.714*o)<2147483647?~~o:-2147483648)|0,b[k>>2]=(0|f)>=0?(0|f)<(0|A)?f:A:0,f=(f=Q(o=1.772*g)<2147483647?~~o:-2147483648)+e|0,b[B>>2]=(0|f)>=0?(0|f)<(0|A)?f:A:0}function $f(f,A){var e=0,i=0,r=0,a=0,k=0,B=0;if(f){if((e=b[f+4>>2])&&(hf(e),b[f+4>>2]=0),A)for(e=f;;){if(i=b[e+200>>2]){if(r=0,a=b[e+196>>2]){for(;(k=b[i+12>>2])&&(hf(k),b[i+12>>2]=0,a=b[e+196>>2]),i=i+16|0,(r=r+1|0)>>>0<a>>>0;);i=b[e+200>>2]}hf(i),b[e+200>>2]=0}if(e=e+240|0,(0|(B=B+1|0))==(0|A))break}hf(f)}}function fA(f){b[f+100>>2]=20832,b[f+96>>2]=20832,b[f+92>>2]=20832,b[f+88>>2]=20832,b[f+84>>2]=20832,b[f+80>>2]=20832,b[f+76>>2]=20832,b[f+72>>2]=20832,b[f+68>>2]=20832,b[f+64>>2]=20832,b[f+60>>2]=20832,b[f+56>>2]=20832,b[f+52>>2]=20832,b[f+48>>2]=20832,b[f+44>>2]=20832,b[f+40>>2]=20832,b[f+36>>2]=20832,b[f+32>>2]=20832,b[f+28>>2]=20832}function AA(f,A){var e=0,i=0,r=0,a=0;if((0|A)<=0)return 0;for(e=b[f+12>>2],i=b[f+16>>2];r=A,i||(e=e<<8&65280,b[f+12>>2]=e,i=65280==(0|e)?7:8,b[f+16>>2]=i,(A=b[f+8>>2])>>>0>=G[f+4>>2]||(b[f+8>>2]=A+1,e=k[0|A]|e,b[f+12>>2]=e)),i=i-1|0,b[f+16>>2]=i,a|=(e>>>i&1)<<(A=r-1|0),r>>>0>1;);return a}function eA(f,A,e){var r=0,a=0;b[A>>2]=0;f:if(e){if(r=3&e,A=A+e|0,e>>>0>=4){for(a=-4&e,e=0;i[A-1|0]=k[0|f],i[A-2|0]=k[f+1|0],i[A-3|0]=k[f+2|0],i[0|(A=A-4|0)]=k[f+3|0],f=f+4|0,(0|a)!=(0|(e=e+4|0)););if(!r)break f}for(e=0;i[0|(A=A-1|0)]=k[0|f],f=f+1|0,(0|r)!=(0|(e=e+1|0)););}}function iA(f,A,e,i){var r=0,a=0,b=Z(0),k=0,B=Z(0),o=0,g=Z(0);if(i)for(;B=t[(k=(r=a<<2)+A|0)>>2],b=t[(o=f+r|0)>>2],g=t[(r=e+r|0)>>2],t[o>>2]=Z(g*Z(1.4019999504089355))+b,t[k>>2]=Z(b+Z(B*Z(-.3441300094127655)))+Z(g*Z(-.714139997959137)),t[r>>2]=b+Z(B*Z(1.7719999551773071)),(0|(a=a+1|0))!=(0|i););}function rA(f,A,e){var i,r=0,a=0,k=0,B=0,o=0;z=i=z-240|0,b[i>>2]=f,k=1;f:if(!((0|A)<2))for(r=f;;){if((0|ZA(f,a=(r=r-8|0)-b[((B=A-2|0)<<2)+e>>2]|0))>=0&&(0|ZA(f,r))>=0)break f;if(o=a,r=(a=(0|ZA(a,r))>=0)?o:r,b[(k<<2)+i>>2]=r,k=k+1|0,!((0|(A=a?A-1|0:B))>1))break}aA(i,k),z=i+240|0}function aA(f,A){var e,i=0,r=0,a=0,k=0,B=0;if(i=8,z=e=z-256|0,(0|A)>=2)for(b[(B=(A<<2)+f|0)>>2]=e;;){for(a=i>>>0>=256?256:i,ce(b[B>>2],b[f>>2],a),r=0;k=(r<<2)+f|0,r=r+1|0,ce(b[k>>2],b[(r<<2)+f>>2],a),b[k>>2]=b[k>>2]+a,(0|A)!=(0|r););if(!(i=i-a|0))break}z=e+256|0}function bA(f,A,e){var i=0,r=0;f:{if((0|(i=b[f>>2]))==(0|(r=b[f+4>>2]))){if(i=r+10|0,b[f+4>>2]=i,!(r=Cf(b[f+8>>2],i<<2)))break f;b[f+8>>2]=r,i=b[f>>2]}else r=b[f+8>>2];return b[(i<<2)+r>>2]=A,b[f>>2]=i+1,1}return hf(b[f+8>>2]),b[f>>2]=0,b[f+4>>2]=0,xf(e,1,6123,0),0}function kA(f,A,e){var r=0,a=0,b=0,k=0;if(1==(0|A)|A>>>0>1)for(;r=f,a=A,b=e=e-1|0,k=tA(f=be(f,A,10,0),A=T,246)+r|48,i[0|b]=k,a>>>0>9;);if(f|A)for(;A=(f>>>0)/10|0,i[0|(e=e-1|0)]=u(A,246)+f|48,r=f>>>0>9,f=A,r;);return e}function BA(f){var A,e=0;z=A=z-16|0,i[A+15|0]=10;f:{if(!(e=b[f+16>>2])){if(CA(f))break f;e=b[f+16>>2]}(0|e)==(0|(e=b[f+20>>2]))|10==b[f+80>>2]?Qe[b[f+36>>2]](f,A+15|0,1):(b[f+20>>2]=e+1,i[0|e]=10)}z=A+16|0}function oA(f){var A=0,e=0,r=0,a=0,k=0;if(r=b[f>>2],(A=i[0|r]-48|0)>>>0>9)return 0;for(;a=-1,e>>>0<=214748364&&(a=(2147483647^(e=u(e,10)))>>>0<A>>>0?-1:e+A|0),A=r+1|0,b[f>>2]=A,k=i[r+1|0],e=a,r=A,(A=k-48|0)>>>0<10;);return e}function gA(f,A){var e,i,r=0;if(l(+f),e=0|B(1),i=0|B(0),2047!=(0|(r=e>>>20&2047))){if(!r)return 0==f?r=0:(f=gA(0x10000000000000000*f,A),r=b[A>>2]+-64|0),b[A>>2]=r,f;b[A>>2]=r-1022,o(0,0|i),o(1,-2146435073&e|1071644672),f=+g()}return f}function lA(f){var A=0,e=0,i=0;if(f){if(A=b[f+24>>2]){if(e=b[f+16>>2]){for(A=0;(i=b[44+(b[f+24>>2]+u(A,52)|0)>>2])&&(hf(i),e=b[f+16>>2]),e>>>0>(A=A+1|0)>>>0;);A=b[f+24>>2]}hf(A)}(A=b[f+28>>2])&&hf(A),hf(f)}}function cA(f,A,e,i){var r,a=0,b=0;return r=(b=A^i)>>31,b>>=31,f=be((f^=a=A>>31)-a|0,a=(A^a)-((f>>>0<a>>>0)+a|0)|0,(A=e^(f=i>>31))-f|0,(f^i)-((f>>>0>A>>>0)+f|0)|0)^b,T=(r^T)-((f>>>0<b>>>0)+r|0)|0,A=f-b|0}function nA(f){var A=0,e=0,i=0,r=0;if(f){if(A=b[f+20>>2],e=b[f+16>>2],u(A,e))for(;(r=b[b[f+24>>2]+(i<<2)>>2])&&(hf(r),e=b[f+16>>2],A=b[f+20>>2]),(i=i+1|0)>>>0<u(A,e)>>>0;);hf(b[f+24>>2]),hf(f)}}function IA(f,A,e,i){var r=0,a=0,k=0,B=0,o=0,g=0,l=0;if(i)for(;k=(r=a<<2)+f|0,o=b[(B=e+r|0)>>2],l=b[(g=A+r|0)>>2],r=b[k>>2]-(o+l>>2)|0,b[k>>2]=r+o,b[g>>2]=r,b[B>>2]=r+l,(0|(a=a+1|0))!=(0|i););}function sA(f,A,e,i){A|=0,e|=0,i|=0;var r;return b[(f|=0)+48>>2]=0,b[f+36>>2]=b[f+32>>2],r=0|Qe[b[f+28>>2]](A,e,b[f>>2]),i=b[f+68>>2],r?(b[f+56>>2]=A,b[f+60>>2]=e,b[f+68>>2]=-5&i,1):(b[f+68>>2]=4|i,0)}function GA(f,A,e,i,r){var a;if(z=a=z-256|0,!(73728&r|(0|e)<=(0|i))){if(Be(a,A,(e=(i=e-i|0)>>>0<256)?i:256),!e)for(;ie(f,a,256),(i=i-256|0)>>>0>255;);ie(f,a,i)}z=a+256|0}function tA(f,A,e){var i,r,a,b,k=0;return b=u(i=e>>>16|0,k=f>>>16|0),f=(65535&(k=((a=u(r=65535&e,f&=65535))>>>16|0)+u(k,r)|0))+u(f,i)|0,T=b+u(A,e)+(k>>>16)+(f>>>16)|0,65535&a|f<<16}function CA(f){var A=0;return A=b[f+72>>2],b[f+72>>2]=A-1|A,8&(A=b[f>>2])?(b[f>>2]=32|A,-1):(b[f+4>>2]=0,b[f+8>>2]=0,A=b[f+44>>2],b[f+28>>2]=A,b[f+20>>2]=A,b[f+16>>2]=A+b[f+48>>2],0)}function uA(f){var A=0,e=0;f:{if(255==k[f+12|0]){if(b[f+12>>2]=65280,b[f+16>>2]=7,e=0,(A=b[f+8>>2])>>>0>=G[f+4>>2])break f;b[f+8>>2]=A+1,b[f+12>>2]=65280|k[0|A]}b[f+16>>2]=0,e=1}return e}function ZA(f,A){A|=0;var e,i;return((e=b[(f|=0)>>2])>>>0>(i=b[A>>2])>>>0&(0|(f=b[f+4>>2]))>=(0|(A=b[A+4>>2]))|(0|f)>(0|A))-(e>>>0<i>>>0&(0|f)<=(0|A)|(0|f)<(0|A))|0}function QA(f,A,e,i){var r,a=0;if(z=r=z-16|0,e)for(;eA(f,r+12|0,i),t[A>>2]=G[r+12>>2],A=A+4|0,f=f+i|0,(0|(a=a+1|0))!=(0|e););z=r+16|0}function WA(f,A,e,i){var r,a=0;if(z=r=z-16|0,e)for(;eA(f,r+12|0,i),b[A>>2]=b[r+12>>2],A=A+4|0,f=f+i|0,(0|(a=a+1|0))!=(0|e););z=r+16|0}function wA(f,A){i[A+7|0]=k[0|f],i[A+6|0]=k[f+1|0],i[A+5|0]=k[f+2|0],i[A+4|0]=k[f+3|0],i[A+3|0]=k[f+4|0],i[A+2|0]=k[f+5|0],i[A+1|0]=k[f+6|0],i[0|A]=k[f+7|0]}function VA(f){var A,e,i,r=0;return i=r=b[f+12>>2],r|(A=b[f+8>>2])?(r=A-(e=b[f+56>>2])|0,T=i-(b[f+60>>2]+(A>>>0<e>>>0)|0)|0,r):(T=0,0)}function HA(f,A){var e;return z=e=z-16|0,f?(3&A?f=28:(f=uf(A,f),b[e+12>>2]=f,f=f?0:48),f=f?0:b[e+12>>2]):f=0,z=e+16|0,f}function YA(f,A){var e=0,i=0;A>>>0<=31?(i=b[f>>2],e=f+4|0):(A=A-32|0,e=f),e=b[e>>2],b[f>>2]=i<<A,b[f+4>>2]=e<<A|i>>>32-A}function vA(f,A){var e=0,i=0;e=b[f+4>>2],A>>>0<=31?i=b[f>>2]:(A=A-32|0,i=e,e=0),b[f+4>>2]=e>>>A,b[f>>2]=e<<32-A|i>>>A}function FA(){var f=0,A=0;f:{if(f=DA(1,44)){if(b[f+16>>2]=0,A=DA(1,8),b[f+36>>2]=A,A)break f;hf(f)}f=0}return f}function mA(f,A){!(f|=0)|!(A|=0)||(b[f+188>>2]=b[A+4>>2],b[f+184>>2]=b[A>>2],b[f+248>>2]=2&b[A+8248>>2])}function EA(){var f,A=0;if(f=DA(1,12)){if(b[f+4>>2]=10,A=DA(10,4),b[f+8>>2]=A,A)return f;hf(f)}return 0}function yA(f){var A=0;f&&((A=b[f+4>>2])&&Qe[0|A](b[f>>2]),hf(b[f+32>>2]),b[f+32>>2]=0,hf(f))}function dA(f,A){A|=0,(f|=0)&&(b[f+208>>2]=A,A&&(i[f+92|0]=8|k[f+92|0]))}function RA(f,A){return 57216==(-128&A)|A>>>0<=127?(i[0|f]=A,1):(b[6597]=25,-1)}function JA(f){b[f+16>>2]=0,b[f+20>>2]=0,b[f+8>>2]=0,b[f+12>>2]=0,b[f>>2]=0,b[f+4>>2]=0}function UA(f){if(b[f+12>>2])for(b[f+40>>2]=0;b[f+24>>2]>0;);}function XA(f,A){i[A+3|0]=k[0|f],i[A+2|0]=k[f+1|0],i[A+1|0]=k[f+2|0],i[0|A]=k[f+3|0]}function hA(f){f&&(Qe[b[(b[f+76>>2]?20:16)+f>>2]](b[f+48>>2]),b[f+48>>2]=0,hf(f))}function DA(f,A){return!f|!A?f=0:(f=uf(8,A=u(f,A)))&&Be(f,0,A),f}function MA(f,A,e){var i;z=i=z-16|0,b[i+12>>2]=e,Kf(f,A,e,0,0),z=i+16|0}function pA(f){for(var A=0;f;)f&=f-1,A=A+1|0;return A}function NA(f){var A=0;f&&((A=b[f+12>>2])&&(hf(A),b[f+12>>2]=0),hf(f))}function SA(f,A,e,i,r,a,b){I()}function KA(f,A){return(f=zA(f-1|0))||(f=(f=zA(A))?32|f:0),f}function xA(f){return b[f+12>>2]==b[f+4>>2]|b[f+8>>2]==b[f>>2]}function zA(f){var A;return A=_A(f),f?A:0}function jA(f){var A=0;f&&((A=b[f+8>>2])&&hf(A),hf(f))}function PA(f,A,e,i,r,a,b,k){return _(f,A,e,i,r,a,b,k,0)}function TA(f,A,e,i,r){I()}function LA(f,A,e,i){return 0|Qe[b[f+44>>2]](f,A,e,i)}function OA(f,A,e){b[28+((A<<2)+f|0)>>2]=20832+(e<<5)}function qA(f,A,e,i){return 1}function _A(f){return f?31-W(f-1^f)|0:32}function $A(f,A,e){return 0|Qe[b[f+40>>2]](f,A,0,e)}function fe(f,A,e,i,r,a,b,k){_(f,A,e,i,r,a,b,k,1)}function Ae(f){return f?(b[6597]=f,-1):0}function ee(f,A,e){return vf(f,0,A,e),T=P,j}function ie(f,A,e){32&k[0|f]||Of(A,e,f)}function re(f,A,e){return 1}function ae(f,A,e){return-1}function be(f,A,e,i){return f=vf(f,A,e,i)}function ke(f){return f?ge(f):0}function Be(f,A,e){e&&c(f,A<<24>>24,e)}function oe(f){return b[f+8>>2]-b[f>>2]|0}function ge(f){return 0|uf(8,f|=0)}function le(f){return 2!=b[f+28>>2]}function ce(f,A,e){e&&n(f,A,e)}function ne(f,A){I()}function Ie(f){return HA(f,32)}function se(f){return HA(f,16)}function Ge(){return DA(1,36)}function te(f,A){}function Ce(f){f&&hf(f)}function ue(f){I()}function Ze(f){b[f>>2]=0}r(A=k,1024,"Y2Fubm90IGFsbG9jYXRlIG9wal90Y2Rfc2VnX2RhdGFfY2h1bmtfdCogYXJyYXkALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABVbmtub3duIGZvcm1hdABGYWlsZWQgdG8gc2V0dXAgdGhlIHJlZHVjdGlvbiBmYWN0b3IARmFpbGVkIHRvIHNldHVwIHRoZSBkZWNvZGVyAEZhaWxlZCB0byByZWFkIHRoZSBoZWFkZXIAbmFuACpsX3RpbGVfbGVuID4gVUlOVF9NQVggLSBPUEpfQ09NTU9OX0NCTEtfREFUQV9FWFRSQSAtIHBfajJrLT5tX3NwZWNpZmljX3BhcmFtLm1fZGVjb2Rlci5tX3NvdF9sZW5ndGgAaW5mAEZhaWxlZCB0byBkZWNvZGUgdGhlIGltYWdlAEludmFsaWQgYWNjZXNzIHRvIHBpLT5pbmNsdWRlAC90bXAvb3BlbmpwZWcvc3JjL2Jpbi9jb21tb24vY29sb3IuYwBBTExfQ1BVUwBPUEpfTlVNX1RIUkVBRFMATkFOAE9KUF9ET19OT1RfRElTUExBWV9USUxFX0lOREVYX0lGX1RMTQBJTkYAcF9qMmstPm1fc3BlY2lmaWNfcGFyYW0ubV9kZWNvZGVyLm1fc290X2xlbmd0aCA+IFVJTlRfTUFYIC0gT1BKX0NPTU1PTl9DQkxLX0RBVEFfRVhUUkEACQkJIHByZWNjaW50c2l6ZSAodyxoKT0ACQkJIHN0ZXBzaXplcyAobSxlKT0AU09UIG1hcmtlciBmb3IgdGlsZSAldSBkZWNsYXJlcyBtb3JlIHRpbGUtcGFydHMgdGhhbiBmb3VuZCBpbiBUTE0gbWFya2VyLgAobnVsbCkAKCVkLCVkKSAAJXN9CgAJCSB9CgBbREVWXSBEdW1wIGFuIGltYWdlX2NvbXBfaGVhZGVyIHN0cnVjdCB7CgBbREVWXSBEdW1wIGFuIGltYWdlX2hlYWRlciBzdHJ1Y3QgewoASW1hZ2UgaW5mbyB7CgAJIGRlZmF1bHQgdGlsZSB7CgAlcwkgY29tcG9uZW50ICVkIHsKAAkJIGNvbXAgJWQgewoACSBUaWxlIGluZGV4OiB7CgAJIE1hcmtlciBsaXN0OiB7CgBDb2Rlc3RyZWFtIGluZGV4IGZyb20gbWFpbiBoZWFkZXI6IHsKAENvZGVzdHJlYW0gaW5mbyBmcm9tIG1haW4gaGVhZGVyOiB7CgBTdHJlYW0gZXJyb3Igd2hpbGUgcmVhZGluZyBKUDIgSGVhZGVyIGJveAoARm91bmQgYSBtaXNwbGFjZWQgJyVjJWMlYyVjJyBib3ggb3V0c2lkZSBqcDJoIGJveAoATWFsZm9ybWVkIEpQMiBmaWxlIGZvcm1hdDogZmlyc3QgYm94IG11c3QgYmUgSlBFRyAyMDAwIHNpZ25hdHVyZSBib3gKAE1hbGZvcm1lZCBKUDIgZmlsZSBmb3JtYXQ6IHNlY29uZCBib3ggbXVzdCBiZSBmaWxlIHR5cGUgYm94CgBOb3QgZW5vdWdoIG1lbW9yeSB0byBoYW5kbGUganBlZzIwMDAgYm94CgBOb3QgZW5vdWdoIG1lbW9yeSB3aXRoIEZUWVAgQm94CgBBIG1hcmtlciBJRCB3YXMgZXhwZWN0ZWQgKDB4ZmYtLSkgaW5zdGVhZCBvZiAlLjh4CgAJCSBtY3Q9JXgKAAkJCSBjYmxrc3R5PSUjeAoACQkJIGNzdHk9JSN4CgAJCSBwcmc9JSN4CgBJbnRlZ2VyIG92ZXJmbG93CgAJIHRkeD0ldSwgdGR5PSV1CgAJIHR3PSV1LCB0aD0ldQoACSB0eDA9JXUsIHR5MD0ldQoASW52YWxpZCBjb21wb25lbnQgaW5kZXg6ICV1CgBTdHJlYW0gdG9vIHNob3J0CgBNYXJrZXIgaGFuZGxlciBmdW5jdGlvbiBmYWlsZWQgdG8gcmVhZCB0aGUgbWFya2VyIHNlZ21lbnQKAE5vdCBlbm91Z2ggbWVtb3J5IGZvciBjdXJyZW50IHByZWNpbmN0IGNvZGVibG9jayBlbGVtZW50CgBFcnJvciByZWFkaW5nIFNQQ29kIFNQQ29jIGVsZW1lbnQKAEVycm9yIHJlYWRpbmcgU1FjZCBvciBTUWNjIGVsZW1lbnQKAEEgQlBDQyBoZWFkZXIgYm94IGlzIGF2YWlsYWJsZSBhbHRob3VnaCBCUEMgZ2l2ZW4gYnkgdGhlIElIRFIgYm94ICglZCkgaW5kaWNhdGUgY29tcG9uZW50cyBiaXQgZGVwdGggaXMgY29uc3RhbnQKAEVycm9yIHdpdGggU0laIG1hcmtlcjogaWxsZWdhbCB0aWxlIG9mZnNldAoASW52YWxpZCBwcmVjaW5jdAoATm90IGVub3VnaCBtZW1vcnkgdG8gaGFuZGxlIGJhbmQgcHJlY2ludHMKAEZhaWxlZCB0byBkZWNvZGUgYWxsIHVzZWQgY29tcG9uZW50cwoAU2l6ZSBvZiBjb2RlIGJsb2NrIGRhdGEgZXhjZWVkcyBzeXN0ZW0gbGltaXRzCgBTaXplIG9mIHRpbGUgZGF0YSBleGNlZWRzIHN5c3RlbSBsaW1pdHMKAENhbm5vdCB0YWtlIGluIGNoYXJnZSBtdWx0aXBsZSBNQ1QgbWFya2VycwoAQ29ycnVwdGVkIFBQTSBtYXJrZXJzCgBOb3QgZW5vdWdoIG1lbW9yeSBmb3IgdGlsZSByZXNvbHV0aW9ucwoAQ2Fubm90IHRha2UgaW4gY2hhcmdlIG11bHRpcGxlIGNvbGxlY3Rpb25zCgBJbnZhbGlkIFBDTFIgYm94LiBSZXBvcnRzIDAgcGFsZXR0ZSBjb2x1bW5zCgBXZSBkbyBub3Qgc3VwcG9ydCBST0kgaW4gZGVjb2RpbmcgSFQgY29kZWJsb2NrcwoAQ2Fubm90IGhhbmRsZSBib3ggb2YgdW5kZWZpbmVkIHNpemVzCgBDYW5ub3QgdGFrZSBpbiBjaGFyZ2UgY29sbGVjdGlvbnMgd2l0aG91dCBzYW1lIG51bWJlciBvZiBpbmRpeGVzCgBJbnZhbGlkIHRpbGVjLT53aW5feHh4IHZhbHVlcwoAQ2Fubm90IGhhbmRsZSBib3ggb2YgbGVzcyB0aGFuIDggYnl0ZXMKAENhbm5vdCBoYW5kbGUgWEwgYm94IG9mIGxlc3MgdGhhbiAxNiBieXRlcwoAQ29tcG9uZW50IGluZGV4ICV1IHVzZWQgc2V2ZXJhbCB0aW1lcwoASW52YWxpZCBQQ0xSIGJveC4gUmVwb3J0cyAlZCBlbnRyaWVzCgBOb3QgZW5vdWdoIG1lbW9yeSB0byBjcmVhdGUgVGFnLXRyZWUgbm9kZXMKAENhbm5vdCB0YWtlIGluIGNoYXJnZSBtY3QgZGF0YSB3aXRoaW4gbXVsdGlwbGUgTUNUIHJlY29yZHMKAENhbm5vdCBkZWNvZGUgdGlsZSwgbWVtb3J5IGVycm9yCgBvcGpfajJrX2FwcGx5X25iX3RpbGVfcGFydHNfY29ycmVjdGlvbiBlcnJvcgoAUHJvYmxlbSB3aXRoIHNraXBwaW5nIEpQRUcyMDAwIGJveCwgc3RyZWFtIGVycm9yCgBQcm9ibGVtIHdpdGggcmVhZGluZyBKUEVHMjAwMCBib3gsIHN0cmVhbSBlcnJvcgoAVW5rbm93biBtYXJrZXIKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGFkZCB0bCBtYXJrZXIKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGFkZCBtaCBtYXJrZXIKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHRha2UgaW4gY2hhcmdlIFNJWiBtYXJrZXIKAEVycm9yIHJlYWRpbmcgUFBUIG1hcmtlcgoATm90IGVub3VnaCBtZW1vcnkgdG8gcmVhZCBQUFQgbWFya2VyCgBFcnJvciByZWFkaW5nIFNPVCBtYXJrZXIKAERpZCBub3QgZ2V0IGV4cGVjdGVkIFNPVCBtYXJrZXIKAEVycm9yIHJlYWRpbmcgUExUIG1hcmtlcgoARXJyb3IgcmVhZGluZyBNQ1QgbWFya2VyCgBOb3QgZW5vdWdoIG1lbW9yeSB0byByZWFkIE1DVCBtYXJrZXIKAE5vdCBlbm91Z2ggc3BhY2UgZm9yIGV4cGVjdGVkIFNPUCBtYXJrZXIKAEV4cGVjdGVkIFNPUCBtYXJrZXIKAEVycm9yIHJlYWRpbmcgTUNPIG1hcmtlcgoARXJyb3IgcmVhZGluZyBSR04gbWFya2VyCgBFcnJvciByZWFkaW5nIFBQTSBtYXJrZXIKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlYWQgUFBNIG1hcmtlcgoARXJyb3IgcmVhZGluZyBQTE0gbWFya2VyCgBFeHBlY3RlZCBFUEggbWFya2VyCgBOb3QgZW5vdWdoIHNwYWNlIGZvciByZXF1aXJlZCBFUEggbWFya2VyCgBFcnJvciByZWFkaW5nIENSRyBtYXJrZXIKAFVua25vd24gcHJvZ3Jlc3Npb24gb3JkZXIgaW4gQ09EIG1hcmtlcgoAVW5rbm93biBTY29kIHZhbHVlIGluIENPRCBtYXJrZXIKAEVycm9yIHJlYWRpbmcgQ09EIG1hcmtlcgoARXJyb3IgcmVhZGluZyBRQ0QgbWFya2VyCgBDcnJvciByZWFkaW5nIENCRCBtYXJrZXIKAEVycm9yIHJlYWRpbmcgUE9DIG1hcmtlcgoARXJyb3IgcmVhZGluZyBDT0MgbWFya2VyCgBFcnJvciByZWFkaW5nIFFDQyBtYXJrZXIKAEVycm9yIHJlYWRpbmcgTUNDIG1hcmtlcgoATm90IGVub3VnaCBtZW1vcnkgdG8gcmVhZCBNQ0MgbWFya2VyCgByZXF1aXJlZCBTSVogbWFya2VyIG5vdCBmb3VuZCBpbiBtYWluIGhlYWRlcgoAcmVxdWlyZWQgQ09EIG1hcmtlciBub3QgZm91bmQgaW4gbWFpbiBoZWFkZXIKAHJlcXVpcmVkIFFDRCBtYXJrZXIgbm90IGZvdW5kIGluIG1haW4gaGVhZGVyCgBOb3QgZW5vdWdoIG1lbW9yeSB0byBoYW5kbGUganBlZzIwMDAgZmlsZSBoZWFkZXIKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlYWQgaGVhZGVyCgBFcnJvciB3aXRoIEpQIFNpZ25hdHVyZSA6IGJhZCBtYWdpYyBudW1iZXIKAEluIFNPVCBtYXJrZXIsIFRQU290ICglZCkgaXMgbm90IHZhbGlkIHJlZ2FyZHMgdG8gdGhlIGN1cnJlbnQgbnVtYmVyIG9mIHRpbGUtcGFydCAoJWQpLCBnaXZpbmcgdXAKAEluIFNPVCBtYXJrZXIsIFRQU290ICglZCkgaXMgbm90IHZhbGlkIHJlZ2FyZHMgdG8gdGhlIHByZXZpb3VzIG51bWJlciBvZiB0aWxlLXBhcnQgKCVkKSwgZ2l2aW5nIHVwCgBJbiBTT1QgbWFya2VyLCBUUFNvdCAoJWQpIGlzIG5vdCB2YWxpZCByZWdhcmRzIHRvIHRoZSBjdXJyZW50IG51bWJlciBvZiB0aWxlLXBhcnQgKGhlYWRlcikgKCVkKSwgZ2l2aW5nIHVwCgB0aWxlcyByZXF1aXJlIGF0IGxlYXN0IG9uZSByZXNvbHV0aW9uCgBNYXJrZXIgaXMgbm90IGNvbXBsaWFudCB3aXRoIGl0cyBwb3NpdGlvbgoAUHJvYmxlbSB3aXRoIHNlZWsgZnVuY3Rpb24KAEVycm9yIHJlYWRpbmcgU1BDb2QgU1BDb2MgZWxlbWVudCwgSW52YWxpZCBjYmxrdy9jYmxraCBjb21iaW5hdGlvbgoASW52YWxpZCBtdWx0aXBsZSBjb21wb25lbnQgdHJhbnNmb3JtYXRpb24KAENhbm5vdCB0YWtlIGluIGNoYXJnZSBjb2xsZWN0aW9ucyBvdGhlciB0aGFuIGFycmF5IGRlY29ycmVsYXRpb24KAFRvbyBsYXJnZSB2YWx1ZSBmb3IgTnBwbQoATm90IGVub3VnaCBieXRlcyB0byByZWFkIE5wcG0KAGJhZCBwbGFjZWQganBlZyBjb2Rlc3RyZWFtCgAJIE1haW4gaGVhZGVyIHN0YXJ0IHBvc2l0aW9uPSVsbGkKCSBNYWluIGhlYWRlciBlbmQgcG9zaXRpb249JWxsaQoATWFya2VyIHNpemUgaW5jb25zaXN0ZW50IHdpdGggc3RyZWFtIGxlbmd0aAoAVGlsZSBwYXJ0IGxlbmd0aCBzaXplIGluY29uc2lzdGVudCB3aXRoIHN0cmVhbSBsZW5ndGgKAENhbm5vdCB0YWtlIGluIGNoYXJnZSBtdWx0aXBsZSBkYXRhIHNwYW5uaW5nCgBXcm9uZyBmbGFnCgBFcnJvciB3aXRoIEZUWVAgc2lnbmF0dXJlIEJveCBzaXplCgBFcnJvciB3aXRoIEpQIHNpZ25hdHVyZSBCb3ggc2l6ZQoASW52YWxpZCBwcmVjaW5jdCBzaXplCgBJbmNvbnNpc3RlbnQgbWFya2VyIHNpemUKAEludmFsaWQgbWFya2VyIHNpemUKAEVycm9yIHdpdGggU0laIG1hcmtlciBzaXplCgBOb3QgZW5vdWdoIG1lbW9yeSB0byBhZGQgYSBuZXcgdmFsaWRhdGlvbiBwcm9jZWR1cmUKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGRlY29kZSB0aWxlCgBGYWlsZWQgdG8gZGVjb2RlIHRoZSBjb2Rlc3RyZWFtIGluIHRoZSBKUDIgZmlsZQoAQ2Fubm90IHRha2UgaW4gY2hhcmdlIGNvbGxlY3Rpb25zIHdpdGggaW5kaXggc2h1ZmZsZQoAQ2Fubm90IGFsbG9jYXRlIFRpZXIgMSBoYW5kbGUKAE5vIGRlY29kZWQgYXJlYSBwYXJhbWV0ZXJzLCBzZXQgdGhlIGRlY29kZWQgYXJlYSB0byB0aGUgd2hvbGUgaW1hZ2UKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGNyZWF0ZSBUYWctdHJlZQoATm90IGVub3VnaCBtZW1vcnkgdG8gcmVpbml0aWFsaXplIHRoZSB0YWcgdHJlZQoARXJyb3IgcmVhZGluZyBTUENvZCBTUENvYyBlbGVtZW50LCBJbnZhbGlkIHRyYW5zZm9ybWF0aW9uIGZvdW5kCgBFcnJvciByZWFkaW5nIFNQQ29kIFNQQ29jIGVsZW1lbnQuIFVuc3VwcG9ydGVkIE1peGVkIEhUIGNvZGUtYmxvY2sgc3R5bGUgZm91bmQKAFRpbGUgWSBjb29yZGluYXRlcyBhcmUgbm90IHN1cHBvcnRlZAoAVGlsZSBYIGNvb3JkaW5hdGVzIGFyZSBub3Qgc3VwcG9ydGVkCgBJbWFnZSBjb29yZGluYXRlcyBhYm92ZSBJTlRfTUFYIGFyZSBub3Qgc3VwcG9ydGVkCgBKUEVHMjAwMCBIZWFkZXIgYm94IG5vdCByZWFkIHlldCwgJyVjJWMlYyVjJyBib3ggd2lsbCBiZSBpZ25vcmVkCgBvcGpfajJrX21lcmdlX3BwdCgpIGhhcyBhbHJlYWR5IGJlZW4gY2FsbGVkCgBvcGpfajJrX2J1aWxkX3RwX2luZGV4X2Zyb21fdGxtKCk6IHRpbGUgaW5kZXggYWxsb2NhdGlvbiBmYWlsZWQKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlYWQgU09UIG1hcmtlci4gVGlsZSBpbmRleCBhbGxvY2F0aW9uIGZhaWxlZAoASWdub3JpbmcgaWhkciBib3guIEZpcnN0IGloZHIgYm94IGFscmVhZHkgcmVhZAoAWnBwdCAldSBhbHJlYWR5IHJlYWQKAFpwcG0gJXUgYWxyZWFkeSByZWFkCgBQVEVSTSBjaGVjayBmYWlsdXJlOiAlZCBzeW50aGVzaXplZCAweEZGIG1hcmtlcnMgcmVhZAoACQkJIGNibGt3PTJeJWQKAAkJCSBjYmxraD0yXiVkCgAJCQkgcW50c3R5PSVkCgAlcyBkeD0lZCwgZHk9JWQKAAkJCSByb2lzaGlmdD0lZAoACQkJIG51bWdiaXRzPSVkCgAJCSBudW1sYXllcnM9JWQKACVzIG51bWNvbXBzPSVkCgBvcGpfanAyX2FwcGx5X2NkZWY6IGFjbj0lZCwgbnVtY29tcHM9JWQKAG9wal9qcDJfYXBwbHlfY2RlZjogY249JWQsIG51bWNvbXBzPSVkCgAJCQkgbnVtcmVzb2x1dGlvbnM9JWQKAAkJIHR5cGU9JSN4LCBwb3M9JWxsaSwgbGVuPSVkCgAlcyBzZ25kPSVkCgAJCQkgcW1mYmlkPSVkCgAlcyBwcmVjPSVkCgAJCSBuYiBvZiB0aWxlLXBhcnQgaW4gdGlsZSBbJWRdPSVkCgAlcyB4MT0lZCwgeTE9JWQKACVzIHgwPSVkLCB5MD0lZAoARmFpbGVkIHRvIGRlY29kZSB0aWxlICVkLyVkCgBTZXR0aW5nIGRlY29kaW5nIGFyZWEgdG8gJWQsJWQsJWQsJWQKAEZhaWxlZCB0byBkZWNvZGUgY29tcG9uZW50ICVkCgBJbnZhbGlkIHZhbHVlIGZvciBudW1yZXNvbHV0aW9ucyA6ICVkLCBtYXggdmFsdWUgaXMgc2V0IGluIG9wZW5qcGVnLmggYXQgJWQKAEludmFsaWQgY29tcG9uZW50IG51bWJlcjogJWQsIHJlZ2FyZGluZyB0aGUgbnVtYmVyIG9mIGNvbXBvbmVudHMgJWQKAFRvbyBtYW55IFBPQ3MgJWQKAG9wal9qMmtfcmVhZF90bG0oKTogaW52YWxpZCB0aWxlIG51bWJlciAlZAoASW52YWxpZCB0aWxlIG51bWJlciAlZAoASW52YWxpZCB0aWxlIHBhcnQgaW5kZXggZm9yIHRpbGUgbnVtYmVyICVkLiBHb3QgJWQsIGV4cGVjdGVkICVkCgBFcnJvciB3aXRoIFNJWiBtYXJrZXI6IG51bWJlciBvZiBjb21wb25lbnQgaXMgaWxsZWdhbCAtPiAlZAoATm90IGVub3VnaCBtZW1vcnkgZm9yIGNpZWxhYgoAQ2Fubm90IGFsbG9jYXRlIGNibGstPmRlY29kZWRfZGF0YQoARmFpbGVkIHRvIG1lcmdlIFBQVCBkYXRhCgBGYWlsZWQgdG8gbWVyZ2UgUFBNIGRhdGEKAEludmFsaWQgbnVtYmVyIG9mIGxheWVycyBpbiBDT0QgbWFya2VyIDogJWQgbm90IGluIHJhbmdlIFsxLTY1NTM1XQoAJXM6JWQ6Y29sb3JfY215a190b19yZ2IKCUNBTiBOT1QgQ09OVkVSVAoAJXM6JWQ6Y29sb3JfZXN5Y2NfdG9fcmdiCglDQU4gTk9UIENPTlZFUlQKACVzOiVkOmNvbG9yX3N5Y2NfdG9fcmdiCglDQU4gTk9UIENPTlZFUlQKAFN0cmVhbSB0b28gc2hvcnQsIGV4cGVjdGVkIFNPVAoAVW5hYmxlIHRvIHNldCB0MSBoYW5kbGUgYXMgVExTCgBTb3QgbGVuZ3RoIGlzIGxlc3MgdGhhbiBtYXJrZXIgc2l6ZSArIG1hcmtlciBJRAoAU3RyZWFtIGRvZXMgbm90IGVuZCB3aXRoIEVPQwoAQ2Fubm90IGhhbmRsZSBib3ggc2l6ZXMgaGlnaGVyIHRoYW4gMl4zMgoAb3BqX3BpX25leHRfbHJjcCgpOiBpbnZhbGlkIGNvbXBubzAvY29tcG5vMQoAb3BqX3BpX25leHRfcmxjcCgpOiBpbnZhbGlkIGNvbXBubzAvY29tcG5vMQoAb3BqX3BpX25leHRfY3BybCgpOiBpbnZhbGlkIGNvbXBubzAvY29tcG5vMQoAb3BqX3BpX25leHRfcGNybCgpOiBpbnZhbGlkIGNvbXBubzAvY29tcG5vMQoAb3BqX3BpX25leHRfcnBjbCgpOiBpbnZhbGlkIGNvbXBubzAvY29tcG5vMQoAb3BqX3QxX2RlY29kZV9jYmxrKCk6IHVuc3VwcG9ydGVkIGJwbm9fcGx1c19vbmUgPSAlZCA+PSAzMQoARmFpbGVkIHRvIGRlY29kZSB0aWxlIDEvMQoASW5zdWZmaWNpZW50IGRhdGEgZm9yIENNQVAgYm94LgoATmVlZCB0byByZWFkIGEgUENMUiBib3ggYmVmb3JlIHRoZSBDTUFQIGJveC4KAEluc3VmZmljaWVudCBkYXRhIGZvciBDREVGIGJveC4KAE51bWJlciBvZiBjaGFubmVsIGRlc2NyaXB0aW9uIGlzIGVxdWFsIHRvIHplcm8gaW4gQ0RFRiBib3guCgBTdHJlYW0gZXJyb3Igd2hpbGUgcmVhZGluZyBKUDIgSGVhZGVyIGJveDogbm8gJ2loZHInIGJveC4KAE5vbiBjb25mb3JtYW50IGNvZGVzdHJlYW0gVFBzb3Q9PVROc290LgoAU3RyZWFtIGVycm9yIHdoaWxlIHJlYWRpbmcgSlAyIEhlYWRlciBib3g6IGJveCBsZW5ndGggaXMgaW5jb25zaXN0ZW50LgoAQm94IGxlbmd0aCBpcyBpbmNvbnNpc3RlbnQuCgBSZXNvbHV0aW9uIGZhY3RvciBpcyBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gcmVzb2x1dGlvbiBpbiB0aGUgY29tcG9uZW50LgoAQ29tcG9uZW50IG1hcHBpbmcgc2VlbXMgd3JvbmcuIFRyeWluZyB0byBjb3JyZWN0LgoAb3BqX2oya19idWlsZF90cF9pbmRleF9mcm9tX3RsbSgpOiB0aWxlICVkIGhhcyBubyByZWdpc3RlcmVkIHRpbGUtcGFydCBpbiBUTE0gbWFya2VyIHNlZ21lbnRzLgoAb3BqX2oya19yZWFkX3RsbSgpOiB0b28gbWFueSBUTE0gbWFya2Vycy4KAG9wal9qMmtfcmVhZF90bG0oKTogY2Fubm90IGFsbG9jYXRlIG1fdGlsZV9wYXJ0X2luZm9zLgoASW5jb21wbGV0ZSBjaGFubmVsIGRlZmluaXRpb25zLgoATWFsZm9ybWVkIEhUIGNvZGVibG9jay4gSW52YWxpZCBjb2RlYmxvY2sgbGVuZ3RoIHZhbHVlcy4KAFdlIGRvIG5vdCBzdXBwb3J0IG1vcmUgdGhhbiAzIGNvZGluZyBwYXNzZXMgaW4gYW4gSFQgY29kZWJsb2NrOyBUaGlzIGNvZGVibG9ja3MgaGFzICVkIHBhc3Nlcy4KAE1hbGZvcm1lZCBIVCBjb2RlYmxvY2suIERlY29kaW5nIHRoaXMgY29kZWJsb2NrIGlzIHN0b3BwZWQuIFRoZXJlIGFyZSAlZCB6ZXJvIGJpdHBsYW5lcyBpbiAlZCBiaXRwbGFuZXMuCgBDYW5ub3QgdGFrZSBpbiBjaGFyZ2UgbXVsdGlwbGUgdHJhbnNmb3JtYXRpb24gc3RhZ2VzLgoAVW5rbm93biBtYXJrZXIgaGFzIGJlZW4gZGV0ZWN0ZWQgYW5kIGdlbmVyYXRlZCBlcnJvci4KAENvZGVjIHByb3ZpZGVkIHRvIHRoZSBvcGpfc2V0dXBfZGVjb2RlciBmdW5jdGlvbiBpcyBub3QgYSBkZWNvbXByZXNzb3IgaGFuZGxlci4KAENvZGVjIHByb3ZpZGVkIHRvIHRoZSBvcGpfcmVhZF9oZWFkZXIgZnVuY3Rpb24gaXMgbm90IGEgZGVjb21wcmVzc29yIGhhbmRsZXIuCgBFcnJvciByZWFkaW5nIFRMTSBtYXJrZXIuCgBUaWxlcyBkb24ndCBhbGwgaGF2ZSB0aGUgc2FtZSBkaW1lbnNpb24uIFNraXAgdGhlIE1DVCBzdGVwLgoATnVtYmVyIG9mIGNvbXBvbmVudHMgKCVkKSBpcyBpbmNvbnNpc3RlbnQgd2l0aCBhIE1DVC4gU2tpcCB0aGUgTUNUIHN0ZXAuCgBKUDIgYm94IHdoaWNoIGFyZSBhZnRlciB0aGUgY29kZXN0cmVhbSB3aWxsIG5vdCBiZSByZWFkIGJ5IHRoaXMgZnVuY3Rpb24uCgBNYWxmb3JtZWQgSFQgY29kZWJsb2NrLiBXaGVuIHRoZSBudW1iZXIgb2YgemVybyBwbGFuZXMgYml0cGxhbmVzIGlzIGVxdWFsIHRvIHRoZSBudW1iZXIgb2YgYml0cGxhbmVzLCBvbmx5IHRoZSBjbGVhbnVwIHBhc3MgbWFrZXMgc2Vuc2UsIGJ1dCB3ZSBoYXZlICVkIHBhc3NlcyBpbiB0aGlzIGNvZGVibG9jay4gVGhlcmVmb3JlLCBvbmx5IHRoZSBjbGVhbnVwIHBhc3Mgd2lsbCBiZSBkZWNvZGVkLiBUaGlzIG1lc3NhZ2Ugd2lsbCBub3QgYmUgZGlzcGxheWVkIGFnYWluLgoASW1hZ2UgaGFzIGxlc3MgY29tcG9uZW50cyB0aGFuIGNvZGVzdHJlYW0uCgBOZWVkIHRvIGRlY29kZSB0aGUgbWFpbiBoZWFkZXIgYmVmb3JlIGJlZ2luIHRvIGRlY29kZSB0aGUgcmVtYWluaW5nIGNvZGVzdHJlYW0uCgBQc290IHZhbHVlIG9mIHRoZSBjdXJyZW50IHRpbGUtcGFydCBpcyBlcXVhbCB0byB6ZXJvLCB3ZSBhc3N1bWluZyBpdCBpcyB0aGUgbGFzdCB0aWxlLXBhcnQgb2YgdGhlIGNvZGVzdHJlYW0uCgBBIG1hbGZvcm1lZCBjb2RlYmxvY2sgdGhhdCBoYXMgbW9yZSB0aGFuIG9uZSBjb2RpbmcgcGFzcywgYnV0IHplcm8gbGVuZ3RoIGZvciAybmQgYW5kIHBvdGVudGlhbGx5IHRoZSAzcmQgcGFzcyBpbiBhbiBIVCBjb2RlYmxvY2suCgAJCQkgdGlsZS1wYXJ0WyVkXTogc3Rhcl9wb3M9JWxsaSwgZW5kX2hlYWRlcj0lbGxpLCBlbmRfcG9zPSVsbGkuCgBUaWxlICV1IGhhcyBUUHNvdCA9PSAwIGFuZCBUTnNvdCA9PSAwLCBidXQgbm8gb3RoZXIgdGlsZS1wYXJ0cyB3ZXJlIGZvdW5kLiBFT0MgaXMgYWxzbyBtaXNzaW5nLgoAQ29tcG9uZW50ICVkIGRvZXNuJ3QgaGF2ZSBhIG1hcHBpbmcuCgBvcGpfajJrX3JlYWRfdGxtKCk6IFRMTSBtYXJrZXIgbm90IG9mIGV4cGVjdGVkIHNpemUuCgBBIGNvbmZvcm1pbmcgSlAyIHJlYWRlciBzaGFsbCBpZ25vcmUgYWxsIENvbG91ciBTcGVjaWZpY2F0aW9uIGJveGVzIGFmdGVyIHRoZSBmaXJzdCwgc28gd2UgaWdub3JlIHRoaXMgb25lLgoAVGhlIHNpZ25hdHVyZSBib3ggbXVzdCBiZSB0aGUgZmlyc3QgYm94IGluIHRoZSBmaWxlLgoAVGhlICBib3ggbXVzdCBiZSB0aGUgZmlyc3QgYm94IGluIHRoZSBmaWxlLgoAVGhlIGZ0eXAgYm94IG11c3QgYmUgdGhlIHNlY29uZCBib3ggaW4gdGhlIGZpbGUuCgBGYWlsZWQgdG8gZGVjb2RlLgoATWFsZm9ybWVkIEhUIGNvZGVibG9jay4gSW5jb3JyZWN0IE1FTCBzZWdtZW50IHNlcXVlbmNlLgoAQ29tcG9uZW50ICVkIGlzIG1hcHBlZCB0d2ljZS4KAG9wal9qMmtfcmVhZF90bG0oKTogU1QgPSAzIGlzIGludmFsaWQuCgBPbmx5IG9uZSBDTUFQIGJveCBpcyBhbGxvd2VkLgoAV2UgbmVlZCBhbiBpbWFnZSBwcmV2aW91c2x5IGNyZWF0ZWQuCgBJSERSIGJveF9taXNzaW5nLiBSZXF1aXJlZC4KAEpQMkggYm94IG1pc3NpbmcuIFJlcXVpcmVkLgoATm90IHN1cmUgaG93IHRoYXQgaGFwcGVuZWQuCgBNYWluIGhlYWRlciBoYXMgYmVlbiBjb3JyZWN0bHkgZGVjb2RlZC4KAFRpbGUgJWQvJWQgaGFzIGJlZW4gZGVjb2RlZC4KAEhlYWRlciBvZiB0aWxlICVkIC8gJWQgaGFzIGJlZW4gcmVhZC4KAEVtcHR5IFNPVCBtYXJrZXIgZGV0ZWN0ZWQ6IFBzb3Q9JWQuCgBEaXJlY3QgdXNlIGF0ICMlZCBob3dldmVyIHBjb2w9JWQuCgBJbXBsZW1lbnRhdGlvbiBsaW1pdGF0aW9uOiBmb3IgcGFsZXR0ZSBtYXBwaW5nLCBwY29sWyVkXSBzaG91bGQgYmUgZXF1YWwgdG8gJWQsIGJ1dCBpcyBlcXVhbCB0byAlZC4KAEludmFsaWQgY29tcG9uZW50L3BhbGV0dGUgaW5kZXggZm9yIGRpcmVjdCBtYXBwaW5nICVkLgoASW52YWxpZCB2YWx1ZSBmb3IgY21hcFslZF0ubXR5cCA9ICVkLgoAUHNvdCB2YWx1ZSBpcyBub3QgY29ycmVjdCByZWdhcmRzIHRvIHRoZSBKUEVHMjAwMCBub3JtOiAlZC4KAE1hbGZvcm1lZCBIVCBjb2RlYmxvY2suIFZMQyBjb2RlIHByb2R1Y2VzIHNpZ25pZmljYW50IHNhbXBsZXMgb3V0c2lkZSB0aGUgY29kZWJsb2NrIGFyZWEuCgBVbmV4cGVjdGVkIE9PTS4KADMyIGJpdHMgYXJlIG5vdCBlbm91Z2ggdG8gZGVjb2RlIHRoaXMgY29kZWJsb2NrLCBzaW5jZSB0aGUgbnVtYmVyIG9mIGJpdHBsYW5lLCAlZCwgaXMgbGFyZ2VyIHRoYW4gMzAuCgBCb3R0b20gcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3kxPSVkKSBzaG91bGQgYmUgPiAwLgoAUmlnaHQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gxPSVkKSBzaG91bGQgYmUgPiAwLgoAVXAgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3kwPSVkKSBzaG91bGQgYmUgPj0gMC4KAExlZnQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gwPSVkKSBzaG91bGQgYmUgPj0gMC4KAEVycm9yIHJlYWRpbmcgUFBUIG1hcmtlcjogcGFja2V0IGhlYWRlciBoYXZlIGJlZW4gcHJldmlvdXNseSBmb3VuZCBpbiB0aGUgbWFpbiBoZWFkZXIgKFBQTSBtYXJrZXIpLgoAU3RhcnQgdG8gcmVhZCBqMmsgbWFpbiBoZWFkZXIgKCVsbGQpLgoAQm90dG9tIHBvc2l0aW9uIG9mIHRoZSBkZWNvZGVkIGFyZWEgKHJlZ2lvbl95MT0lZCkgaXMgb3V0c2lkZSB0aGUgaW1hZ2UgYXJlYSAoWXNpej0lZCkuCgBVcCBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feTA9JWQpIGlzIG91dHNpZGUgdGhlIGltYWdlIGFyZWEgKFlzaXo9JWQpLgoAUmlnaHQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gxPSVkKSBpcyBvdXRzaWRlIHRoZSBpbWFnZSBhcmVhIChYc2l6PSVkKS4KAExlZnQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gwPSVkKSBpcyBvdXRzaWRlIHRoZSBpbWFnZSBhcmVhIChYc2l6PSVkKS4KAEJvdHRvbSBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feTE9JWQpIGlzIG91dHNpZGUgdGhlIGltYWdlIGFyZWEgKFlPc2l6PSVkKS4KAFVwIHBvc2l0aW9uIG9mIHRoZSBkZWNvZGVkIGFyZWEgKHJlZ2lvbl95MD0lZCkgaXMgb3V0c2lkZSB0aGUgaW1hZ2UgYXJlYSAoWU9zaXo9JWQpLgoAUmlnaHQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gxPSVkKSBpcyBvdXRzaWRlIHRoZSBpbWFnZSBhcmVhIChYT3Npej0lZCkuCgBMZWZ0IHBvc2l0aW9uIG9mIHRoZSBkZWNvZGVkIGFyZWEgKHJlZ2lvbl94MD0lZCkgaXMgb3V0c2lkZSB0aGUgaW1hZ2UgYXJlYSAoWE9zaXo9JWQpLgoAU2l6ZSB4IG9mIHRoZSBkZWNvZGVkIGNvbXBvbmVudCBpbWFnZSBpcyBpbmNvcnJlY3QgKGNvbXBbJWRdLnc9JWQpLgoAU2l6ZSB5IG9mIHRoZSBkZWNvZGVkIGNvbXBvbmVudCBpbWFnZSBpcyBpbmNvcnJlY3QgKGNvbXBbJWRdLmg9JWQpLgoAVGlsZSByZWFkLCBkZWNvZGVkIGFuZCB1cGRhdGVkIGlzIG5vdCB0aGUgZGVzaXJlZCBvbmUgKCVkIHZzICVkKS4KAEludmFsaWQgY29tcG9uZW50IGluZGV4ICVkICg+PSAlZCkuCgBvcGpfcmVhZF9oZWFkZXIoKSBzaG91bGQgYmUgY2FsbGVkIGJlZm9yZSBvcGpfc2V0X2RlY29kZWRfY29tcG9uZW50cygpLgoATWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZSBpbiBvcGpfanAyX2FwcGx5X3BjbHIoKS4KAGltYWdlLT5jb21wc1slZF0uZGF0YSA9PSBOVUxMIGluIG9wal9qcDJfYXBwbHlfcGNscigpLgoAaW52YWxpZCBib3ggc2l6ZSAlZCAoJXgpCgBGYWlsIHRvIHJlYWQgdGhlIGN1cnJlbnQgbWFya2VyIHNlZ21lbnQgKCUjeCkKAEVycm9yIHdpdGggU0laIG1hcmtlcjogSUhEUiB3KCV1KSBoKCV1KSB2cy4gU0laIHcoJXUpIGgoJXUpCgBFcnJvciByZWFkaW5nIENPQyBtYXJrZXIgKGJhZCBudW1iZXIgb2YgY29tcG9uZW50cykKAEludmFsaWQgbnVtYmVyIG9mIHRpbGVzIDogJXUgeCAldSAobWF4aW11bSBmaXhlZCBieSBqcGVnMjAwMCBub3JtIGlzIDY1NTM1IHRpbGVzKQoASW52YWxpZCBudW1iZXIgb2YgY29tcG9uZW50cyAoaWhkcikKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGhhbmRsZSBpbWFnZSBoZWFkZXIgKGloZHIpCgBXcm9uZyB2YWx1ZXMgZm9yOiB3KCVkKSBoKCVkKSBudW1jb21wcyglZCkgKGloZHIpCgBJbnZhbGlkIHZhbHVlcyBmb3IgY29tcCA9ICVkIDogZHg9JXUgZHk9JXUgKHNob3VsZCBiZSBiZXR3ZWVuIDEgYW5kIDI1NSBhY2NvcmRpbmcgdG8gdGhlIEpQRUcyMDAwIG5vcm0pCgBCYWQgaW1hZ2UgaGVhZGVyIGJveCAoYmFkIHNpemUpCgBCYWQgQ09MUiBoZWFkZXIgYm94IChiYWQgc2l6ZSkKAEJhZCBCUENDIGhlYWRlciBib3ggKGJhZCBzaXplKQoARXJyb3Igd2l0aCBTSVogbWFya2VyOiBuZWdhdGl2ZSBvciB6ZXJvIGltYWdlIHNpemUgKCVsbGQgeCAlbGxkKQoAc2tpcDogc2VnbWVudCB0b28gbG9uZyAoJWQpIHdpdGggbWF4ICglZCkgZm9yIGNvZGVibG9jayAlZCAocD0lZCwgYj0lZCwgcj0lZCwgYz0lZCkKAHJlYWQ6IHNlZ21lbnQgdG9vIGxvbmcgKCVkKSB3aXRoIG1heCAoJWQpIGZvciBjb2RlYmxvY2sgJWQgKHA9JWQsIGI9JWQsIHI9JWQsIGM9JWQpCgBEZXNwaXRlIEpQMiBCUEMhPTI1NSwgcHJlY2lzaW9uIGFuZC9vciBzZ25kIHZhbHVlcyBmb3IgY29tcFslZF0gaXMgZGlmZmVyZW50IHRoYW4gY29tcFswXToKICAgICAgICBbMF0gcHJlYyglZCkgc2duZCglZCkgWyVkXSBwcmVjKCVkKSBzZ25kKCVkKQoAYmFkIGNvbXBvbmVudCBudW1iZXIgaW4gUkdOICglZCB3aGVuIHRoZXJlIGFyZSBvbmx5ICVkKQoARXJyb3Igd2l0aCBTSVogbWFya2VyOiBudW1iZXIgb2YgY29tcG9uZW50IGlzIG5vdCBjb21wYXRpYmxlIHdpdGggdGhlIHJlbWFpbmluZyBudW1iZXIgb2YgcGFyYW1ldGVycyAoICVkIHZzICVkKQoARXJyb3Igd2l0aCBTSVogbWFya2VyOiBpbnZhbGlkIHRpbGUgc2l6ZSAodGR4OiAlZCwgdGR5OiAlZCkKAEJhZCBDT0xSIGhlYWRlciBib3ggKGJhZCBzaXplOiAlZCkKAEJhZCBDT0xSIGhlYWRlciBib3ggKENJRUxhYiwgYmFkIHNpemU6ICVkKQoAUFRFUk0gY2hlY2sgZmFpbHVyZTogJWQgcmVtYWluaW5nIGJ5dGVzIGluIGNvZGUgYmxvY2sgKCVkIHVzZWQgLyAlZCkKAE1hbGZvcm1lZCBIVCBjb2RlYmxvY2suIE9uZSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbiBpcyBub3QgbWV0OiAyIDw9IFNjdXAgPD0gbWluKExjdXAsIDQwNzkpCgBJbnZhbGlkIHZhbHVlcyBmb3IgY29tcCA9ICVkIDogcHJlYz0ldSAoc2hvdWxkIGJlIGJldHdlZW4gMSBhbmQgMzggYWNjb3JkaW5nIHRvIHRoZSBKUEVHMjAwMCBub3JtLiBPcGVuSnBlZyBvbmx5IHN1cHBvcnRzIHVwIHRvIDMxKQoASW52YWxpZCBiaXQgbnVtYmVyICVkIGluIG9wal90Ml9yZWFkX3BhY2tldF9oZWFkZXIoKQoAU3RyZWFtIGVycm9yIQoARXJyb3Igb24gd3JpdGluZyBzdHJlYW0hCgBTdHJlYW0gcmVhY2hlZCBpdHMgZW5kICEKAEV4cGVjdGVkIGEgU09DIG1hcmtlciAKAEludmFsaWQgYm94IHNpemUgJWQgZm9yIGJveCAnJWMlYyVjJWMnLiBOZWVkICVkIGJ5dGVzLCAlZCBieXRlcyByZW1haW5pbmcgCgBNYWxmb3JtZWQgSFQgY29kZWJsb2NrLiBEZWNvZGluZyB0aGlzIGNvZGVibG9jayBpcyBzdG9wcGVkLiBVX3EgaXMgbGFyZ2VyIHRoYW4gemVybyBiaXRwbGFuZXMgKyAxIAoATWFsZm9ybWVkIEhUIGNvZGVibG9jay4gRGVjb2RpbmcgdGhpcyBjb2RlYmxvY2sgaXMgc3RvcHBlZC4gVV9xIGlzbGFyZ2VyIHRoYW4gYml0cGxhbmVzICsgMSAKAENPTFIgQk9YIG1ldGggdmFsdWUgaXMgbm90IGEgcmVndWxhciB2YWx1ZSAoJWQpLCBzbyB3ZSB3aWxsIGlnbm9yZSB0aGUgZW50aXJlIENvbG91ciBTcGVjaWZpY2F0aW9uIGJveC4gCgBXaGlsZSByZWFkaW5nIENDUF9RTlRTVFkgZWxlbWVudCBpbnNpZGUgUUNEIG9yIFFDQyBtYXJrZXIgc2VnbWVudCwgbnVtYmVyIG9mIHN1YmJhbmRzICglZCkgaXMgZ3JlYXRlciB0byBPUEpfSjJLX01BWEJBTkRTICglZCkuIFNvIHdlIGxpbWl0IHRoZSBudW1iZXIgb2YgZWxlbWVudHMgc3RvcmVkIHRvIE9QSl9KMktfTUFYQkFORFMgKCVkKSBhbmQgc2tpcCB0aGUgcmVzdC4gCgBKUDIgSUhEUiBib3g6IGNvbXByZXNzaW9uIHR5cGUgaW5kaWNhdGUgdGhhdCB0aGUgZmlsZSBpcyBub3QgYSBjb25mb3JtaW5nIEpQMiBmaWxlICglZCkgCgBUaWxlIGluZGV4IHByb3ZpZGVkIGJ5IHRoZSB1c2VyIGlzIGluY29ycmVjdCAlZCAobWF4ID0gJWQpIAoARXJyb3IgZGVjb2RpbmcgY29tcG9uZW50ICVkLgpUaGUgbnVtYmVyIG9mIHJlc29sdXRpb25zIHRvIHJlbW92ZSAoJWQpIGlzIGdyZWF0ZXIgb3IgZXF1YWwgdGhhbiB0aGUgbnVtYmVyIG9mIHJlc29sdXRpb25zIG9mIHRoaXMgY29tcG9uZW50ICglZCkKTW9kaWZ5IHRoZSBjcF9yZWR1Y2UgcGFyYW1ldGVyLgoKAEltYWdlIGRhdGEgaGFzIGJlZW4gdXBkYXRlZCB3aXRoIHRpbGUgJWQuCgo="),r(A,16656,"IwClAEMAZgCDAO6oFADf2CMAvhBDAP/1gwB+IFUAX1EjADUAQwBORIMAzsQUAM/MIwD+4kMA/5mDAJYAxQA/MSMApQBDAF5EgwDOyBQA3xEjAP70QwD//IMAngBVAHcAIwA1AEMA//GDAK6IFAC3ACMA/vhDAO/kgwCOiMUAHxEjAKUAQwBmAIMA7qgUAN9UIwC+EEMA7yKDAH4gVQB/IiMANQBDAE5EgwDOxBQAvxEjAP7iQwD3AIMAlgDFAD8iIwClAEMAXkSDAM7IFADXACMA/vRDAP+6gwCeAFUAbwAjADUAQwD/5oMArogUAK+iIwD++EMA5wCDAI6IxQAvIgIAxQCEAH4gAgDOxCQA9wACAP6iRABWAAIAngAUANcAAgC+EIQAZgACAK6IJADfEQIA7qhEADYAAgCOiBQAHxECAMUAhABuAAIAzogkAP+IAgD+uEQATkQCAJYAFAC3AAIA/uSEAF5EAgCmACQA5wACAN5URAAuIgIAPgAUAHcAAgDFAIQAfiACAM7EJAD/8QIA/qJEAFYAAgCeABQAvxECAL4QhABmAAIArogkAO8iAgDuqEQANgACAI6IFAB/IgIAxQCEAG4AAgDOiCQA7+QCAP64RABORAIAlgAUAK+iAgD+5IQAXkQCAKYAJADf2AIA3lREAC4iAgA+ABQAX1ECAFUAhABmAAIA3ogkAP8yAgD+EUQATkQCAK4AFAC3AAIAfjGEAF5RAgDGACQA1wACAO4gRAAeEQIAngAUAHcAAgBVAIQAXlQCAM5EJADnAAIA/vFEADYAAgCmABQAX1UCAP50hAA+EQIAviAkAH90AgDexEQA//gCAJYAFAAvIgIAVQCEAGYAAgDeiCQA9wACAP4RRABORAIArgAUAI+IAgB+MYQAXlECAMYAJADPyAIA7iBEAB4RAgCeABQAbwACAFUAhABeVAIAzkQkAN/RAgD+8UQANgACAKYAFAB/IgIA/nSEAD4RAgC+ICQAvyICAN7ERADvIgIAlgAUAD8yAwDe1P30//wUAD4RVQCPiAMAvjKFAOcAJQBeUf6qf3IDAM5E/fjvRBQAfmRFAK+iAwCmAF1V35n98TYA/vVvYgMA3tH99P/mFAB+cVUAv7EDAK6IhQDf1SUATkT+8n9mAwDGAP347+IUAF5URQCfEQMAlgBdVc/I/fEeEe7IZwADAN7U/fT/8xQAPhFVAL8RAwC+MoUA39glAF5R/qovIgMAzkT9+PcAFAB+ZEUAn5gDAKYAXVXXAP3xNgD+9W9EAwDe0f30/7kUAH5xVQC3AAMAroiFAN/cJQBORP7ydwADAMYA/fjv5BQAXlRFAH9zAwCWAF1Vv7j98R4R7sg/MgIApQCEAH5AAgDeECQA3xECAP5yRABWAAIArqgUAL+yAgCWAIQAZgACAMYAJADnAAIA7shEAC4iAgCOiBQAdwACAKUAhABuAAIAzogkAPcAAgD+kUQANgACAK6iFACvqgIA/riEAF4AAgC+ACQAz8QCAO5ERAD/9AIAPiIUAB8RAgClAIQAfkACAN4QJAD/mQIA/nJEAFYAAgCuqBQAtwACAJYAhABmAAIAxgAkANcAAgDuyEQALiICAI6IFABPRAIApQCEAG4AAgDOiCQA7+ICAP6RRAA2AAIArqIUAH9EAgD+uIQAXgACAL4AJACfAAIA7kREAP92AgA+IhQAPzEDAMYAhQD/2f3yfmT+8b+ZAwCuoiUA72b99FYA7uJ/cwMAvphFAPcA/fhmAP52n4gDAI6IFQDf1aUALiLemE9EAwC+soUA//z98m4ilgC3AAMArqolAN/R/fQ2AN7Ub2QDAK6oRQDv6v34XkTu6H9xAwA+MhUAz8SlAP/6zog/MQMAxgCFAP93/fJ+ZP7xv7MDAK6iJQDnAP30VgDu4ncAAwC+mEUA7+T9+GYA/nZ/ZgMAjogVANcApQAuIt6YPzMDAL6yhQD/df3ybiKWAJ+RAwCuqiUA35n99DYA3tRfUQMArqhFAO/s/fheRO7of3IDAD4yFQC/saUA//POiB8RAwDeVP3yHhEUAH5k/vjPzAMAvpFFAO8iJQAuIv7zj4gDAMYAhQD3ABQAXhH+/K+oAwCmADUA38j98T4x/mZvZAMAzsj98v/1FABmAP70v7oDAK4iRQDnACUAPjL+6n9zAwC+soUA31UUAFYAfnGfEQMAlgA1AM/E/fE+M+7oT0QDAN5U/fIeERQAfmT++L+ZAwC+kUUA7+IlAC4i/vN/ZgMAxgCFAO/kFABeEf78n5gDAKYANQDXAP3xPjH+Zm8iAwDOyP3y/7kUAGYA/vS3AAMAriJFAN/RJQA+Mv7qdwADAL6yhQDv7BQAVgB+cX9yAwCWADUAv7j98T4z7uhfVPzx3tH9+tcA/PgWAP3/f3T89H5x/fO/s/zy7+ru6E9E/PGuIgUAv7j8+PcA/vx3APz0XhH99X91/PLf2O7iPzP88b6y/frPiPz4//v9/39z/PRuAP3ztwD88u9m/vk/MfzxngAFAL+6/Pj//f72ZwD89CYA/fWPiPzy39ze1C8i/PHe0f36z8T8+BYA/f9/cvz0fnH987+Z/PLv7O7oRwD88a4iBQCnAPz4//f+/FcA/PReEf31lwD88t/V7uI3APzxvrL9+scA/Pj//v3/f2b89G4A/fOvqPzy5wD++T8y/PGeAAUAv7H8+O/k/vZfVPz0JgD99YcA/PLfmd7UHxETAGUAQwDeAIMAjYgjAE5EEwClAEMAroiDADUAIwDXABMAxQBDAJ4AgwBVACMALiITAJUAQwB+AIMA/hAjAHcAEwBlAEMAzoiDAI2IIwAeERMApQBDAF4AgwA1ACMA5wATAMUAQwC+AIMAVQAjAP8REwCVAEMAPgCDAO5AIwCvohMAZQBDAN4AgwCNiCMATkQTAKUAQwCuiIMANQAjAO9EEwDFAEMAngCDAFUAIwAuIhMAlQBDAH4AgwD+ECMAtwATAGUAQwDOiIMAjYgjAB4REwClAEMAXgCDADUAIwDPxBMAxQBDAL4AgwBVACMA9wATAJUAQwA+AIMA7kAjAG8AAQCEAAEAVgABABQAAQDXAAEAJAABAJYAAQBFAAEAdwABAIQAAQDGAAEAFAABAI+IAQAkAAEA9wABADUAAQAvIgEAhAABAP5AAQAUAAEAtwABACQAAQC/AAEARQABAGcAAQCEAAEApgABABQAAQBPRAEAJAABAOcAAQA1AAEAPxEBAIQAAQBWAAEAFAABAM8AAQAkAAEAlgABAEUAAQBvAAEAhAABAMYAAQAUAAEAnwABACQAAQDvAAEANQABAD8yAQCEAAEA/kABABQAAQCvAAEAJAABAP9EAQBFAAEAXwABAIQAAQCmAAEAFAABAH8AAQAkAAEA3wABADUAAQAfEQEAJAABAFYAAQCFAAEAvwABABQAAQD3AAEAxgABAHcAAQAkAAEA//gBAEUAAQB/AAEAFAABAN8AAQCmAAEAPzEBACQAAQAuIgEAhQABALcAAQAUAAEA70QBAK6iAQBnAAEAJAABAP9RAQBFAAEAlwABABQAAQDPAAEANgABAD8iAQAkAAEAVgABAIUAAQC/sgEAFAABAO9AAQDGAAEAbwABACQAAQD/cgEARQABAJ8AAQAUAAEA1wABAKYAAQBPRAEAJAABAC4iAQCFAAEAr6gBABQAAQDnAAEArqIBAF8AAQAkAAEA/0QBAEUAAQCPiAEAFAABAK+qAQA2AAEAHxECAP74JABWAAIAtgCFAP9mAgDOABQAHhECAJYANQCvqAIA9gAkAD4xAgCmAEUAv7MCAL6yFAD/9QIAZgB+UV9UAgD+8iQALiICAK4ihQDvRAIAxgAUAP/0AgB2ADUAf0QCAN5AJAA+MgIAngBFANcAAgC+iBQA//oCAF4R/vFPRAIA/vgkAFYAAgC2AIUA78gCAM4AFAAeEQIAlgA1AI+IAgD2ACQAPjECAKYARQDfRAIAvrIUAP+oAgBmAH5RbwACAP7yJAAuIgIAriKFAOcAAgDGABQA7+ICAHYANQB/cgIA3kAkAD4yAgCeAEUAv7ECAL6IFAD/cwIAXhH+8T8zAQCEAAEA7iABAMUAAQDPxAEARAABAP8yAQAVAAEAj4gBAIQAAQBmAAEAJQABAK8AAQBEAAEA7yIBAKYAAQBfAAEAhAABAE5EAQDFAAEAz8wBAEQAAQD3AAEAFQABAG8AAQCEAAEAVgABACUAAQCfAAEARAABAN8AAQD+MAEALyIBAIQAAQDuIAEAxQABAM/IAQBEAAEA/xEBABUAAQB3AAEAhAABAGYAAQAlAAEAfwABAEQAAQDnAAEApgABADcAAQCEAAEATkQBAMUAAQC3AAEARAABAL8AAQAVAAEAPwABAIQAAQBWAAEAJQABAJcAAQBEAAEA1wABAP4wAQAfEQIA7qhEAI6IAgDWAMUA//MCAP78JQA+AAIAtgBVAN/YAgD++EQAZgACAH4ghQD/mQIA5gD1ADYAAgCmABUAnwACAP7yRAB2AAIAzkTFAP92AgD+8SUATkQCAK4AVQDPyAIA/vREAF5EAgC+EIUA7+QCAN5U9QAeEQIAlgAVAC8iAgDuqEQAjogCANYAxQD/+gIA/vwlAD4AAgC2AFUAvxECAP74RABmAAIAfiCFAO8iAgDmAPUANgACAKYAFQB/IgIA/vJEAHYAAgDORMUA/9UCAP7xJQBORAIArgBVAG8AAgD+9EQAXkQCAL4QhQDfEQIA3lT1AB4RAgCWABUAX1EDAPYAFAAeEUQAjoilAN/UAwCuolUA/3YkAD4itgCvqgMA5gAUAP/1RABmAIUAz8wDAJ4AxQDvRCQANgD++H8xAwDu6BQA//FEAHYApQDPxAMAfiJVAN/RJABORP70X1EDANYAFADv4kQAXkSFAL8iAwCWAMUA38gkAC4i/vJvIgMA9gAUAB4RRACOiKUAv7EDAK6iVQD/MyQAPiK2AK+oAwDmABQA/7lEAGYAhQC/qAMAngDFAO/kJAA2AP74b2QDAO7oFAD//EQAdgClAM/IAwB+IlUA7+okAE5E/vR/dAMA1gAUAP/6RABeRIUAv7IDAJYAxQDfRCQALiL+8j8x8wD++v3xNgAEAL4ydQDfEfMA3lT98u/k1QB+cf78f3PzAP7z/fgeEQQAlgBVAL+x8wDOALUA39j99GYA/rlfVPMA/nb98SYABACmAHUAnwDzAK4A/fL/99UARgD+9X908wDmAP34FgAEAIYAVQCPiPMAxgC1AO/i/fReEe6oPxHzAP76/fE2AAQAvjJ1AN/R8wDeVP3y//vVAH5x/vx/RPMA/vP9+B4RBACWAFUAf3LzAM4AtQDvIv30ZgD+uU9E8wD+dv3xJgAEAKYAdQC/EfMArgD98v//1QBGAP71PzLzAOYA/fgWAAQAhgBVAG8A8wDGALUAv7j99F4R7qgvIg=="),r(A,20764,"AQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAwAAAAMAAAAEAAAABQAAALchQiFnIUIhERERETMzMzN3d3d3AAAAAAAAAAABVgAAAAAAAIBRAACQUQAAAVYAAAEAAACQUQAAgFEAAAE0AAAAAAAAoFEAACBSAAABNAAAAQAAALBRAAAwUgAAARgAAAAAAADAUQAAgFIAAAEYAAABAAAA0FEAAJBSAADBCgAAAAAAAOBRAADgUgAAwQoAAAEAAADwUQAA8FIAACEFAAAAAAAAAFIAAABVAAAhBQAAAQAAABBSAAAQVQAAIQIAAAAAAAAgVgAAgFUAACECAAABAAAAMFYAAJBVAAABVgAAAAAAAEBSAAAwUgAAAVYAAAEAAABQUgAAIFIAAAFUAAAAAAAAYFIAACBTAAABVAAAAQAAAHBSAAAwUwAAAUgAAAAAAACAUgAAIFMAAAFIAAABAAAAkFIAADBTAAABOAAAAAAAAKBSAAAgUwAAATgAAAEAAACwUgAAMFMAAAEwAAAAAAAAwFIAAIBTAAABMAAAAQAAANBSAACQUwAAASQAAAAAAADgUgAAoFMAAAEkAAABAAAA8FIAALBTAAABHAAAAAAAAABTAADgUwAAARwAAAEAAAAQUwAA8FMAAAEWAAAAAAAAAFUAAABUAAABFgAAAQAAABBVAAAQVAAAAVYAAAAAAABAUwAAMFMAAAFWAAABAAAAUFMAACBTAAABVAAAAAAAAGBTAAAgUwAAAVQAAAEAAABwUwAAMFMAAAFRAAAAAAAAgFMAAEBTAAABUQAAAQAAAJBTAABQUwAAAUgAAAAAAACgUwAAYFMAAAFIAAABAAAAsFMAAHBTAAABOAAAAAAAAMBTAACAUwAAATgAAAEAAADQUwAAkFMAAAE0AAAAAAAA4FMAAKBTAAABNAAAAQAAAPBTAACwUwAAATAAAAAAAAAAVAAAwFMAAAEwAAABAAAAEFQAANBTAAABKAAAAAAAACBUAADAUwAAASgAAAEAAAAwVAAA0FMAAAEkAAAAAAAAQFQAAOBTAAABJAAAAQAAAFBUAADwUwAAASIAAAAAAABgVAAAAFQAAAEiAAABAAAAcFQAABBUAAABHAAAAAAAAIBUAAAgVAAAARwAAAEAAACQVAAAMFQAAAEYAAAAAAAAoFQAAEBUAAABGAAAAQAAALBUAABQVAAAARYAAAAAAADAVAAAYFQAAAEWAAABAAAA0FQAAHBUAAABFAAAAAAAAOBUAACAVAAAARQAAAEAAADwVAAAkFQAAAESAAAAAAAAAFUAAKBUAAABEgAAAQAAABBVAACwVAAAAREAAAAAAAAgVQAAwFQAAAERAAABAAAAMFUAANBUAADBCgAAAAAAAEBVAADgVAAAwQoAAAEAAABQVQAA8FQAAMEJAAAAAAAAYFUAAABVAADBCQAAAQAAAHBVAAAQVQAAoQgAAAAAAACAVQAAIFUAAKEIAAABAAAAkFUAADBVAAAhBQAAAAAAAKBVAABAVQAAIQUAAAEAAACwVQAAUFUAAEEEAAAAAAAAwFUAAGBVAABBBAAAAQAAANBVAABwVQAAoQIAAAAAAADgVQAAgFUAAKECAAABAAAA8FUAAJBVAAAhAgAAAAAAAABWAACgVQAAIQIAAAEAAAAQVgAAsFUAAEEBAAAAAAAAIFYAAMBVAABBAQAAAQAAADBWAADQVQAAEQEAAAAAAABAVgAA4FUAABEBAAABAAAAUFYAAPBVAACFAAAAAAAAAGBWAAAAVgAAhQAAAAEAAABwVgAAEFYAAEkAAAAAAAAAgFYAACBWAABJAAAAAQAAAJBWAAAwVgAAJQAAAAAAAACgVgAAQFYAACUAAAABAAAAsFYAAFBWAAAVAAAAAAAAAMBWAABgVgAAFQAAAAEAAADQVgAAcFYAAAkAAAAAAAAA4FYAAIBWAAAJAAAAAQAAAPBWAACQVgAABQAAAAAAAAAAVwAAoFYAAAUAAAABAAAAEFcAALBWAAABAAAAAAAAAABXAADAVgAAAQAAAAEAAAAQVwAA0FYAAAFWAAAAAAAAIFcAACBXAAABVgAAAQAAADBXAAAwVwAAAAEDAwECAwMFBgcHBgYHBwABAwMBAgMDBQYHBwYGBwcFBgcHBgYHBwgICAgICAgIBQYHBwYGBwcICAgICAgICAECAwMCAgMDBgYHBwYGBwcBAgMDAgIDAwYGBwcGBgcHBgYHBwYGBwcICAgICAgICAYGBwcGBgcHCAgICAgICAgDAwQEAwMEBAcHBwcHBwcHAwMEBAMDBAQHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgHBwcHBwcHBwgICAgICAgIAwMEBAMDBAQHBwcHBwcHBwMDBAQDAwQEBwcHBwcHBwcHBwcHBwcHBwgICAgICAgIBwcHBwcHBwcICAgICAgICAECAwMCAgMDBgYHBwYGBwcBAgMDAgIDAwYGBwcGBgcHBgYHBwYGBwcICAgICAgICAYGBwcGBgcHCAgICAgICAgCAgMDAgIDAwYGBwcGBgcHAgIDAwICAwMGBgcHBgYHBwYGBwcGBgcHCAgICAgICAgGBgcHBgYHBwgICAgICAgIAwMEBAMDBAQHBwcHBwcHBwMDBAQDAwQEBwcHBwcHBwcHBwcHBwcHBwgICAgICAgIBwcHBwcHBwcICAgICAgICAMDBAQDAwQEBwcHBwcHBwcDAwQEAwMEBAcHBwcHBwcHBwcHBwcHBwcICAgICAgICAcHBwcHBwcHCAgICAgICAgAAQUGAQIGBgMDBwcDAwcHAAEFBgECBgYDAwcHAwMHBwMDBwcDAwcHBAQHBwQEBwcDAwcHAwMHBwQEBwcEBAcHAQIGBgICBgYDAwcHAwMHBwECBgYCAgYGAwMHBwMDBwcDAwcHAwMHBwQEBwcEBAcHAwMHBwMDBwcEBAcHBAQHBwUGCAgGBggIBwcICAcHCAgFBggIBgYICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgGBggIBgYICAcHCAgHBwgIBgYICAYGCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIAQIGBgICBgYDAwcHAwMHBwECBgYCAgYGAwMHBwMDBwcDAwcHAwMHBwQEBwcEBAcHAwMHBwMDBwcEBAcHBAQHBwICBgYCAgYGAwMHBwMDBwcCAgYGAgIGBgMDBwcDAwcHAwMHBwMDBwcEBAcHBAQHBwMDBwcDAwcHBAQHBwQEBwcGBggIBgYICAcHCAgHBwgIBgYICAYGCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBgYICAYGCAgHBwgIBwcICAYGCAgGBggIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAABAwMBAgMDBQYHBwYGBwcAAQMDAQIDAwUGBwcGBgcHBQYHBwYGBwcICAgICAgICAUGBwcGBgcHCAgICAgICAgBAgMDAgIDAwYGBwcGBgcHAQIDAwICAwMGBgcHBgYHBwYGBwcGBgcHCAgICAgICAgGBgcHBgYHBwgICAgICAgIAwMEBAMDBAQHBwcHBwcHBwMDBAQDAwQEBwcHBwcHBwcHBwcHBwcHBwgICAgICAgIBwcHBwcHBwcICAgICAgICAMDBAQDAwQEBwcHBwcHBwcDAwQEAwMEBAcHBwcHBwcHBwcHBwcHBwcICAgICAgICAcHBwcHBwcHCAgICAgICAgBAgMDAgIDAwYGBwcGBgcHAQIDAwICAwMGBgcHBgYHBwYGBwcGBgcHCAgICAgICAgGBgcHBgYHBwgICAgICAgIAgIDAwICAwMGBgcHBgYHBwICAwMCAgMDBgYHBwYGBwcGBgcHBgYHBwgICAgICAgIBgYHBwYGBwcICAgICAgICAMDBAQDAwQEBwcHBwcHBwcDAwQEAwMEBAcHBwcHBwcHBwcHBwcHBwcICAgICAgICAcHBwcHBwcHCAgICAgICAgDAwQEAwMEBAcHBwcHBwcHAwMEBAMDBAQHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgHBwcHBwcHBwgICAgICAgIAAMBBAMGBAcBBAIFBAcFBwADAQQDBgQHAQQCBQQHBQcBBAIFBAcFBwIFAgUFBwUHAQQCBQQHBQcCBQIFBQcFBwMGBAcGCAcIBAcFBwcIBwgDBgQHBggHCAQHBQcHCAcIBAcFBwcIBwgFBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgBBAIFBAcFBwIFAgUFBwUHAQQCBQQHBQcCBQIFBQcFBwIFAgUFBwUHAgUCBQUHBQcCBQIFBQcFBwIFAgUFBwUHBAcFBwcIBwgFBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAUHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAMGBAcGCAcIBAcFBwcIBwgDBgQHBggHCAQHBQcHCAcIBAcFBwcIBwgFBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgGCAcICAgICAcIBwgICAgIBggHCAgICAgHCAcICAgICAcIBwgICAgIBwgHCAgICAgHCAcICAgICAcIBwgICAgIBAcFBwcIBwgFBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAUHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAcIBwgICAgIBwgHCAgICAgHCAcICAgICAcIBwgICAgIBwgHCAgICAgHCAcICAgICAcIBwgICAgIBwgHCAgICAgJCQoKCQkKCgwMDQsMDA0LCQkKCgkJCgoMDAsNDAwLDQwMDQ0MDAsLDAkNCgkMCgsMDAsLDAwNDQwJCwoJDAoNCQkKCgkJCgoMDA0LDAwNCwkJCgoJCQoKDAwLDQwMCw0MDA0NDAwLCwwJDQoJDAoLDAwLCwwMDQ0MCQsKCQwKDQoKCgoKCgoKDQsNCw0LDQsKCgkJCgoJCQ0LDAwNCwwMDQ0NDQsLCwsNCg0KCgsKCw0NDAwLCwwMDQoMCQoLCQwKCgkJCgoJCQsNDAwLDQwMCgoKCgoKCgoLDQsNCw0LDQsLDAwNDQwMCwoMCQoNCQwLCwsLDQ0NDQsKCwoKDQoN"),r(A,24649,"AQABAAEAAQAAAQEAAAEBAAEAAQABAAEAAAAAAQEBAQAAAAAAAQABAAAAAAEBAQEAAAABAAEBAQ=="),r(A,24713,"AQABAAEAAQAAAQEAAAEBAAEAAQABAAEAAAAAAQEBAQAAAAAAAQABAAAAAAEBAQEAAAABAAEBAQ=="),r(A,24777,"AQABAAEAAQ=="),r(A,24793,"AQABAAEAAQAAAAABAQEBAAAAAAABAAEAAAAAAQEBAQAAAAAAAQABAQEAAAEBAAAAAQABAAEAAQEBAQEBAQEBAAEAAQABAAEAAAAAAQEBAQABAAABAQABAAAAAAEBAQEAAQABAQEBAQIAAAAEAAAABAAAAAgAAACQ/wAADAAAABkAAABS/wAAFAAAABoAAABT/wAAFAAAABsAAABe/wAAFAAAABwAAABc/wAAFAAAAB0AAABd/wAAFAAAAB4AAABf/wAAFAAAAB8AAABR/wAAAgAAACAAAABV/wAABAAAACEAAABX/wAABAAAACIAAABY/wAAEAAAACMAAABg/wAABAAAACQAAABh/wAAEAAAACUAAACR/w=="),r(A,25080,"Y/8AAAQAAAAmAAAAZP8AABQAAAAnAAAAdP8AABQAAAAoAAAAeP8AAAQAAAApAAAAUP8AAAQAAAAqAAAAWf8AAAQAAAArAAAAdf8AABQAAAAsAAAAd/8AABQAAAAtAAAAAAAAABQ="),r(A,25200,"LgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAAgIFBqNwAAAHB5dGY4AAAAaDJwajk="),r(A,25264,"cmRoaToAAABybG9jOwAAAGNjcGI8AAAAcmxjcD0AAABwYW1jPgAAAGZlZGM/AAAAAAAAAGoAAABqAAAAawAAAGsAAABrAAAAawAAAGsAAABrAAAAagAAAGoAAABrAAAAagAAAGoAAABqAAAAag=="),r(A,25408,"awAAAGsAAABqAAAAagAAAAAAAABqAAAAAAAAAGs="),r(A,25572,"aGY="),r(A,25584,"GQALABkZGQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAAZAAoKGRkZAwoHAAEACQsYAAAJBgsAAAsABhkAAAAZGRk="),r(A,25665,"DgAAAAAAAAAAGQALDRkZGQANAAACAAkOAAAACQAOAAAO"),r(A,25723,"DA=="),r(A,25735,"EwAAAAATAAAAAAkMAAAAAAAMAAAM"),r(A,25781,"EA=="),r(A,25793,"DwAAAAQPAAAAAAkQAAAAAAAQAAAQ"),r(A,25839,"Eg=="),r(A,25851,"EQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoa"),r(A,25906,"GgAAABoaGgAAAAAAAAk="),r(A,25955,"FA=="),r(A,25967,"FwAAAAAXAAAAAAkUAAAAAAAUAAAU"),r(A,26013,"Fg=="),r(A,26025,"FQAAAAAVAAAAAAkWAAAAAAAWAAAWAAAwMTIzNDU2Nzg5QUJDREVG"),r(A,26064,"IHABAAAAAAAF"),r(A,26084,"bA=="),r(A,26108,"bQAAAG4AAADIaw=="),r(A,26132,"Ag=="),r(A,26148,"//////////8="),r(A,26216,"BQ=="),r(A,26228,"bw=="),r(A,26252,"bQAAAHAAAADYawAAAAQ="),r(A,26276,"AQ=="),r(A,26292,"/////wo=");var Qe=[null,te,function(f,A,e){return 0},function(f,A,e){return T=-1,-1},ae,ae,sA,function(f,A,e,i){A|=0,e|=0,i|=0;var r=0,a=0;a=b[(f|=0)+32>>2],b[f+36>>2]=a;f:{if(r=b[f+48>>2]){for(;;){if(-1==(0|(r=0|Qe[b[f+20>>2]](a,r,b[f>>2]))))break f;if(a=r+b[f+36>>2]|0,b[f+36>>2]=a,r=b[f+48>>2]-r|0,b[f+48>>2]=r,!r)break}a=b[f+32>>2]}return b[f+48>>2]=0,b[f+36>>2]=a,0|Qe[b[f+28>>2]](A,e,b[f>>2])?(b[f+56>>2]=A,b[f+60>>2]=e,1):(b[f+68>>2]=8|b[f+68>>2],0)}return b[f+68>>2]=8|b[f+68>>2],xf(i,4,15604,0),b[f+68>>2]=8|b[f+68>>2],0},function(f,A,e,i){A|=0,e|=0,i|=0;var r=0,a=0,B=0,o=0,g=0;if((r=b[(f|=0)+48>>2])>>>0>=A>>>0)return b[f+48>>2]=r-A,b[f+36>>2]=b[f+36>>2]+A,r=e+b[f+60>>2]|0,r=(i=A+b[f+56>>2]|0)>>>0<A>>>0?r+1|0:r,b[f+56>>2]=i,b[f+60>>2]=r,T=e,0|A;if(4&k[f+68|0])return b[f+48>>2]=0,b[f+36>>2]=r+b[f+36>>2],B=b[f+60>>2],A=(e=b[f+56>>2])+r|0,b[f+56>>2]=A,b[f+60>>2]=A>>>0<e>>>0?B+1|0:B,T=r?0:-1,0|(r||-1);r&&(b[f+48>>2]=0,b[f+36>>2]=b[f+32>>2],o=A,a=r,A=A-r|0,e=e-(r>>>0>o>>>0)|0);f:{if(o=(0|e)>0?1:!!A&(0|e)>=0)for(;;){if(o=b[f+12>>2],r=e+B|0,g=A+a|0,r=b[f+60>>2]+(g>>>0<a>>>0?r+1|0:r)|0,(0|(r=g>>>0>(g=g+b[f+56>>2]|0)>>>0?r+1|0:r))==(0|o)&g>>>0>G[f+8>>2]|r>>>0>o>>>0){xf(i,4,15630,0),b[f+48>>2]=0,b[f+36>>2]=b[f+32>>2],A=B+b[f+60>>2]|0,A=(e=a+b[f+56>>2]|0)>>>0<a>>>0?A+1|0:A,b[f+56>>2]=e,b[f+60>>2]=A,a=(i=b[f+8>>2])-e|0,B=(r=b[f+12>>2])-((e>>>0>i>>>0)+A|0)|0,o=0|Qe[b[f+28>>2]](i,r,b[f>>2]),g=b[f+68>>2],o&&(b[f+56>>2]=i,b[f+60>>2]=r),b[f+68>>2]=4|g,A=(f=(0|e)==(0|i)&(0|A)==(0|r))?-1:a;break f}if(-1==((r=0|Qe[b[f+24>>2]](A,e,b[f>>2]))&(g=o=T))){xf(i,4,15630,0),b[f+68>>2]=4|b[f+68>>2],r=B+b[f+60>>2]|0,r=(A=a+b[f+56>>2]|0)>>>0<a>>>0?r+1|0:r,b[f+56>>2]=A,b[f+60>>2]=r,A=(f=!(B|a))?-1:a;break f}if(B=B+g|0,B=(a=r+a|0)>>>0<r>>>0?B+1|0:B,o=A,!(!!(A=A-r|0)&(0|(e=e-((r>>>0>o>>>0)+g|0)|0))>=0|(0|e)>0))break}return A=B+b[f+60>>2]|0,A=(e=a+b[f+56>>2]|0)>>>0<a>>>0?A+1|0:A,b[f+56>>2]=e,b[f+60>>2]=A,T=B,0|a}return T=f?-1:B,0|A},function(f,A,e,i){A|=0,e|=0,i|=0;var r=0,a=0,B=0,o=0,g=0;if(a=-1,r=-1,!(8&k[(f|=0)+68|0])){a=b[f+32>>2],b[f+36>>2]=a;f:{A:{e:{if(r=b[f+48>>2]){for(;;){if(-1==(0|(r=0|Qe[b[f+20>>2]](a,r,b[f>>2]))))break e;if(a=r+b[f+36>>2]|0,b[f+36>>2]=a,r=b[f+48>>2]-r|0,b[f+48>>2]=r,!r)break}a=b[f+32>>2]}if(b[f+36>>2]=a,!!A&(0|e)>=0|(0|e)>0)break A;a=0,r=0;break f}return b[f+68>>2]=8|b[f+68>>2],xf(i,4,15604,0),b[f+48>>2]=0,b[f+68>>2]=8|b[f+68>>2],T=-1,-1}for(a=0,r=0;;){if(B=0|Qe[b[f+24>>2]](A,e,b[f>>2]),g=o=T,-1==(B&o))return xf(i,4,15589,0),b[f+68>>2]=8|b[f+68>>2],A=r+b[f+60>>2]|0,A=(e=a+b[f+56>>2]|0)>>>0<a>>>0?A+1|0:A,b[f+56>>2]=e,b[f+60>>2]=A,T=(f=!(r|a))?-1:r,0|(A=f?-1:a);if(r=r+g|0,r=(a=a+B|0)>>>0<B>>>0?r+1|0:r,o=A,!(!!(A=A-B|0)&(0|(e=e-(g+(B>>>0>o>>>0)|0)|0))>=0|(0|e)>0))break}}A=r+b[f+60>>2]|0,A=(e=a+b[f+56>>2]|0)>>>0<a>>>0?A+1|0:A,b[f+56>>2]=e,b[f+60>>2]=A}return T=r,0|a},function(f,A){if(A|=0,(A=b[(f|=0)+28>>2])>>>0<G[f+32>>2])for(;Hf(f,b[f+24>>2]+(u(b[f+20>>2],A)<<2)|0),(A=A+1|0)>>>0<G[f+32>>2];);hf(b[f>>2]),hf(f)},function(f,A){A|=0;var e=0,i=0;if((e=b[(f|=0)+32>>2])>>>0>=(i=(A=b[f+28>>2])+8|0)>>>0)for(;bf(f,b[f+24>>2]+(A<<2)|0,b[f+20>>2],8),(e=b[f+32>>2])>>>0>=(i=(A=i)+8|0)>>>0;);A>>>0<e>>>0&&bf(f,b[f+24>>2]+(A<<2)|0,b[f+20>>2],e-A|0),hf(b[f>>2]),hf(f)},function(f,A){A|=0;var e=0,i=0,r=0,a=0,k=0,B=0,o=0,g=0,l=0,c=0,n=0,I=0,s=0,C=0,Z=0,Q=0,W=0,w=0;if(G[(f|=0)+44>>2]>=8)for(I=(r=b[f+36>>2])<<5,s=u(r,28),C=u(r,24),Z=u(r,20),Q=r<<4,o=u(r,12),g=r<<3,k=b[f+40>>2],l=8;;){if(rf(f,k,b[f+36>>2],8),Qf(f),B=b[f+32>>2]){a=b[f>>2],A=0;f:{if(1!=(0|B)){for(W=1&B,w=-2&B,c=0;i=a+(A<<5)|0,t[(e=(A<<2)+k|0)>>2]=t[i>>2],t[e+(n=r<<2)>>2]=t[i+4>>2],t[e+g>>2]=t[i+8>>2],t[e+o>>2]=t[i+12>>2],e=((i=1|A)<<2)+k|0,i=a+(i<<5)|0,t[e>>2]=t[i>>2],t[e+n>>2]=t[i+4>>2],t[e+g>>2]=t[i+8>>2],t[e+o>>2]=t[i+12>>2],A=A+2|0,(0|w)!=(0|(c=c+2|0)););if(!W)break f}e=(A<<2)+k|0,A=a+(A<<5)|0,t[e>>2]=t[A>>2],t[e+(r<<2)>>2]=t[A+4>>2],t[e+g>>2]=t[A+8>>2],t[e+o>>2]=t[A+12>>2]}for(i=b[f>>2],A=0;e=i+(A<<5)|0,t[(a=(A<<2)+k|0)+Q>>2]=t[e+16>>2],t[a+Z>>2]=t[e+20>>2],t[a+C>>2]=t[e+24>>2],t[a+s>>2]=t[e+28>>2],(0|B)!=(0|(A=A+1|0)););}if(k=k+I|0,!((l=l+8|0)>>>0<=G[f+44>>2]))break}hf(b[f>>2]),hf(f)},function(f,A){A|=0;var e=0,i=0,r=0,a=0,k=0,B=0,o=0,g=0,l=0,c=0;if(G[(f|=0)+44>>2]>=8)for(o=b[f+40>>2],c=8;;){if(l=b[f+12>>2]<<5,r=b[f>>2],k=b[f+36>>2],!((A=b[f+16>>2])>>>0>=(B=b[f+20>>2])>>>0)&&(g=r+l|0,i=A+1|0,B-A&1&&(e=g+(A<<6)|0,A=(u(A,k)<<2)+o|0,a=b[A+28>>2],b[e+24>>2]=b[A+24>>2],b[e+28>>2]=a,a=b[A+20>>2],b[e+16>>2]=b[A+16>>2],b[e+20>>2]=a,a=b[A+12>>2],b[e+8>>2]=b[A+8>>2],b[e+12>>2]=a,a=b[A+4>>2],b[e>>2]=b[A>>2],b[e+4>>2]=a,A=i),(0|i)!=(0|B)))for(;i=(u(A,k)<<2)+o|0,a=b[i+28>>2],b[(e=g+(A<<6)|0)+24>>2]=b[i+24>>2],b[e+28>>2]=a,a=b[i+20>>2],b[e+16>>2]=b[i+16>>2],b[e+20>>2]=a,a=b[i+12>>2],b[e+8>>2]=b[i+8>>2],b[e+12>>2]=a,a=b[i+4>>2],b[e>>2]=b[i>>2],b[e+4>>2]=a,e=g+((i=A+1|0)<<6)|0,i=(u(i,k)<<2)+o|0,a=b[i+28>>2],b[e+24>>2]=b[i+24>>2],b[e+28>>2]=a,a=b[i+20>>2],b[e+16>>2]=b[i+16>>2],b[e+20>>2]=a,a=b[i+12>>2],b[e+8>>2]=b[i+8>>2],b[e+12>>2]=a,a=b[i+4>>2],b[e>>2]=b[i>>2],b[e+4>>2]=a,(0|B)!=(0|(A=A+2|0)););if(!((A=b[f+24>>2])>>>0>=(B=b[f+28>>2])>>>0)&&(g=32+(r-l|0)|0,l=(u(k,b[f+8>>2])<<2)+o|0,i=A+1|0,B-A&1&&(e=g+(A<<6)|0,A=l+(u(A,k)<<2)|0,r=b[A+28>>2],b[e+24>>2]=b[A+24>>2],b[e+28>>2]=r,r=b[A+20>>2],b[e+16>>2]=b[A+16>>2],b[e+20>>2]=r,r=b[A+12>>2],b[e+8>>2]=b[A+8>>2],b[e+12>>2]=r,r=b[A+4>>2],b[e>>2]=b[A>>2],b[e+4>>2]=r,A=i),(0|i)!=(0|B)))for(;i=l+(u(A,k)<<2)|0,r=b[i+28>>2],b[(e=g+(A<<6)|0)+24>>2]=b[i+24>>2],b[e+28>>2]=r,r=b[i+20>>2],b[e+16>>2]=b[i+16>>2],b[e+20>>2]=r,r=b[i+12>>2],b[e+8>>2]=b[i+8>>2],b[e+12>>2]=r,r=b[i+4>>2],b[e>>2]=b[i>>2],b[e+4>>2]=r,e=g+((i=A+1|0)<<6)|0,i=l+(u(i,k)<<2)|0,r=b[i+28>>2],b[e+24>>2]=b[i+24>>2],b[e+28>>2]=r,r=b[i+20>>2],b[e+16>>2]=b[i+16>>2],b[e+20>>2]=r,r=b[i+12>>2],b[e+8>>2]=b[i+8>>2],b[e+12>>2]=r,r=b[i+4>>2],b[e>>2]=b[i>>2],b[e+4>>2]=r,(0|B)!=(0|(A=A+2|0)););if(Qf(f),A=0,b[f+32>>2])for(;i=b[f>>2]+(A<<5)|0,e=b[i+28>>2],k=(u(b[f+36>>2],A)<<2)+o|0,b[k+24>>2]=b[i+24>>2],b[k+28>>2]=e,e=b[i+20>>2],b[k+16>>2]=b[i+16>>2],b[k+20>>2]=e,e=b[i+12>>2],b[k+8>>2]=b[i+8>>2],b[k+12>>2]=e,e=b[i+4>>2],b[k>>2]=b[i>>2],b[k+4>>2]=e,(A=A+1|0)>>>0<G[f+32>>2];);if(o=o+32|0,!((c=c+8|0)>>>0<=G[f+44>>2]))break}hf(b[f>>2]),hf(f)},function(f,A){f|=0,A|=0;var e,r,B=0,o=0,g=0,l=0,I=0,C=0,Q=0,w=0,V=0,H=0,Y=0,v=0,F=0,m=0,E=0,y=0,d=0,R=0,J=0,U=0,X=0,h=0,D=0,M=0,p=0,N=0,S=0,K=0,x=0,j=0,P=0,T=0,L=0,O=0,q=0,_=0,$=0,Af=0,ef=0,rf=0,af=0,bf=0,of=0,gf=0,lf=Z(0),cf=0,sf=0,Gf=0,uf=0,Zf=0,Qf=0,Wf=0,wf=0,Vf=0,Hf=0,Yf=0,vf=0,Ff=0,mf=0;z=r=z-96|0,e=b[f+8>>2];f:{A:{e:if(b[f>>2])(B=b[e+60>>2])&&(hf(B),b[e+60>>2]=0);else{if(B=se(I=u(b[e+16>>2]-b[e+8>>2]|0,b[e+20>>2]-b[e+12>>2]|0)<<2),b[e+60>>2]=B,!B){xf(b[f+32>>2],1,8023,0),o=f+28|0;break A}if(!I)break e;c(B,0,I)}if(!b[b[f+28>>2]>>2])break f;Wf=b[f+16>>2],B=b[Wf+28>>2]+u(b[Wf+24>>2],152)|0,Ff=b[B-152>>2],mf=b[B-144>>2],wf=b[f+20>>2],Vf=b[f+12>>2],vf=b[f+4>>2],o=f+28|0,l=0;e:if(!((0|(E=b[A+4>>2]))<=0)){V=b[A>>2],B=0;i:{for(;;){if(I=V+u(B,12)|0,!b[I>>2])break i;if((0|E)==(0|(B=B+1|0)))break}l=0;break e}l=b[I+4>>2]}if(!l){if(!(l=DA(1,156))){xf(b[f+32>>2],1,6313,0);break A}b[l+140>>2]=0,B=0;e:if(2147483647!=(0|(V=b[A+4>>2]))){if(I=b[A>>2],(0|V)>0)for(;;){if(E=I+u(B,12)|0,!b[E>>2]){(V=b[E+8>>2])&&(Qe[0|V](b[E+4>>2]),I=b[A>>2]),A=I+u(B,12)|0,b[A+8>>2]=15,b[A+4>>2]=l,B=1;break e}if((0|V)==(0|(B=B+1|0)))break}B=0,(I=Cf(I,u(V,12)+12|0))&&(b[A>>2]=I,B=b[A+4>>2],I=I+u(B,12)|0,b[I+8>>2]=15,b[I+4>>2]=l,b[I>>2]=0,b[A+4>>2]=B+1,B=1)}if(!B){xf(b[f+32>>2],1,8338,0),(A=b[l+116>>2])&&(hf(A),b[l+116>>2]=0),(A=b[l+120>>2])&&(hf(A),b[l+120>>2]=0),hf(b[l+148>>2]),hf(l);break A}}b[l+144>>2]=b[f+24>>2],N=b[f+40>>2],$=b[f+36>>2],j=b[f+32>>2],w=b[wf+808>>2],A=b[Vf+16>>2];e:{i:{if(64&(L=b[wf+16>>2])){z=V=z-304|0;r:if(w){if($){xf(j,1,3219,0);break r}xf(j,1,3219,0)}else{Q=b[l+116>>2],B=b[e+20>>2]-b[e+12>>2]|0,A=b[e+16>>2]-b[e+8>>2]|0;a:{if((I=u(B,A))>>>0>G[l+132>>2]){if(hf(Q),Q=se(w=I<<2),b[l+116>>2]=Q,!Q){Q=0;break r}b[l+132>>2]=I}else{if(!Q)break a;w=I<<2}w&&c(Q,0,w)}if(Q=b[l+120>>2],G[l+136>>2]>2639||(hf(Q),Q=se(10560),b[l+120>>2]=Q,Q))if(b[l+136>>2]=2640,c(Q,0,10560),b[l+128>>2]=B,b[l+124>>2]=A,v=b[e+24>>2]){E=b[e+28>>2],Q=1;a:{b:{k:{B:{o:{if(w=b[e+52>>2]){I=3&w,B=b[e+4>>2],Q=0;g:{if(w>>>0>=4){for(A=-4&w;C=b[(F=B+(Q<<3)|0)+28>>2]+(b[F+20>>2]+(b[F+12>>2]+(b[F+4>>2]+C|0)|0)|0)|0,Q=Q+4|0,(0|A)!=(0|(D=D+4|0)););if(!I)break g}for(;C=b[4+(B+(Q<<3)|0)>>2]+C|0,Q=Q+1|0,(0|I)!=(0|(H=H+1|0)););}if(!b[l+144>>2]&1==(0|w))break b;if(G[l+152>>2]>=C>>>0)break o;if(D=Cf(b[l+148>>2],C))break B;Q=0;break r}if(!b[l+144>>2])break r}if(D=b[l+148>>2])break k;Q=0;break r}b[l+152>>2]=C,b[l+148>>2]=D}if(!b[e+52>>2]){C=0;break a}for(w=b[e+4>>2],C=0,Q=0;(A=b[(B=(I=Q<<3)+w|0)+4>>2])&&n(C+D|0,b[B>>2],A),w=b[e+4>>2],C=b[4+(I+w|0)>>2]+C|0,(Q=Q+1|0)>>>0<G[e+52>>2];);break a}D=b[b[e+4>>2]>>2]}Q=0,w=0,I=0,(B=b[e+40>>2])&&(A=b[e>>2],w=b[A+8>>2],I=0,1!=(0|B)&&(I=b[A+32>>2])),B=v-E|0,(w=I+w|0)?(Q=1,A=b[e>>2],m=b[A>>2],H=0,1!=(0|w)?H=b[A+24>>2]:Q=0):H=0,K=B+1|0,cf=b[l+116>>2],d=b[l+120>>2],q=b[e+12>>2],h=b[e+20>>2],af=b[e+8>>2],p=b[e+16>>2];a:{b:{k:{B:{o:{g:{l:{c:{if(!(!Q|H)){if(!$)break c;xf(j,2,10806,0),w=1;break l}if(w>>>0<4)break l;if($){b[V+112>>2]=w,xf(j,1,9590,V+112|0);break a}b[V+96>>2]=w,xf(j,1,9590,V+96|0),Q=0;break r}if(xf(j,2,10806,0),(Q=b[e+24>>2])>>>0>30)break g;if(g=1,Q>>>0>=K>>>0)break B;break b}if((Q=b[e+24>>2])>>>0<=30)break o;if($){b[V+32>>2]=b[e+24>>2],xf(j,1,12302,V+32|0);break a}}b[V>>2]=Q,xf(j,1,12302,V),Q=0;break r}if(Q>>>0<K>>>0)break k;w>>>0<2?g=w:(0|Q)==(0|K)?(g=1,k[26384]||($?k[26384]||(i[26384]=1,b[V+80>>2]=w,xf(j,2,10299,V+80|0)):(i[26384]=1,b[V+64>>2]=w,xf(j,2,10299,V- -64|0)))):g=w}if(!(!(m>>>0<2|C>>>0<m>>>0)&H+m>>>0<=C>>>0)){if($){Q=0,xf(j,1,9532,0);break r}Q=0,xf(j,1,9532,0);break r}if(!(!((Q=(A=k[(T=m+D|0)-1|0])<<4|15&k[T-2|0])>>>0<2|255==(0|A))&(0|Q)<=(0|m))){if($){Q=0,xf(j,1,15305,0);break r}Q=0,xf(j,1,15305,0);break r}Hf=b[e+28>>2],b[V+272>>2]=0,b[V+280>>2]=0,b[V+264>>2]=0,b[V+268>>2]=0,b[V+296>>2]=0,b[V+300>>2]=0,b[V+284>>2]=0,b[V+288>>2]=0,A=Q-1|0,b[V+276>>2]=A,F=(m+D|0)-Q|0,b[V+256>>2]=F,E=k[0|F],B=8,b[V+272>>2]=8,w=F+1|0,b[V+256>>2]=w,I=Q-2|0,b[V+276>>2]=I,v=1==(0|A)?15|E:E,E=A=0,b[V+264>>2]=v,b[V+268>>2]=A,b[V+280>>2]=!A&255==(0|v);B:{if(3!=(0|(J=3&F))){if(U=0,!(255!=(0|v)|!!(0|A)|k[0|w]<=143))break B;if(A=255,A=Q>>>0>=3?k[0|w]:A,C=Q-3|0,b[V+276>>2]=C,B=(F=!E&255==(0|v))?15:16,b[V+272>>2]=B,x=w+(Q>>>0>2)|0,b[V+256>>2]=x,A=1==(0|I)?15|A:A,I=0,b[V+280>>2]=!I&255==(0|A),I=A,w=v,F=31&(A=F?7:8),(63&A)>>>0>=32?(Y=w<<F,A=0):(Y=(1<<F)-1&w>>>32-F|E<<F,A=w<<F),v=A|I,E=A=Y|y,b[V+264>>2]=v,b[V+268>>2]=A,2!=(0|J)){if(F=255,U=0,!(255!=(0|I)|!!(0|y)|k[0|x]<=143))break B;if(F=Q>>>0>=4?k[0|x]:F,w=Q-4|0,b[V+276>>2]=w,x=x+(Q>>>0>3)|0,b[V+256>>2]=x,A=1==(0|C)?15|F:F,Y=F=0,b[V+280>>2]=!Y&255==(0|A),B=((F=!y&255==(0|I))?7:8)+B|0,b[V+272>>2]=B,I=A,C=v,y=31&(A=F?7:8),(63&A)>>>0>=32?(F=C<<y,A=0):(F=(1<<y)-1&C>>>32-y|E<<y,A=C<<y),v=A|I,E=A=Y|F,b[V+264>>2]=v,b[V+268>>2]=A,1!=(0|J)){if(U=0,!(255!=(0|I)|!!(0|Y)|k[0|x]<=143))break B;A=255,A=Q>>>0>=5?k[0|x]:A,b[V+276>>2]=Q-5,b[V+256>>2]=x+(Q>>>0>4),F=0,A=1==(0|w)?15|A:A,b[V+280>>2]=1&255==(0|A),B=((I=!Y&255==(0|I))?7:8)+B|0,b[V+272>>2]=B,w=v,C=31&(I=I?7:8),(63&I)>>>0>=32?(N=w<<C,I=0):(N=(1<<C)-1&w>>>32-C|E<<C,I=w<<C),v=I|A,E=A=F|N,b[V+264>>2]=v,b[V+268>>2]=A}}}A=v,I=31&(B=64-B|0),(63&B)>>>0>=32?(X=A<<I,A=0):(X=(1<<I)-1&A>>>32-I|E<<I,A<<=I),b[V+264>>2]=A,b[V+268>>2]=X,U=1}if(!U){if($){Q=0,xf(j,1,11470,0);break r}Q=0,xf(j,1,11470,0);break r}M=p-af|0,F=0,Y=Q,y=Q-2|0,b[V+244>>2]=y,A=(B=m+D|0)-3|0,b[V+224>>2]=A,B=(I=k[B-2|0])>>>0>143,b[V+248>>2]=B,E=0,v=I>>>4|0,b[V+232>>2]=v,b[V+236>>2]=0,C=7&~v?4:3,b[V+240>>2]=C,x=(I=1+(3&A)|0)>>>0<y>>>0?I:y;B:{o:if(y){for(;Q=B,J=A,A=A-1|0,b[V+224>>2]=A,B=(I=k[0|J])>>>0>143,b[V+248>>2]=B,w=31&C,(63&C)>>>0>=32?(N=I<<w,w=0):(N=(1<<w)-1&I>>>32-w,w=I<<w),v|=w,b[V+232>>2]=v,E|=N,b[V+236>>2]=E,C=(1&Q?127&~I?8:7:8)+C|0,b[V+240>>2]=C,(0|x)!=(0|(F=F+1|0)););if(w=y-x|0,b[V+244>>2]=w,C>>>0>32)break B;if((0|w)>=4){F=b[J-4>>2],b[V+224>>2]=J-5,b[V+244>>2]=w-4;break o}if((0|w)<=0){F=0;break o}if((0|x)!=(Y-3|0)){for(N=1&w,y=2147483646&w,Q=24,F=0,I=0;J=A-1|0,b[V+224>>2]=J,x=k[0|A],A=A-2|0,b[V+224>>2]=A,b[V+244>>2]=w-1,J=k[0|J],w=w-2|0,b[V+244>>2]=w,F=x<<Q|F|J<<Q-8,Q=Q-16|0,(0|y)!=(0|(I=I+2|0)););if(!N)break o}else Q=24,F=0;b[V+224>>2]=A-1,A=k[0|A],b[V+244>>2]=w-1,F|=A<<Q}else b[V+244>>2]=y-x;J=255&F,b[V+248>>2]=J>>>0>143,A=(B=(I=B?2130706432&~F?8:7:8)+(F>>>0<=2415919103||8323072&~F?8:7)|0)+((Q=F>>>16&255)>>>0<=143||32512&~F?8:7)|0,w=F>>>8&255,b[V+240>>2]=A+((w>>>0<=143||127&~F?8:7)+C|0),A=Q<<I|F>>>24|w<<B|J<<A,B=31&C,(63&C)>>>0>=32?(F=A<<B,A=0):(F=(1<<B)-1&A>>>32-B,A<<=B),b[V+232>>2]=A|v,b[V+236>>2]=F|E}if(tf(V+192|0,D,m-Y|0,255),A=0,!(g>>>0<2)&&(tf(V+160|0,T,H,0),A=0,2!=(0|g))){if(v=0,E=0,F=0,b[V+152>>2]=1,b[V+144>>2]=0,b[V+136>>2]=0,b[V+140>>2]=0,Q=(B=H)-1|0,b[V+148>>2]=Q,I=(A=(m+D|0)+B|0)-1|0,b[V+128>>2]=I,x=3&I,(0|B)<=0?A=I:(A=A-2|0,b[V+128>>2]=A,v=k[0|I]),b[V+136>>2]=v,b[V+140>>2]=0,m=v>>>0>143,b[V+152>>2]=m,H=127&~v?8:7,b[V+144>>2]=H,x&&(J=B-2|0,b[V+148>>2]=J,(0|B)<2?I=A:(I=A-1|0,b[V+128>>2]=I,F=k[0|A]),m=F>>>0>143,b[V+152>>2]=m,A=31&H,(63&H)>>>0>=32?(Y=F<<A,A=0):(Y=(1<<A)-1&F>>>32-A,A=F<<A),E=A|v,b[V+136>>2]=E,b[V+140>>2]=Y,H=(v>>>0<=143||127&~F?8:7)+H|0,b[V+144>>2]=H,1!=(0|x)?(C=B-3|0,b[V+148>>2]=C,(0|B)<3?w=I:(w=I-1|0,b[V+128>>2]=w,ef=k[0|I]),m=ef>>>0>143,b[V+152>>2]=m,A=31&H,(63&H)>>>0>=32?(N=ef<<A,A=0):(N=(1<<A)-1&ef>>>32-A,A=ef<<A),v=A|E,E=A=Y|N,b[V+136>>2]=v,b[V+140>>2]=A,H=(F>>>0<=143||127&~ef?8:7)+H|0,b[V+144>>2]=H,2!=(0|x)?(Q=B-4|0,b[V+148>>2]=Q,F=0,(0|B)<4?A=w:(A=w-1|0,b[V+128>>2]=A,F=k[0|w]),m=F>>>0>143,b[V+152>>2]=m,B=31&H,(63&H)>>>0>=32?(X=F<<B,B=0):(X=(1<<B)-1&F>>>32-B,B=F<<B),v|=B,E=B=E|X,b[V+136>>2]=v,b[V+140>>2]=B,H=(ef>>>0<=143||127&~F?8:7)+H|0,b[V+144>>2]=H,B=C):(A=w,B=J,Q=C)):(A=I,v=E,E=Y,B=Q,Q=J)),H>>>0<=32){if((0|B)>=5)I=b[A-3>>2],b[V+148>>2]=B-5,b[V+128>>2]=A-4;else if(I=0,!((0|B)<2))for(B=24;w=A-1|0,b[V+128>>2]=w,A=k[0|A],F=Q-1|0,b[V+148>>2]=F,I|=A<<B,C=Q>>>0>1,A=w,B=B-8|0,Q=F,C;);C=255&I,b[V+152>>2]=C>>>0>143,A=(B=(Q=m?2130706432&~I?8:7:8)+(I>>>0<=2415919103||8323072&~I?8:7)|0)+((F=I>>>16&255)>>>0<=143||32512&~I?8:7)|0,w=I>>>8&255,b[V+144>>2]=A+((w>>>0<=143||127&~I?8:7)+H|0),A=F<<Q|I>>>24|w<<B|C<<A,B=31&H,(63&H)>>>0>=32?(Y=A<<B,A=0):(Y=(1<<B)-1&A>>>32-B,A<<=B),b[V+136>>2]=A|v,b[V+140>>2]=Y|E}A=1}if(ef=A,Af=h-q|0,Yf=K+1|0,i[d+2112|0]=0,J=d+2112|0,I=ff(V+256|0),(0|M)>0)for(K=Hf-1|0,H=d,w=J,A=0,B=cf,D=0;;){x=D,C=s[16656+(A<<8|(127&nf(V+224|0))<<1)>>1],A||(C=-1==(0|(A=I-2|0))?C:0,I=(0|I)>1?A:ff(V+256|0)),E=b[V+236>>2],v=b[V+232>>2],Q=b[V+240>>2],h=C>>>4|0,m=b[H>>2]|(3&h|C>>>2&48)<<_,b[H>>2]=m,A=C>>>5&7|(N=16&C)>>>4,D=(F=Q)-(Q=7&C)|0,v=((1<<Q)-1&E)<<32-Q|v>>>Q,E=E>>>Q|0,F=v,Q=0,(0|M)>(2|x)&&(Q=s[16656+(A<<8|(127&v)<<1)>>1],A||(Q=-1==(0|(A=I-2|0))?Q:0,I=(0|I)>1?A:ff(V+256|0)),D=D-(A=7&Q)|0,v=((1<<A)-1&E)<<32-A|v>>>A,E=E>>>A|0,F=v,A=Q>>>4&1|Q>>>5&7),b[H>>2]=m|(Q<<2&768|48&Q)<<_+4,3==(0|(m=Q>>>2&2|C>>>3&1))&&(m=-1==(0|(Y=I-2|0))?4:3,I=(0|I)>1?Y:ff(V+256|0));B:if(m)if(m>>>0<=2)Y=1+((~(-1<<(X=(Y=k[20804+(7&F)|0])>>>2&7))&F>>>(y=3&Y))+(Y>>>5|0)|0)|0,F=1==(0|m),b[V+124>>2]=F?1:Y,b[V+120>>2]=F?Y:1,F=y+X|0;else if(Y=(U=F)>>>(T=3&(F=k[20804+(7&F)|0]))|0,3!=(0|m))Y=Y>>>(m=3&(y=k[20804+(7&Y)|0]))|0,X=F>>>2&7,b[V+120>>2]=3+((Y&~(-1<<X))+(F>>>5|0)|0),F=y>>>2&7,b[V+124>>2]=3+((~(-1<<F)&Y>>>X)+(y>>>5|0)|0),F=F+(X+(m+T|0)|0)|0;else{if(q=1+(F>>>5|0)|0,3==(0|T)){b[V+124>>2]=1&Y|2,F=F>>>2&7,b[V+120>>2]=q+(~(-1<<F)&Y>>>1),F=F+4|0;break B}Y=Y>>>(m=3&(y=k[20804+(7&Y)|0]))|0,X=F>>>2&7,b[V+120>>2]=q+(Y&~(-1<<X)),F=y>>>2&7,b[V+124>>2]=1+((~(-1<<F)&Y>>>X)+(y>>>5|0)|0),F=F+(m+(X+T|0)|0)|0}else b[V+120>>2]=1,b[V+124>>2]=1,F=0;if(!((q=b[V+120>>2])>>>0<=Yf>>>0&&(X=b[V+124>>2])>>>0<=Yf>>>0)){if($){Q=0,xf(j,1,15756,0);break r}Q=0,xf(j,1,15756,0);break r}if(b[V+240>>2]=D-F,Y=31&F,(63&F)>>>0>=32?(F=0,E=E>>>Y|0):(F=E>>>Y|0,E=((1<<Y)-1&E)<<32-Y|v>>>Y),b[V+232>>2]=E,b[V+236>>2]=F,E=(0|(D=x+4|0))<=(0|M)?255:255>>>(D-M<<1)|0,(F=240&Q|15&h)&(-1^(h=(0|Af)>1?E:85&E))){if($){Q=0,xf(j,1,12194,0);break r}Q=0,xf(j,1,12194,0);break r}B:{if(N)v=If(V+192|0),m=q+(C<<19>>31)|0,b[V+208>>2]=b[V+208>>2]-m,Y=b[V+204>>2],E=b[V+200>>2],y=31&m,(63&m)>>>0>=32?(F=0,E=Y>>>y|0):(F=Y>>>y|0,E=((1<<y)-1&Y)<<32-y|E>>>y),b[V+200>>2]=E,b[V+204>>2]=F,P=2+(v&~(-1<<m)|(C>>>8&1)<<m|1)<<K|v<<31;else if(P=0,!(1&h))break B;b[B>>2]=P}32&C?(v=If(V+192|0),m=q+(C<<18>>31)|0,b[V+208>>2]=b[V+208>>2]-m,Y=b[V+204>>2],E=b[V+200>>2],y=31&m,(63&m)>>>0>=32?(F=0,E=Y>>>y|0):(F=Y>>>y|0,E=((1<<y)-1&Y)<<32-y|E>>>y),b[V+200>>2]=E,b[V+204>>2]=F,E=v&~(-1<<m)|(C>>>9&1)<<m|1,b[(M<<2)+B>>2]=E+2<<K|v<<31,v=32-W(E)|0,E=127&k[0|w],i[0|w]=128|(v>>>0>E>>>0?v:E)):2&h&&(b[(M<<2)+B>>2]=0),m=B+4|0;B:{if(64&C)v=If(V+192|0),y=q+(C<<17>>31)|0,b[V+208>>2]=b[V+208>>2]-y,Y=b[V+204>>2],E=b[V+200>>2],N=31&y,(63&y)>>>0>=32?(F=0,E=Y>>>N|0):(F=Y>>>N|0,E=((1<<N)-1&Y)<<32-N|E>>>N),b[V+200>>2]=E,b[V+204>>2]=F,E=2+(v&~(-1<<y)|(C>>>10&1)<<y|1)<<K|v<<31;else if(E=0,!(4&h))break B;b[m>>2]=E}i[w+1|0]=0,128&C?(v=If(V+192|0),y=q-(C>>>15|0)|0,b[V+208>>2]=b[V+208>>2]-y,Y=b[V+204>>2],E=b[V+200>>2],N=31&y,(63&y)>>>0>=32?(F=0,E=Y>>>N|0):(F=Y>>>N|0,E=((1<<N)-1&Y)<<32-N|E>>>N),b[V+200>>2]=E,b[V+204>>2]=F,E=v&~(-1<<y)|(C>>>11&1)<<y|1,b[m+(M<<2)>>2]=E+2<<K|v<<31,i[w+1|0]=-96-W(E)):8&h&&(b[m+(M<<2)>>2]=0),Y=B+8|0;B:{if(16&Q)v=If(V+192|0),m=X+(Q<<19>>31)|0,b[V+208>>2]=b[V+208>>2]-m,C=b[V+204>>2],E=b[V+200>>2],y=31&m,(63&m)>>>0>=32?(F=0,E=C>>>y|0):(F=C>>>y|0,E=((1<<y)-1&C)<<32-y|E>>>y),b[V+200>>2]=E,b[V+204>>2]=F,m=2+(v&~(-1<<m)|(Q>>>8&1)<<m|1)<<K|v<<31;else if(m=0,!(16&h))break B;b[Y>>2]=m}32&Q?(v=If(V+192|0),m=X+(Q<<18>>31)|0,b[V+208>>2]=b[V+208>>2]-m,C=b[V+204>>2],E=b[V+200>>2],y=31&m,(63&m)>>>0>=32?(F=0,E=C>>>y|0):(F=C>>>y|0,E=((1<<y)-1&C)<<32-y|E>>>y),b[V+200>>2]=E,b[V+204>>2]=F,E=v&~(-1<<m)|(Q>>>9&1)<<m|1,b[Y+(M<<2)>>2]=E+2<<K|v<<31,v=32-W(E)|0,E=127&k[w+1|0],i[w+1|0]=128|(v>>>0>E>>>0?v:E)):32&h&&(b[Y+(M<<2)>>2]=0),Y=B+12|0;B:{if(64&Q)v=If(V+192|0),m=X+(Q<<17>>31)|0,b[V+208>>2]=b[V+208>>2]-m,C=b[V+204>>2],E=b[V+200>>2],y=31&m,(63&m)>>>0>=32?(F=0,E=C>>>y|0):(F=C>>>y|0,E=((1<<y)-1&C)<<32-y|E>>>y),b[V+200>>2]=E,b[V+204>>2]=F,m=2+(v&~(-1<<m)|(Q>>>10&1)<<m|1)<<K|v<<31;else if(m=0,!(64&h))break B;b[Y>>2]=m}if(i[0|(w=w+2|0)]=0,128&Q?(v=If(V+192|0),m=X-(Q>>>15|0)|0,b[V+208>>2]=b[V+208>>2]-m,C=b[V+204>>2],E=b[V+200>>2],y=31&m,(63&m)>>>0>=32?(F=0,E=C>>>y|0):(F=C>>>y|0,E=((1<<y)-1&C)<<32-y|E>>>y),b[V+200>>2]=E,b[V+204>>2]=F,Q=v&~(-1<<m)|(Q>>>11&1)<<m|1,b[Y+(M<<2)>>2]=Q+2<<K|v<<31,i[0|w]=-96-W(Q)):h>>>0<128||(b[Y+(M<<2)>>2]=0),_^=16,H=(4&x)+H|0,B=B+16|0,!((0|D)<(0|M)))break}if(sf=8&L,Gf=d+1584|0,uf=d+1056|0,gf=d+528|0,(0|Af)>=3)for(Zf=u(M,12),Qf=M<<3,bf=Hf-1|0,R=3<<(A=Hf-2|0),O=1<<A,of=4+(M+7>>>1&2147483644)|0,y=2;;){if(x=y,P=k[0|J],i[0|J]=0,_=-17&_^2,(0|M)<=0)y=y+2|0;else for(A=4&x?gf:d,y=x+2|0,w=cf+(u(M,x)<<2)|0,m=0,B=J,N=0;;){L=m,K=255&P,Q=k[B+1|0]>>>5&4|K>>>7|N,C=s[18704+(Q<<8|(127&nf(V+224|0))<<1)>>1],Q||(C=-1==(0|(Q=I-2|0))?C:0,I=(0|I)>1?Q:ff(V+256|0)),E=b[V+236>>2],v=b[V+232>>2],Q=b[V+240>>2],H=b[A>>2]|(C>>>4&3|C>>>2&48)<<_,b[A>>2]=H,N=(T=64&C)>>>5|(q=128&C)>>>6,h=(F=Q)-(Q=7&C)|0,v=((1<<Q)-1&E)<<32-Q|v>>>Q,E=E>>>Q|0,m=v,Q=0,(0|M)>(2|L)&&(F=k[B+2|0]>>>5&4|k[B+1|0]>>>7|N,Q=s[18704+(F<<8|(127&v)<<1)>>1],F||(Q=-1==(0|(F=I-2|0))?Q:0,I=(0|I)>1?F:ff(V+256|0)),h=h-(F=7&Q)|0,N=2&(Q>>>5|Q>>>6),m=v=((1<<F)-1&E)<<32-F|v>>>F,E=E>>>F|0),b[A>>2]=H|(Q<<2&768|48&Q)<<_+4,F=1,H=1;B:{o:{g:switch(0|(D=Q>>>2&2|C>>>3&1)){case 0:break B;case 3:break o;default:break g}H=1+((~(-1<<(X=(F=k[20804+(7&m)|0])>>>2&7))&(U=m)>>>(m=3&F))+(F>>>5|0)|0)|0,F=(Y=1==(0|D))?1:H,H=Y?H:1,D=m+X|0;break B}F=m>>>(Y=3&(U=k[20804+(7&m)|0]))|0,D=(S=(m=U>>>2&7)+((H=3&(X=k[20804+(7&F)|0]))+Y|0)|0)+(Y=X>>>2&7)|0,H=1+(((F=F>>>H|0)&~(-1<<m))+(U>>>5|0)|0)|0,F=1+((~(-1<<Y)&F>>>m)+(X>>>5|0)|0)|0}if(b[V+240>>2]=h-D,Y=31&D,(63&D)>>>0>=32?(X=0,E=E>>>Y|0):(X=E>>>Y|0,E=((1<<Y)-1&E)<<32-Y|v>>>Y),b[V+232>>2]=E,b[V+236>>2]=X,(m=240&C)-1&m&&(H=((v=(v=127&K)>>>0>(E=127&k[B+1|0])>>>0?v:E)>>>0>=(E=v-2|0)>>>0?E:0)+H|0),(Y=240&Q)-1&Y&&(F=((E=(v=127&k[B+1|0])>>>0>(E=127&k[B+2|0])>>>0?v:E)>>>0>2?E-2|0:0)+F|0),!(H>>>0<=Yf>>>0&F>>>0<=Yf>>>0)){if($){Q=0,xf(j,1,15856,0);break r}Q=0,xf(j,1,15856,0);break r}if(P=k[B+2|0],i[B+1|0]=0,i[B+2|0]=0,v=Y|m>>>4,E=(0|(m=L+4|0))<=(0|M)?255:255>>>(m-M<<1)|0,v&(-1^(K=(0|y)>(0|Af)?85&E:E))){if($){Q=0,xf(j,1,12194,0);break r}Q=0,xf(j,1,12194,0);break r}B:{if(16&C)v=If(V+192|0),h=(C<<19>>31)+H|0,b[V+208>>2]=b[V+208>>2]-h,Y=b[V+204>>2],E=b[V+200>>2],D=31&h,(63&h)>>>0>=32?(X=0,E=Y>>>D|0):(X=Y>>>D|0,E=((1<<D)-1&Y)<<32-D|E>>>D),b[V+200>>2]=E,b[V+204>>2]=X,h=2+(v&~(-1<<h)|(C>>>8&1)<<h|1)<<bf|v<<31;else if(h=0,!(1&K))break B;b[w>>2]=h}32&C?(v=If(V+192|0),h=(C<<18>>31)+H|0,b[V+208>>2]=b[V+208>>2]-h,Y=b[V+204>>2],E=b[V+200>>2],D=31&h,(63&h)>>>0>=32?(X=0,E=Y>>>D|0):(X=Y>>>D|0,E=((1<<D)-1&Y)<<32-D|E>>>D),b[V+200>>2]=E,b[V+204>>2]=X,E=v&~(-1<<h)|(C>>>9&1)<<h|1,b[(M<<2)+w>>2]=E+2<<bf|v<<31,v=32-W(E)|0,E=127&k[0|B],i[0|B]=128|(v>>>0>E>>>0?v:E)):2&K&&(b[(M<<2)+w>>2]=0),h=w+4|0;B:{if(T)v=If(V+192|0),D=(C<<17>>31)+H|0,b[V+208>>2]=b[V+208>>2]-D,Y=b[V+204>>2],E=b[V+200>>2],T=31&D,(63&D)>>>0>=32?(X=0,E=Y>>>T|0):(X=Y>>>T|0,E=((1<<T)-1&Y)<<32-T|E>>>T),b[V+200>>2]=E,b[V+204>>2]=X,Y=2+(v&~(-1<<D)|(C>>>10&1)<<D|1)<<bf|v<<31;else if(Y=0,!(4&K))break B;b[h>>2]=Y}q?(v=If(V+192|0),H=H-(C>>>15|0)|0,b[V+208>>2]=b[V+208>>2]-H,Y=b[V+204>>2],E=b[V+200>>2],D=31&H,(63&H)>>>0>=32?(X=0,E=Y>>>D|0):(X=Y>>>D|0,E=((1<<D)-1&Y)<<32-D|E>>>D),b[V+200>>2]=E,b[V+204>>2]=X,E=v&~(-1<<H)|(C>>>11&1)<<H|1,b[h+(M<<2)>>2]=E+2<<bf|v<<31,i[B+1|0]=-96-W(E)):8&K&&(b[h+(M<<2)>>2]=0),Y=w+8|0;B:{if(16&Q)v=If(V+192|0),H=(Q<<19>>31)+F|0,b[V+208>>2]=b[V+208>>2]-H,C=b[V+204>>2],E=b[V+200>>2],h=31&H,(63&H)>>>0>=32?(X=0,E=C>>>h|0):(X=C>>>h|0,E=((1<<h)-1&C)<<32-h|E>>>h),b[V+200>>2]=E,b[V+204>>2]=X,H=2+(v&~(-1<<H)|(Q>>>8&1)<<H|1)<<bf|v<<31;else if(H=0,!(16&K))break B;b[Y>>2]=H}32&Q?(v=If(V+192|0),H=(Q<<18>>31)+F|0,b[V+208>>2]=b[V+208>>2]-H,C=b[V+204>>2],E=b[V+200>>2],h=31&H,(63&H)>>>0>=32?(X=0,E=C>>>h|0):(X=C>>>h|0,E=((1<<h)-1&C)<<32-h|E>>>h),b[V+200>>2]=E,b[V+204>>2]=X,E=v&~(-1<<H)|(Q>>>9&1)<<H|1,b[Y+(M<<2)>>2]=E+2<<bf|v<<31,v=32-W(E)|0,E=127&k[B+1|0],i[B+1|0]=128|(v>>>0>E>>>0?v:E)):32&K&&(b[Y+(M<<2)>>2]=0),Y=w+12|0;B:{if(64&Q)v=If(V+192|0),H=(Q<<17>>31)+F|0,b[V+208>>2]=b[V+208>>2]-H,C=b[V+204>>2],E=b[V+200>>2],h=31&H,(63&H)>>>0>=32?(X=0,E=C>>>h|0):(X=C>>>h|0,E=((1<<h)-1&C)<<32-h|E>>>h),b[V+200>>2]=E,b[V+204>>2]=X,H=2+(v&~(-1<<H)|(Q>>>10&1)<<H|1)<<bf|v<<31;else if(H=0,!(64&K))break B;b[Y>>2]=H}if(B=B+2|0,128&Q?(v=If(V+192|0),C=F-(Q>>>15|0)|0,b[V+208>>2]=b[V+208>>2]-C,F=b[V+204>>2],E=b[V+200>>2],H=31&C,(63&C)>>>0>=32?(X=0,F=F>>>H|0):(X=F>>>H|0,F=((1<<H)-1&F)<<32-H|E>>>H),b[V+200>>2]=F,b[V+204>>2]=X,Q=v&~(-1<<C)|(Q>>>11&1)<<C|1,b[Y+(M<<2)>>2]=Q+2<<bf|v<<31,i[0|B]=-96-W(Q)):K>>>0<128||(b[Y+(M<<2)>>2]=0),_^=16,A=(4&L)+A|0,w=w+16|0,!((0|m)<(0|M)))break}B:if(!(!(2&x)|g>>>0<2)){Y=4&y;o:{g:{l:{c:{n:{if(ef){if(h=Y?d:gf,D=0,(0|M)<=0)break n;for(E=cf+(u(M,x-2|0)<<2)|0;;){if(Q=nf(V+128|0),C=0,w=b[h>>2]){for(C=E+(D<<2)|0,F=0,B=15;B&w&&((v=286331153&B)&w&&(b[C>>2]=O|b[C>>2]^(1&~Q)<<bf,Q=Q>>>1|0),w&v<<1&&(b[(A=(M<<2)+C|0)>>2]=O|b[A>>2]^(1&~Q)<<bf,Q=Q>>>1|0),w&v<<2&&(b[(A=C+Qf|0)>>2]=O|b[A>>2]^(1&~Q)<<bf,Q=Q>>>1|0),w&v<<3&&(b[(A=C+Zf|0)>>2]=O|b[A>>2]^(1&~Q)<<bf,Q=Q>>>1|0)),C=C+4|0,B<<=4,8!=(0|(F=F+1|0)););C=pA(w)}if(h=h+4|0,b[V+144>>2]=b[V+144>>2]-C,B=b[V+140>>2],A=b[V+136>>2],Q=31&C,(63&C)>>>0>=32?(X=0,A=B>>>Q|0):(X=B>>>Q|0,A=((1<<Q)-1&B)<<32-Q|A>>>Q),b[V+136>>2]=A,b[V+140>>2]=X,!((0|M)>(0|(D=D+8|0))))break}}if(H=0,Q=0,C=rf=Y?uf:Gf,B=h=Y?d:gf,(0|M)>0)break l;A=!Y;break c}rf=Y?uf:Gf,A=!Y}if(x>>>0<=5)break B;if(E=A?d:gf,(0|M)<=0)break o;B=A?uf:Gf;break g}for(;A=Q>>>28|0,A=(Q=b[B>>2])|A|Q<<4|Q>>>4,b[C>>2]=A,A|=b[B+4>>2]<<28,b[C>>2]=(A>>>1&2004318071|A<<1&-286331154|A)&~Q,C=C+4|0,B=B+4|0,(0|M)>(0|(H=H+8|0)););if(x>>>0<6)break B;E=Y?gf:d,B=Y?Gf:uf}for(A=0,F=0,C=h,Y=B,Q=B,B=E;w=C+4|0,v=b[Q>>2],C=b[C>>2],sf||(v|=(C|C<<4|A>>>28|C>>>4|b[w>>2]<<28)<<3&-2004318072),b[Q>>2]=v&(-1^b[B>>2]),B=B+4|0,Q=Q+4|0,A=C,C=w,(0|M)>(0|(F=F+8|0)););if(!((0|M)<=0))for(T=cf+(u(M,x-6|0)<<2)|0,P=0,A=E;;){if(w=0,B=b[Y>>2]){for(q=M-P|0,x=(P<<2)+T|0,Q=0,N=0;;){if(v=Q,Q=If(V+160|0),(0|(K=(0|M)>((F=N+4|0)+P|0)?F:q))<=(0|N))C=0;else{for(S=-1^b[A>>2],D=x+(X=N<<2)|0,C=0,F=N,H=m=15<<X;B&H&&((U=286331153&H)&B&&(1&Q&&(w|=U,B|=S&50<<(F<<2)),C=C+1|0,Q=Q>>>1|0),(L=U<<1)&B&&(1&Q&&(w|=L,B|=S&116<<(F<<2)),C=C+1|0,Q=Q>>>1|0),(L=U<<2)&B&&(1&Q&&(w|=L,B|=S&232<<(F<<2)),C=C+1|0,Q=Q>>>1|0),(L=U<<3)&B&&(1&Q&&(w|=L,B|=S&192<<(F<<2)),C=C+1|0,Q=Q>>>1|0)),H<<=4,(0|K)>(0|(F=F+1|0)););if(w>>>X&65535)for(;w&m&&((H=286331153&m)&w&&(b[D>>2]=R|b[D>>2]|Q<<31,C=C+1|0,Q=Q>>>1|0),H<<1&w&&(b[(F=(M<<2)+D|0)>>2]=R|b[F>>2]|Q<<31,C=C+1|0,Q=Q>>>1|0),H<<2&w&&(b[(F=D+Qf|0)>>2]=R|b[F>>2]|Q<<31,C=C+1|0,Q=Q>>>1|0),H<<3&w&&(b[(F=D+Zf|0)>>2]=R|b[F>>2]|Q<<31,C=C+1|0,Q=Q>>>1|0)),m<<=4,D=D+4|0,(0|K)>(0|(N=N+1|0)););}if(b[V+176>>2]=b[V+176>>2]-C,F=b[V+172>>2],Q=b[V+168>>2],H=31&C,(63&C)>>>0>=32?(X=0,Q=F>>>H|0):(X=F>>>H|0,Q=((1<<H)-1&F)<<32-H|Q>>>H),b[V+168>>2]=Q,b[V+172>>2]=X,Q=1,N=4,1&v)break}b[Y+4>>2]=b[Y+4>>2]|(w>>>27&14|w>>>29|w>>>28)&~b[A+4>>2]}if(Q=(F=(v=b[A>>2]|w)>>>3&286331153)>>>4|F<<4|F,P&&(b[(B=rf-4|0)>>2]=b[B>>2]|~b[h-4>>2]&F<<28),b[rf>>2]=b[rf>>2]|Q&(-1^b[h>>2]),b[rf+4>>2]=b[rf+4>>2]|~b[h+4>>2]&v>>>31,Y=Y+4|0,A=A+4|0,rf=rf+4|0,h=h+4|0,!((0|M)>(0|(P=P+8|0))))break}}of&&c(E,0,of)}if(!((0|y)<(0|Af)))break}if(!(g>>>0<2)){B:{if(ef&(g=(3&Af)-1|0)>>>0<2){if((0|M)<=0)break B;for(m=1<<Hf-2,w=cf+(u(M,16777212&Af)<<2)|0,E=4&Af?gf:d,v=u(M,12),I=M<<3,H=Hf-1|0,N=0;;){if(Q=nf(V+128|0),C=0,J=b[E>>2]){for(C=w+(N<<2)|0,B=15,F=0;B&J&&((Y=286331153&B)&J&&(b[C>>2]=m|b[C>>2]^(1&~Q)<<H,Q=Q>>>1|0),J&Y<<1&&(b[(A=(M<<2)+C|0)>>2]=m|b[A>>2]^(1&~Q)<<H,Q=Q>>>1|0),J&Y<<2&&(b[(A=C+I|0)>>2]=m|b[A>>2]^(1&~Q)<<H,Q=Q>>>1|0),J&Y<<3&&(b[(A=C+v|0)>>2]=m|b[A>>2]^(1&~Q)<<H,Q=Q>>>1|0)),C=C+4|0,B<<=4,8!=(0|(F=F+1|0)););C=pA(J)}if(E=E+4|0,b[V+144>>2]=b[V+144>>2]-C,B=b[V+140>>2],A=b[V+136>>2],Q=31&C,(63&C)>>>0>=32?(X=0,A=B>>>Q|0):(X=B>>>Q|0,A=((1<<Q)-1&B)<<32-Q|A>>>Q),b[V+136>>2]=A,b[V+140>>2]=X,!((0|M)>(0|(N=N+8|0))))break}}if(!((0|M)<=0|g>>>0>1))for(C=(A=4&Af)?gf:d,B=A?Gf:uf,H=0,Q=0;A=Q>>>28|0,A=(Q=b[C>>2])|A|Q<<4|Q>>>4,b[B>>2]=A,A|=b[C+4>>2]<<28,b[B>>2]=(A>>>1&2004318071|A<<1&-286331154|A)&~Q,B=B+4|0,C=C+4|0,(0|M)>(0|(H=H+8|0)););}if(!((0|Af)<=(0|(A=(0|Af)>6?(Af-(Af+1&3)|0)-3|0:0))))for(y=u(M,12),x=M<<3,of=3<<Hf-2,q=(0|M)<=0;;){B:{o:{g:{if((B=(I=Af-A|0)-1|0)>>>0>=3){if(_=-1,(0|I)<5)break g;if(q)break B;if(C=(I=4&A)?gf:d,Q=I?Gf:uf,B=0,!sf){for(B=I?d:gf,H=0,w=0;I=w>>>28|0,_=-1,w=b[B>>2],b[Q>>2]=(b[Q>>2]|(w|I|w<<4|w>>>4|b[B+4>>2]<<28)<<3&-2004318072)&~b[C>>2],C=C+4|0,Q=Q+4|0,B=B+4|0,(0|M)>(0|(H=H+8|0)););break o}for(;_=-1,b[Q>>2]=b[Q>>2]&(-1^b[C>>2]),C=C+4|0,Q=Q+4|0,(0|M)>(0|(B=B+8|0)););break o}_=b[20812+(B<<2)>>2]}if(q)break B}for(E=(B=4&A)?gf:d,I=B?Gf:uf,h=B?d:gf,P=B?uf:Gf,L=cf+(u(A,M)<<2)|0,m=0;;){if(w=0,B=b[I>>2]&_){for(ef=M-m|0,J=L+(m<<2)|0,Q=0,g=0;;){if(v=Q,Q=If(V+160|0),(0|(X=(0|M)>((F=g+4|0)+m|0)?F:ef))<=(0|g))C=0;else{for(D=(N=g<<2)+J|0,U=(-1^b[E>>2])&_,C=0,F=g,H=K=15<<N;B&H&&((T=286331153&H)&B&&(1&Q&&(w|=T,B|=U&50<<(F<<2)),C=C+1|0,Q=Q>>>1|0),(Y=T<<1)&B&&(1&Q&&(w|=Y,B|=U&116<<(F<<2)),C=C+1|0,Q=Q>>>1|0),(Y=T<<2)&B&&(1&Q&&(w|=Y,B|=U&232<<(F<<2)),C=C+1|0,Q=Q>>>1|0),(Y=T<<3)&B&&(1&Q&&(w|=Y,B|=U&192<<(F<<2)),C=C+1|0,Q=Q>>>1|0)),H<<=4,(0|X)>(0|(F=F+1|0)););if(w>>>N&65535)for(;w&K&&((Y=286331153&K)&w&&(b[D>>2]=of|b[D>>2]|Q<<31,C=C+1|0,Q=Q>>>1|0),Y<<1&w&&(b[(F=(M<<2)+D|0)>>2]=of|b[F>>2]|Q<<31,C=C+1|0,Q=Q>>>1|0),Y<<2&w&&(b[(F=D+x|0)>>2]=of|b[F>>2]|Q<<31,C=C+1|0,Q=Q>>>1|0),Y<<3&w&&(b[(F=y+D|0)>>2]=of|b[F>>2]|Q<<31,C=C+1|0,Q=Q>>>1|0)),K<<=4,D=D+4|0,(0|X)>(0|(g=g+1|0)););}if(b[V+176>>2]=b[V+176>>2]-C,F=b[V+172>>2],Q=b[V+168>>2],g=31&C,(63&C)>>>0>=32?(X=0,Q=F>>>g|0):(X=F>>>g|0,Q=((1<<g)-1&F)<<32-g|Q>>>g),b[V+168>>2]=Q,b[V+172>>2]=X,Q=1,g=4,1&v)break}b[I+4>>2]=b[I+4>>2]|(w>>>27&14|w>>>29|w>>>28)&~b[E+4>>2]}if(Q=(F=(v=b[E>>2]|w)>>>3&286331153)>>>4|F<<4|F,m&&(b[(B=P-4|0)>>2]=b[B>>2]|~b[h-4>>2]&F<<28),b[P>>2]=b[P>>2]|Q&(-1^b[h>>2]),b[P+4>>2]=b[P+4>>2]|~b[h+4>>2]&v>>>31,I=I+4|0,E=E+4|0,P=P+4|0,h=h+4|0,!((0|M)>(0|(m=m+8|0))))break}}if(!((0|Af)>(0|(A=A+4|0))))break}}if(Q=1,(0|Af)<=0|(0|M)<=0)break r;for(v=2147483644&M,F=3&M,E=af-p>>>0>4294967292,A=0;;){Q=cf+(u(A,M)<<2)|0,C=0;B:{if(!E){for(;B=2147483647&(I=b[Q>>2]),b[Q>>2]=(0|I)<0?0-B|0:B,B=2147483647&(I=b[Q+4>>2]),b[Q+4>>2]=(0|I)<0?0-B|0:B,B=2147483647&(I=b[Q+8>>2]),b[Q+8>>2]=(0|I)<0?0-B|0:B,B=2147483647&(I=b[Q+12>>2]),b[Q+12>>2]=(0|I)<0?0-B|0:B,Q=Q+16|0,(0|v)!=(0|(C=C+4|0)););if(!F)break B}for(C=0;B=2147483647&(I=b[Q>>2]),b[Q>>2]=(0|I)<0?0-B|0:B,Q=Q+4|0,(0|F)!=(0|(C=C+1|0)););}if(Q=1,(0|Af)==(0|(A=A+1|0)))break}break r}if($){b[V+52>>2]=b[e+24>>2],b[V+48>>2]=K,xf(j,1,9686,V+48|0);break a}}b[V+20>>2]=Q,b[V+16>>2]=K,xf(j,1,9686,V+16|0),Q=0;break r}Q=0}else Q=1;else Q=0}if(z=V+304|0,Q)break i;break A}b[l+108>>2]=22336+(A<<9),B=0,A=b[l+116>>2];r:{a:{Y=b[e+16>>2]-b[e+8>>2]|0,g=b[e+20>>2]-b[e+12>>2]|0;b:{k:{if((I=u(Y,g))>>>0>G[l+132>>2]){if(hf(A),A=se(I<<2),b[l+116>>2]=A,!A)break b;b[l+132>>2]=I}else if(!A)break k;(I<<=2)&&c(A,0,I)}if(A=b[l+120>>2],(I=u(H=Y+2|0,(F=g+3>>>2|0)+2|0))>>>0<=G[l+136>>2]){D=I<<2;break a}if(hf(A),A=se(D=I<<2),b[l+120>>2]=A,A)break a}A=0;break r}b[l+136>>2]=I,D&&c(A,0,D);a:if(H){V=7&H,A=v=b[l+120>>2];b:{if((E=Y+1|0)>>>0>=7){for(I=-8&H;b[A+24>>2]=1226833920,b[A+28>>2]=1226833920,b[A+16>>2]=1226833920,b[A+20>>2]=1226833920,b[A+8>>2]=1226833920,b[A+12>>2]=1226833920,b[A>>2]=1226833920,b[A+4>>2]=1226833920,A=A+32|0,(0|I)!=(0|(B=B+8|0)););if(!V)break b}for(B=0;b[A>>2]=1226833920,A=A+4|0,(0|V)!=(0|(B=B+1|0)););}V=7&H,A=v+(u(H,F+1|0)<<2)|0;b:{if(E>>>0>=7){for(I=-8&H,B=0;b[A+24>>2]=1226833920,b[A+28>>2]=1226833920,b[A+16>>2]=1226833920,b[A+20>>2]=1226833920,b[A+8>>2]=1226833920,b[A+12>>2]=1226833920,b[A>>2]=1226833920,b[A+4>>2]=1226833920,A=A+32|0,(0|I)!=(0|(B=B+8|0)););if(!V)break b}for(B=0;b[A>>2]=1226833920,A=A+4|0,(0|V)!=(0|(B=B+1|0)););}if(A=3&g){if(V=1==(0|A)?1224736768:2==(0|A)?1207959552:1073741824,I=7&H,A=v+(u(H,F)<<2)|0,E>>>0>=7){for(B=-8&H,D=0;b[A+28>>2]=V,b[A+24>>2]=V,b[A+20>>2]=V,b[A+16>>2]=V,b[A+12>>2]=V,b[A+8>>2]=V,b[A+4>>2]=V,b[A>>2]=V,A=A+32|0,(0|B)!=(0|(D=D+8|0)););if(!I)break a}for(D=0;b[A>>2]=V,A=A+4|0,(0|I)!=(0|(D=D+1|0)););}}b[l+128>>2]=g,b[l+124>>2]=Y,A=1}if(!A)break A;if((0|(D=w+b[e+28>>2]|0))>=31){if(!$)break e;b[r+16>>2]=D,xf(j,2,8716,r+16|0);break A}if(fA(l),OA(l,18,46),OA(l,17,3),OA(l,0,4),!b[e+64>>2]){r:if((B=b[e+52>>2])>>>0<=1&(!b[l+144>>2]|1!=(0|B))){if(1!=(0|B))break i;sf=b[b[e+4>>2]>>2]}else{V=3&B,A=b[e+4>>2],I=0;a:{if(B-1>>>0>=3){for(B&=-4;I=b[(E=(R<<3)+A|0)+28>>2]+(b[E+20>>2]+(b[E+12>>2]+(b[E+4>>2]+I|0)|0)|0)|0,R=R+4|0,(0|B)!=(0|(C=C+4|0)););if(!V)break a}for(;I=b[4+((R<<3)+A|0)>>2]+I|0,R=R+1|0,(0|V)!=(0|(Q=Q+1|0)););}if(sf=b[l+148>>2],(B=I+2|0)>>>0>G[l+152>>2]){if(!(A=Cf(sf,B)))break A;if(b[l+148>>2]=A,i[0|(A=A+I|0)]=0,i[A+1|0]=0,b[l+152>>2]=B,sf=b[l+148>>2],!b[e+52>>2])break r;A=b[e+4>>2]}for(I=0,R=0;(A=b[(B=(V=R<<3)+A|0)+4>>2])&&n(I+sf|0,b[B>>2],A),A=b[e+4>>2],I=b[4+(V+A|0)>>2]+I|0,(R=R+1|0)>>>0<G[e+52>>2];);}if((A=b[e+60>>2])&&(_=b[l+116>>2],b[l+116>>2]=A),b[e+44>>2])for(K=8&L,af=l+28|0,cf=!(2&L),Zf=2;;){if(V=T+sf|0,Qf=b[e>>2]+u(q,24)|0,B=b[Qf>>2],of=L&Zf>>>0<2&(b[e+28>>2]-4|0)>=(0|D))b[l+20>>2]=V,A=B+V|0,b[l+24>>2]=A,a[l+112>>1]=k[0|A]|k[A+1|0]<<8,i[0|A]=255,i[b[l+24>>2]+1|0]=255,b[l+8>>2]=0,b[l>>2]=0,b[l+16>>2]=V;else{b[l+20>>2]=V,A=B+V|0,b[l+24>>2]=A,a[l+112>>1]=k[0|A]|k[A+1|0]<<8,i[0|A]=255,i[b[l+24>>2]+1|0]=255,b[l+104>>2]=l+28,b[l+16>>2]=V,b[l+12>>2]=0,A=B?k[0|V]<<16:16711680,b[l>>2]=A,Q=1,B=V+1|0,I=k[V+1|0];r:if(255!=k[0|V])b[l+16>>2]=B,A|=I<<8;else{if(I>>>0>=144){b[l+12>>2]=1,A|=65280;break r}b[l+16>>2]=B,Q=0,A=A+(I<<9)|0}b[l+8>>2]=Q,b[l+4>>2]=32768,b[l>>2]=A<<7}x=b[Qf>>2];r:if(!(!b[Qf+8>>2]|(0|D)<=0))for(ef=of|cf,rf=0;;){a:{b:{k:{B:switch(Zf-1|0){default:if(!of)break k;if(Y=(A=1<<D)>>>1|A,A=12+((o=(g=b[l+124>>2])<<2)+b[l+120>>2]|0)|0,I=b[l+116>>2],H=0,(B=b[l+128>>2])>>>0>=4){if(!g)break a;for(F=u(g,12),v=g<<3,w=0-Y|0;;){for(B=0;;){if(V=A,A=b[A>>2]){if(!(!(495&A)|2097168&A)){A=b[l>>2];o:if(!(Q=b[l+8>>2])){Q=255!=(0|A),E=b[l+16>>2],A=k[0|E];g:{if(Q)Q=8;else{if(A>>>0>143)break g;Q=7}b[l>>2]=A,b[l+16>>2]=E+1;break o}Q=8,A=255}if(Q=Q-1|0,b[l+8>>2]=Q,A>>>Q&1){o:if(!Q){Q=255!=(0|A),E=b[l+16>>2],A=k[0|E];g:{if(Q)Q=8;else{if(A>>>0>143)break g;Q=7}b[l>>2]=A,b[l+16>>2]=E+1;break o}Q=8,A=255}Q=Q-1|0,b[l+8>>2]=Q,E=A>>>Q&1,b[I>>2]=E?w:Y,Q=b[l+124>>2],b[(A=V-4|0)>>2]=32|b[A>>2],b[V+4>>2]=8|b[V+4>>2],b[V>>2]=b[V>>2]|E<<19|16,K||(b[(A=V+(-2-Q<<2)|0)+4>>2]=32768|b[A+4>>2],b[A>>2]=b[A>>2]|E<<31|65536,b[(A=A-4|0)>>2]=131072|b[A>>2])}A=2097152|b[V>>2],b[V>>2]=A}if(!(!(3960&A)|16777344&A)){A=b[l>>2];o:if(!(Q=b[l+8>>2])){Q=255!=(0|A),E=b[l+16>>2],A=k[0|E];g:{if(Q)Q=8;else{if(A>>>0>143)break g;Q=7}b[l>>2]=A,b[l+16>>2]=E+1;break o}Q=8,A=255}if(Q=Q-1|0,b[l+8>>2]=Q,A>>>Q&1){o:if(!Q){Q=255!=(0|A),E=b[l+16>>2],A=k[0|E];g:{if(Q)Q=8;else{if(A>>>0>143)break g;Q=7}b[l>>2]=A,b[l+16>>2]=E+1;break o}Q=8,A=255}Q=Q-1|0,b[l+8>>2]=Q,Q=A>>>Q&1,b[o+I>>2]=Q?w:Y,b[(A=V-4|0)>>2]=256|b[A>>2],b[V+4>>2]=64|b[V+4>>2],A=b[V>>2]|Q<<22|128}else A=b[V>>2];A|=16777216,b[V>>2]=A}if(!(!(31680&A)|134218752&A)){A=b[l>>2];o:if(!(Q=b[l+8>>2])){Q=255!=(0|A),E=b[l+16>>2],A=k[0|E];g:{if(Q)Q=8;else{if(A>>>0>143)break g;Q=7}b[l>>2]=A,b[l+16>>2]=E+1;break o}Q=8,A=255}if(Q=Q-1|0,b[l+8>>2]=Q,A>>>Q&1){o:if(!Q){Q=255!=(0|A),E=b[l+16>>2],A=k[0|E];g:{if(Q)Q=8;else{if(A>>>0>143)break g;Q=7}b[l>>2]=A,b[l+16>>2]=E+1;break o}Q=8,A=255}Q=Q-1|0,b[l+8>>2]=Q,Q=A>>>Q&1,b[I+v>>2]=Q?w:Y,b[(A=V-4|0)>>2]=2048|b[A>>2],b[V+4>>2]=512|b[V+4>>2],A=b[V>>2]|Q<<25|1024}else A=b[V>>2];A|=134217728,b[V>>2]=A}if(!(!(253440&A)|1073750016&A)){A=b[l>>2];o:if(!(Q=b[l+8>>2])){Q=255!=(0|A),E=b[l+16>>2],A=k[0|E];g:{if(Q)Q=8;else{if(A>>>0>143)break g;Q=7}b[l>>2]=A,b[l+16>>2]=E+1;break o}Q=8,A=255}if(Q=Q-1|0,b[l+8>>2]=Q,A>>>Q&1){o:if(!Q){Q=255!=(0|A),E=b[l+16>>2],A=k[0|E];g:{if(Q)Q=8;else{if(A>>>0>143)break g;Q=7}b[l>>2]=A,b[l+16>>2]=E+1;break o}Q=8,A=255}Q=Q-1|0,b[l+8>>2]=Q,E=A>>>Q&1,b[I+F>>2]=E?w:Y,Q=b[l+124>>2],b[(A=V-4|0)>>2]=16384|b[A>>2],b[V+4>>2]=4096|b[V+4>>2],b[V>>2]=b[V>>2]|E<<28|8192,b[(A=V+(Q<<2)|0)+4>>2]=4|b[A+4>>2],b[A+12>>2]=1|b[A+12>>2],b[A+8>>2]=b[A+8>>2]|E<<18|2}b[V>>2]=1073741824|b[V>>2]}}if(I=I+4|0,A=V+4|0,(0|g)==(0|(B=B+1|0)))break}if(I=I+F|0,A=V+12|0,!((H=H+4|0)>>>0<(-4&(B=b[l+128>>2]))>>>0))break}}if(!g|B>>>0<=H>>>0)break b;for(m=0,v=0-Y|0,Q=B;;){if((0|Q)!=(0|H))for(o=A-4|0,w=b[A>>2],R=0;;){if(!(2097168&(V=w>>>(F=u(R,3))|0)|!(495&V))){B=b[l>>2];o:if(!(C=b[l+8>>2])){Q=255!=(0|B),V=b[l+16>>2],B=k[0|V];g:{if(Q)C=8;else{if(B>>>0>143)break g;C=7}b[l>>2]=B,b[l+16>>2]=V+1;break o}C=8,B=255}if(C=C-1|0,b[l+8>>2]=C,B>>>C&1){E=(u(g,R)<<2)+I|0;o:if(!C){Q=255!=(0|B),V=b[l+16>>2],B=k[0|V];g:{if(Q)C=8;else{if(B>>>0>143)break g;C=7}b[l>>2]=B,b[l+16>>2]=V+1;break o}C=8,B=255}V=C-1|0,b[l+8>>2]=V,Q=B>>>V&1,b[E>>2]=Q?v:Y,V=b[l+124>>2],b[o>>2]=b[o>>2]|32<<F,b[A>>2]=b[A>>2]|(Q<<19|16)<<F,b[A+4>>2]=b[A+4>>2]|8<<F,R|K||(b[(B=(-2-V<<2)+A|0)+4>>2]=32768|b[B+4>>2],b[B>>2]=b[B>>2]|Q<<31|65536,b[(B=B-4|0)>>2]=131072|b[B>>2]),3==(0|R)&&(b[(B=(V<<2)+A|0)+4>>2]=4|b[B+4>>2],b[B+12>>2]=1|b[B+12>>2],b[B+8>>2]=b[B+8>>2]|Q<<18|2)}w=b[A>>2]|2097152<<F,b[A>>2]=w,B=b[l+128>>2]}if(Q=B,!((R=R+1|0)>>>0<B-H>>>0))break}else Q=H;if(I=I+4|0,A=A+4|0,(0|g)==(0|(m=m+1|0)))break}break b;case 1:Y=0,h=0;o:{g:{l:{if(!(64!=(0|(O=b[l+124>>2]))|64!=b[l+128>>2])){if(J=0-(d=(A=1<<D)>>>1|A)|0,E=l+100|0,V=l+96|0,X=l+28|0,I=b[l+120>>2]+268|0,g=b[l+8>>2],A=b[l+4>>2],o=b[l>>2],Q=b[l+104>>2],B=b[l+116>>2],8&L)break l;for(;;){for(y=0;;){F=B,w=I;c:{n:{if(I=b[I>>2]){if(!(2097168&I)){if(Q=X+(k[b[l+108>>2]+(495&I)|0]<<2)|0,Y=b[Q>>2],A=A-(B=b[Y>>2])|0,o>>>16>>>0<B>>>0){for(C=b[Y+4>>2],v=A>>>0<B>>>0,b[Q>>2]=b[Y+(v?8:12)>>2];;){I:if(!g)if(A=(g=b[l+16>>2])+1|0,Y=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=A,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,B=v?C:!C}else if(o=o-(B<<16)|0,32768&A)B=b[Y+4>>2];else{for(C=b[Y+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[Y+(B?12:8)>>2];;){I:if(!g)if(v=(g=b[l+16>>2])+1|0,Y=k[g+1|0],255!=k[0|g])b[l+16>>2]=v,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=v,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}B=B?!C:C}if(B){if(H=w-4|0,C=b[w+4>>2]>>>17&4|b[H>>2]>>>19&1|I>>>14&16|I>>>16&64|170&I,Q=X+(k[C+24384|0]<<2)|0,m=b[Q>>2],A=A-(B=b[m>>2])|0,o>>>16>>>0<B>>>0){for(Y=b[m+4>>2],v=A>>>0<B>>>0,b[Q>>2]=b[m+(v?8:12)>>2];;){I:if(!g)if(A=(g=b[l+16>>2])+1|0,m=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(m<<8)+o|0;else{if(m>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=A,o=(m<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,Y=v?Y:!Y}else if(o=o-(B<<16)|0,32768&A)Y=b[m+4>>2];else{for(Y=b[m+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[m+(B?12:8)>>2];;){I:if(!g)if(v=(g=b[l+16>>2])+1|0,m=k[g+1|0],255!=k[0|g])b[l+16>>2]=v,g=8,o=(m<<8)+o|0;else{if(m>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=v,o=(m<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}Y=B?!Y:Y}v=k[C+24640|0],b[F>>2]=(0|Y)==(0|v)?d:J,b[H>>2]=32|b[H>>2],b[w+4>>2]=8|b[w+4>>2],b[(B=w-268|0)>>2]=131072|b[B>>2],b[(B=w-260|0)>>2]=32768|b[B>>2],U=B=w-264|0,S=b[B>>2],B=Y^v,b[U>>2]=S|B<<31|65536,I=B<<19|I|16}}if(!(16777344&I)){if(C=I>>>3|0,Q=X+(k[b[l+108>>2]+(495&C)|0]<<2)|0,H=b[Q>>2],A=A-(B=b[H>>2])|0,o>>>16>>>0<B>>>0){for(Y=b[H+4>>2],v=A>>>0<B>>>0,b[Q>>2]=b[H+(v?8:12)>>2];;){I:if(!g)if(A=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=A,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,B=v?Y:!Y}else if(o=o-(B<<16)|0,32768&A)B=b[H+4>>2];else{for(Y=b[H+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[H+(B?12:8)>>2];;){I:if(!g)if(v=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=v,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=v,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}B=B?!Y:Y}if(B){if(H=w-4|0,C=b[w+4>>2]>>>20&4|b[H>>2]>>>22&1|I>>>15&16|I>>>19&64|170&C,Q=X+(k[C+24384|0]<<2)|0,m=b[Q>>2],A=A-(B=b[m>>2])|0,o>>>16>>>0<B>>>0){for(Y=b[m+4>>2],v=A>>>0<B>>>0,b[Q>>2]=b[m+(v?8:12)>>2];;){I:if(!g)if(A=(g=b[l+16>>2])+1|0,m=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(m<<8)+o|0;else{if(m>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=A,o=(m<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,v=v?Y:!Y}else if(o=o-(B<<16)|0,32768&A)v=b[m+4>>2];else{for(Y=b[m+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[m+(B?12:8)>>2];;){I:if(!g)if(v=(g=b[l+16>>2])+1|0,m=k[g+1|0],255!=k[0|g])b[l+16>>2]=v,g=8,o=(m<<8)+o|0;else{if(m>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=v,o=(m<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}v=B?!Y:Y}B=k[C+24640|0],b[F+256>>2]=(0|v)==(0|B)?d:J,b[H>>2]=256|b[H>>2],b[w+4>>2]=64|b[w+4>>2],I=(B^v)<<22|I|128}}if(!(134218752&I)){if(C=I>>>6|0,Q=X+(k[b[l+108>>2]+(495&C)|0]<<2)|0,H=b[Q>>2],A=A-(B=b[H>>2])|0,o>>>16>>>0<B>>>0){for(Y=b[H+4>>2],v=A>>>0<B>>>0,b[Q>>2]=b[H+(v?8:12)>>2];;){I:if(!g)if(A=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=A,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,B=v?Y:!Y}else if(o=o-(B<<16)|0,32768&A)B=b[H+4>>2];else{for(Y=b[H+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[H+(B?12:8)>>2];;){I:if(!g)if(v=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=v,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=v,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}B=B?!Y:Y}if(B){if(H=w-4|0,C=b[w+4>>2]>>>23&4|b[H>>2]>>>25&1|I>>>18&16|I>>>22&64|170&C,Q=X+(k[C+24384|0]<<2)|0,m=b[Q>>2],A=A-(B=b[m>>2])|0,o>>>16>>>0<B>>>0){for(Y=b[m+4>>2],v=A>>>0<B>>>0,b[Q>>2]=b[m+(v?8:12)>>2];;){I:if(!g)if(A=(g=b[l+16>>2])+1|0,m=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(m<<8)+o|0;else{if(m>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=A,o=(m<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,v=v?Y:!Y}else if(o=o-(B<<16)|0,32768&A)v=b[m+4>>2];else{for(Y=b[m+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[m+(B?12:8)>>2];;){I:if(!g)if(v=(g=b[l+16>>2])+1|0,m=k[g+1|0],255!=k[0|g])b[l+16>>2]=v,g=8,o=(m<<8)+o|0;else{if(m>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=v,o=(m<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}v=B?!Y:Y}B=k[C+24640|0],b[F+512>>2]=(0|v)==(0|B)?d:J,b[H>>2]=2048|b[H>>2],b[w+4>>2]=512|b[w+4>>2],I=(B^v)<<25|I|1024}}if(1073750016&I)break n;if(C=I>>>9|0,Q=X+(k[b[l+108>>2]+(495&C)|0]<<2)|0,H=b[Q>>2],A=A-(B=b[H>>2])|0,o>>>16>>>0<B>>>0){for(Y=b[H+4>>2],v=A>>>0<B>>>0,b[Q>>2]=b[H+(v?8:12)>>2];;){I:if(!g)if(A=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=A,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,B=v?Y:!Y}else if(o=o-(B<<16)|0,32768&A)B=b[H+4>>2];else{for(Y=b[H+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[H+(B?12:8)>>2];;){I:if(!g)if(v=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=v,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=v,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}B=B?!Y:Y}if(!B)break n;Y=w-4|0,m=b[w+4>>2]>>>26&4|b[Y>>2]>>>28&1|I>>>21&16|I>>>25&64|170&C,Q=X+(k[m+24384|0]<<2)|0,R=b[Q>>2],A=A-(B=b[R>>2])|0}else{if(Q=b[V>>2],A=A-(I=b[Q>>2])|0,o>>>16>>>0<I>>>0){for(v=b[Q+4>>2],B=A>>>0<I>>>0,b[V>>2]=b[Q+(B?8:12)>>2];;){I:if(!g)if(A=(Q=b[l+16>>2])+1|0,C=k[Q+1|0],255!=k[0|Q])b[l+16>>2]=A,g=8,o=(C<<8)+o|0;else{if(C>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=A,o=(C<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((I<<=1)>>>0<32768))break}A=I,B=B?v:!v}else if(o=o-(I<<16)|0,32768&A)B=b[Q+4>>2];else{for(v=b[Q+4>>2],B=A>>>0<I>>>0,b[V>>2]=b[Q+(B?12:8)>>2];;){I:if(!g)if(I=(Q=b[l+16>>2])+1|0,C=k[Q+1|0],255!=k[0|Q])b[l+16>>2]=I,g=8,o=(C<<8)+o|0;else{if(C>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=I,o=(C<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}B=B?!v:v}if(!B){Q=V;break c}if(B=b[E>>2],A=A-(I=b[B>>2])|0,o>>>16>>>0<I>>>0){for(C=b[B+4>>2],B=b[((Q=A>>>0<I>>>0)?8:12)+B>>2],b[E>>2]=B;;){I:if(!g)if(A=(v=b[l+16>>2])+1|0,Y=k[v+1|0],255!=k[0|v])b[l+16>>2]=A,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=A,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((I<<=1)>>>0<32768))break}A=I,v=Q?C:!C}else if(o=o-(I<<16)|0,32768&A)v=b[B+4>>2];else{for(C=b[B+4>>2],B=b[((I=A>>>0<I>>>0)?12:8)+B>>2],b[E>>2]=B;;){I:if(!g)if(Q=(v=b[l+16>>2])+1|0,Y=k[v+1|0],255!=k[0|v])b[l+16>>2]=Q,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=Q,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}v=I?!C:C}if(A=A-(I=b[B>>2])|0,o>>>16>>>0<I>>>0){for(C=b[B+4>>2],Q=B,B=A>>>0<I>>>0,b[E>>2]=b[Q+(B?8:12)>>2];;){I:if(!g)if(A=(Q=b[l+16>>2])+1|0,Y=k[Q+1|0],255!=k[0|Q])b[l+16>>2]=A,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=A,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((I<<=1)>>>0<32768))break}A=I,B=B?C:!C}else if(o=o-(I<<16)|0,32768&A)B=b[B+4>>2];else{for(C=b[B+4>>2],Q=B,B=A>>>0<I>>>0,b[E>>2]=b[Q+(B?12:8)>>2];;){I:if(!g)if(I=(Q=b[l+16>>2])+1|0,Y=k[Q+1|0],255!=k[0|Q])b[l+16>>2]=I,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=I,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}B=B?!C:C}I=0,Q=E;I:{s:{G:{t:{C:switch(B|v<<1){case 0:if(Y=w-4|0,Q=b[w+4>>2]>>>17&4|b[Y>>2]>>>19&1,B=X+(k[Q+24384|0]<<2)|0,v=b[B>>2],A=A-(I=b[v>>2])|0,o>>>16>>>0<I>>>0){for(C=b[v+4>>2],U=B,B=A>>>0<I>>>0,b[U>>2]=b[v+(B?8:12)>>2];;){u:if(!g)if(A=(v=b[l+16>>2])+1|0,H=k[v+1|0],255!=k[0|v])b[l+16>>2]=A,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break u}b[l+16>>2]=A,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((I<<=1)>>>0<32768))break}A=I,v=B?C:!C}else if(o=o-(I<<16)|0,32768&A)v=b[v+4>>2];else{for(C=b[v+4>>2],U=B,B=A>>>0<I>>>0,b[U>>2]=b[v+(B?12:8)>>2];;){u:if(!g)if(I=(v=b[l+16>>2])+1|0,H=k[v+1|0],255!=k[0|v])b[l+16>>2]=I,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break u}b[l+16>>2]=I,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}v=B?!C:C}if(I=k[Q+24640|0],b[F>>2]=(0|v)==(0|I)?d:J,b[Y>>2]=32|b[Y>>2],b[w+4>>2]=8|b[w+4>>2],b[(B=w-268|0)>>2]=131072|b[B>>2],b[(B=w-260|0)>>2]=32768|b[B>>2],Q=B=w-264|0,U=b[B>>2],B=I^v,b[Q>>2]=U|B<<31|65536,Q=B<<19,R=b[l+108>>2],B=X+(k[R+2|0]<<2)|0,v=b[B>>2],A=A-(I=b[v>>2])|0,o>>>16>>>0<I>>>0){for(C=b[v+4>>2],U=B,B=A>>>0<I>>>0,b[U>>2]=b[v+(B?8:12)>>2];;){u:if(!g)if(A=(v=b[l+16>>2])+1|0,Y=k[v+1|0],255!=k[0|v])b[l+16>>2]=A,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break u}b[l+16>>2]=A,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((I<<=1)>>>0<32768))break}A=I,B=B?C:!C}else if(o=o-(I<<16)|0,32768&A)B=b[v+4>>2];else{for(C=b[v+4>>2],U=B,B=A>>>0<I>>>0,b[U>>2]=b[v+(B?12:8)>>2];;){u:if(!g)if(I=(v=b[l+16>>2])+1|0,Y=k[v+1|0],255!=k[0|v])b[l+16>>2]=I,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break u}b[l+16>>2]=I,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}B=B?!C:C}if(I=16|Q,!B)break t;break;case 1:break C;case 2:break G;case 3:break I;default:break n}if(Y=w-4|0,v=b[w+4>>2]>>>20&4|b[Y>>2]>>>22&1|I>>>15&16|I>>>19&64|I>>>3&170,Q=X+(k[v+24384|0]<<2)|0,H=b[Q>>2],A=A-(B=b[H>>2])|0,o>>>16>>>0<B>>>0){for(C=b[H+4>>2],U=Q,Q=A>>>0<B>>>0,b[U>>2]=b[H+(Q?8:12)>>2];;){C:if(!g)if(A=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break C}b[l+16>>2]=A,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,Q=Q?C:!C}else if(o=o-(B<<16)|0,32768&A)Q=b[H+4>>2];else{for(C=b[H+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[H+(B?12:8)>>2];;){C:if(!g)if(Q=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=Q,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break C}b[l+16>>2]=Q,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}Q=B?!C:C}B=k[v+24640|0],b[F+256>>2]=(0|Q)==(0|B)?d:J,b[Y>>2]=256|b[Y>>2],b[w+4>>2]=64|b[w+4>>2],R=b[l+108>>2],I=(B^Q)<<22|I|128}if(Q=X+(k[(I>>>6&495)+R|0]<<2)|0,v=b[Q>>2],A=A-(B=b[v>>2])|0,o>>>16>>>0<B>>>0){for(C=b[v+4>>2],U=Q,Q=A>>>0<B>>>0,b[U>>2]=b[v+(Q?8:12)>>2];;){t:if(!g)if(A=(v=b[l+16>>2])+1|0,Y=k[v+1|0],255!=k[0|v])b[l+16>>2]=A,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break t}b[l+16>>2]=A,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,B=Q?C:!C}else if(o=o-(B<<16)|0,32768&A)B=b[v+4>>2];else{for(C=b[v+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[v+(B?12:8)>>2];;){t:if(!g)if(Q=(v=b[l+16>>2])+1|0,Y=k[v+1|0],255!=k[0|v])b[l+16>>2]=Q,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break t}b[l+16>>2]=Q,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}B=B?!C:C}if(!B)break s}if(Y=w-4|0,v=b[w+4>>2]>>>23&4|b[Y>>2]>>>25&1|I>>>18&16|I>>>22&64|I>>>6&170,Q=X+(k[v+24384|0]<<2)|0,H=b[Q>>2],A=A-(B=b[H>>2])|0,o>>>16>>>0<B>>>0){for(C=b[H+4>>2],U=Q,Q=A>>>0<B>>>0,b[U>>2]=b[H+(Q?8:12)>>2];;){G:if(!g)if(A=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break G}b[l+16>>2]=A,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,Q=Q?C:!C}else if(o=o-(B<<16)|0,32768&A)Q=b[H+4>>2];else{for(C=b[H+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[H+(B?12:8)>>2];;){G:if(!g)if(Q=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=Q,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break G}b[l+16>>2]=Q,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}Q=B?!C:C}B=k[v+24640|0],b[F+512>>2]=(0|Q)==(0|B)?d:J,b[Y>>2]=2048|b[Y>>2],b[w+4>>2]=512|b[w+4>>2],I=(B^Q)<<25|I|1024,R=b[l+108>>2]}if(Q=X+(k[(I>>>9&495)+R|0]<<2)|0,Y=b[Q>>2],A=A-(B=b[Y>>2])|0,o>>>16>>>0<B>>>0){for(C=b[Y+4>>2],v=A>>>0<B>>>0,b[Q>>2]=b[Y+(v?8:12)>>2];;){s:if(!g)if(A=(g=b[l+16>>2])+1|0,Y=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break s}b[l+16>>2]=A,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,B=v?C:!C}else if(o=o-(B<<16)|0,32768&A)B=b[Y+4>>2];else{for(C=b[Y+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[Y+(B?12:8)>>2];;){s:if(!g)if(v=(g=b[l+16>>2])+1|0,Y=k[g+1|0],255!=k[0|g])b[l+16>>2]=v,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break s}b[l+16>>2]=v,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}B=B?!C:C}if(!B)break n}Y=w-4|0,m=b[w+4>>2]>>>26&4|b[Y>>2]>>>28&1|I>>>21&16|I>>>25&64|I>>>9&170,Q=X+(k[m+24384|0]<<2)|0,R=b[Q>>2],A=A-(B=b[R>>2])|0}if(o>>>16>>>0<B>>>0){for(C=b[R+4>>2],v=A>>>0<B>>>0,b[Q>>2]=b[(v?8:12)+R>>2];;){I:if(!g)if(A=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=A,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,v=v?C:!C}else if(o=o-(B<<16)|0,32768&A)v=b[R+4>>2];else{for(C=b[R+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[(B?12:8)+R>>2];;){I:if(!g)if(v=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=v,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=v,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}v=B?!C:C}B=k[m+24640|0],b[F+768>>2]=(0|v)==(0|B)?d:J,b[Y>>2]=16384|b[Y>>2],b[w+4>>2]=4096|b[w+4>>2],b[w+260>>2]=4|b[w+260>>2],b[w+268>>2]=1|b[w+268>>2],B^=v,b[w+264>>2]=b[w+264>>2]|B<<18|2,I=B<<28|I|8192}b[w>>2]=-1226833921&I}if(I=w+4|0,B=F+4|0,64==(0|(y=y+1|0)))break}if(I=w+12|0,B=F+772|0,v=h>>>0<60,h=h+4|0,!v)break}break g}if(S=(A=1<<D)>>>1|A,B=12+((V=b[l+120>>2])+(O<<2)|0)|0,I=b[l+128>>2],g=b[l+8>>2],A=b[l+4>>2],o=b[l>>2],Q=b[l+104>>2],F=b[l+116>>2],8&L){if(!(I>>>0<4))if(O)for(v=l+100|0,E=l+96|0,y=u(O,12),J=O<<3,U=0-S|0,p=l+28|0;;){for(X=0;;){w=B;c:{n:{if(B=b[B>>2]){if(!(2097168&B)){Q=p+(k[b[l+108>>2]+(495&B)|0]<<2)|0,H=b[Q>>2],A=A-(I=b[H>>2])|0;I:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,V=b[H+4>>2],32768&A)break I;for(C=b[H+4>>2],I=A>>>0<I>>>0,b[Q>>2]=b[H+(I?12:8)>>2];g||(V=(g=b[l+16>>2])+1|0,H=k[g+1|0],255==k[0|g]?H>>>0<=143?(b[l+16>>2]=V,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);V=I?!C:C}else{for(C=b[H+4>>2],V=A>>>0<I>>>0,b[Q>>2]=b[H+(V?8:12)>>2];g||(A=(g=b[l+16>>2])+1|0,H=k[g+1|0],255==k[0|g]?H>>>0<=143?(b[l+16>>2]=A,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,V=V?C:!C}if(V){m=w-4|0,C=b[w+4>>2]>>>17&4|b[m>>2]>>>19&1|B>>>14&16|B>>>16&64|170&B,Q=p+(k[C+24384|0]<<2)|0,d=b[Q>>2],A=A-(I=b[d>>2])|0;I:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,V=b[d+4>>2],32768&A)break I;for(H=b[d+4>>2],I=A>>>0<I>>>0,b[Q>>2]=b[d+(I?12:8)>>2];g||(V=(g=b[l+16>>2])+1|0,d=k[g+1|0],255==k[0|g]?d>>>0<=143?(b[l+16>>2]=V,o=(d<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(d<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);V=I?!H:H}else{for(H=b[d+4>>2],V=A>>>0<I>>>0,b[Q>>2]=b[d+(V?8:12)>>2];g||(A=(g=b[l+16>>2])+1|0,d=k[g+1|0],255==k[0|g]?d>>>0<=143?(b[l+16>>2]=A,o=(d<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(d<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,V=V?H:!H}I=k[C+24640|0],b[F>>2]=(0|V)==(0|I)?S:U,b[m>>2]=32|b[m>>2],b[w+4>>2]=8|b[w+4>>2],B=(I^V)<<19|B|16}}if(!(16777344&B)){C=B>>>3|0,Q=p+(k[b[l+108>>2]+(495&C)|0]<<2)|0,m=b[Q>>2],A=A-(I=b[m>>2])|0;I:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,V=b[m+4>>2],32768&A)break I;for(H=b[m+4>>2],I=A>>>0<I>>>0,b[Q>>2]=b[m+(I?12:8)>>2];g||(V=(g=b[l+16>>2])+1|0,m=k[g+1|0],255==k[0|g]?m>>>0<=143?(b[l+16>>2]=V,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);V=I?!H:H}else{for(H=b[m+4>>2],V=A>>>0<I>>>0,b[Q>>2]=b[m+(V?8:12)>>2];g||(A=(g=b[l+16>>2])+1|0,m=k[g+1|0],255==k[0|g]?m>>>0<=143?(b[l+16>>2]=A,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,V=V?H:!H}if(V){m=w-4|0,C=b[w+4>>2]>>>20&4|b[m>>2]>>>22&1|B>>>15&16|B>>>19&64|170&C,Q=p+(k[C+24384|0]<<2)|0,d=b[Q>>2],A=A-(I=b[d>>2])|0,R=(O<<2)+F|0;I:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,V=b[d+4>>2],32768&A)break I;for(H=b[d+4>>2],I=A>>>0<I>>>0,b[Q>>2]=b[d+(I?12:8)>>2];g||(V=(g=b[l+16>>2])+1|0,d=k[g+1|0],255==k[0|g]?d>>>0<=143?(b[l+16>>2]=V,o=(d<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(d<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);V=I?!H:H}else{for(H=b[d+4>>2],V=A>>>0<I>>>0,b[Q>>2]=b[d+(V?8:12)>>2];g||(A=(g=b[l+16>>2])+1|0,d=k[g+1|0],255==k[0|g]?d>>>0<=143?(b[l+16>>2]=A,o=(d<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(d<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,V=V?H:!H}I=k[C+24640|0],b[R>>2]=(0|V)==(0|I)?S:U,b[m>>2]=256|b[m>>2],b[w+4>>2]=64|b[w+4>>2],B=(I^V)<<22|B|128}}if(!(134218752&B)){C=B>>>6|0,Q=p+(k[b[l+108>>2]+(495&C)|0]<<2)|0,m=b[Q>>2],A=A-(I=b[m>>2])|0;I:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,V=b[m+4>>2],32768&A)break I;for(H=b[m+4>>2],I=A>>>0<I>>>0,b[Q>>2]=b[m+(I?12:8)>>2];g||(V=(g=b[l+16>>2])+1|0,m=k[g+1|0],255==k[0|g]?m>>>0<=143?(b[l+16>>2]=V,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);V=I?!H:H}else{for(H=b[m+4>>2],V=A>>>0<I>>>0,b[Q>>2]=b[m+(V?8:12)>>2];g||(A=(g=b[l+16>>2])+1|0,m=k[g+1|0],255==k[0|g]?m>>>0<=143?(b[l+16>>2]=A,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,V=V?H:!H}if(V){m=w-4|0,C=b[w+4>>2]>>>23&4|b[m>>2]>>>25&1|B>>>18&16|B>>>22&64|170&C,Q=p+(k[C+24384|0]<<2)|0,d=b[Q>>2],A=A-(I=b[d>>2])|0,R=F+J|0;I:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,V=b[d+4>>2],32768&A)break I;for(H=b[d+4>>2],I=A>>>0<I>>>0,b[Q>>2]=b[d+(I?12:8)>>2];g||(V=(g=b[l+16>>2])+1|0,d=k[g+1|0],255==k[0|g]?d>>>0<=143?(b[l+16>>2]=V,o=(d<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(d<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);V=I?!H:H}else{for(H=b[d+4>>2],V=A>>>0<I>>>0,b[Q>>2]=b[d+(V?8:12)>>2];g||(A=(g=b[l+16>>2])+1|0,d=k[g+1|0],255==k[0|g]?d>>>0<=143?(b[l+16>>2]=A,o=(d<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(d<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,V=V?H:!H}I=k[C+24640|0],b[R>>2]=(0|V)==(0|I)?S:U,b[m>>2]=2048|b[m>>2],b[w+4>>2]=512|b[w+4>>2],B=(I^V)<<25|B|1024}}if(1073750016&B)break n;C=B>>>9|0,Q=p+(k[b[l+108>>2]+(495&C)|0]<<2)|0,m=b[Q>>2],A=A-(I=b[m>>2])|0;I:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,V=b[m+4>>2],32768&A)break I;for(H=b[m+4>>2],I=A>>>0<I>>>0,b[Q>>2]=b[m+(I?12:8)>>2];g||(V=(g=b[l+16>>2])+1|0,m=k[g+1|0],255==k[0|g]?m>>>0<=143?(b[l+16>>2]=V,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);V=I?!H:H}else{for(H=b[m+4>>2],V=A>>>0<I>>>0,b[Q>>2]=b[m+(V?8:12)>>2];g||(A=(g=b[l+16>>2])+1|0,m=k[g+1|0],255==k[0|g]?m>>>0<=143?(b[l+16>>2]=A,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,V=V?H:!H}if(!V)break n;m=w-4|0,P=b[w+4>>2]>>>26&4|b[m>>2]>>>28&1|B>>>21&16|B>>>25&64|170&C,Q=p+(k[P+24384|0]<<2)|0,R=b[Q>>2],A=A-(I=b[R>>2])|0}else{V=b[E>>2],A=A-(B=b[V>>2])|0;I:if(o>>>16>>>0>=B>>>0){if(o=o-(B<<16)|0,I=b[V+4>>2],32768&A)break I;for(Q=b[V+4>>2],B=A>>>0<B>>>0,b[E>>2]=b[V+(B?12:8)>>2];g||(I=(V=b[l+16>>2])+1|0,C=k[V+1|0],255==k[0|V]?C>>>0<=143?(b[l+16>>2]=I,o=(C<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=I,g=8,o=(C<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);I=B?!Q:Q}else{for(Q=b[V+4>>2],I=A>>>0<B>>>0,b[E>>2]=b[V+(I?8:12)>>2];g||(A=(V=b[l+16>>2])+1|0,C=k[V+1|0],255==k[0|V]?C>>>0<=143?(b[l+16>>2]=A,o=(C<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(C<<8)+o|0)),g=g-1|0,o<<=1,(B<<=1)>>>0<32768;);A=B,I=I?Q:!Q}if(!I){Q=E;break c}I=b[v>>2],A=A-(B=b[I>>2])|0;I:if(o>>>16>>>0>=B>>>0){if(o=o-(B<<16)|0,V=b[I+4>>2],32768&A)break I;for(C=b[I+4>>2],I=b[((B=A>>>0<B>>>0)?12:8)+I>>2],b[v>>2]=I;g||(V=(Q=b[l+16>>2])+1|0,H=k[Q+1|0],255==k[0|Q]?H>>>0<=143?(b[l+16>>2]=V,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);V=B?!C:C}else{for(C=b[I+4>>2],I=b[((V=A>>>0<B>>>0)?8:12)+I>>2],b[v>>2]=I;g||(A=(Q=b[l+16>>2])+1|0,H=k[Q+1|0],255==k[0|Q]?H>>>0<=143?(b[l+16>>2]=A,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(B<<=1)>>>0<32768;);A=B,V=V?C:!C}A=A-(B=b[I>>2])|0;I:if(o>>>16>>>0>=B>>>0){if(o=o-(B<<16)|0,Q=b[I+4>>2],32768&A)break I;for(C=b[I+4>>2],B=A>>>0<B>>>0,b[v>>2]=b[(B?12:8)+I>>2];g||(I=(Q=b[l+16>>2])+1|0,H=k[Q+1|0],255==k[0|Q]?H>>>0<=143?(b[l+16>>2]=I,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=I,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);Q=B?!C:C}else{for(C=b[I+4>>2],Q=I,I=A>>>0<B>>>0,b[v>>2]=b[Q+(I?8:12)>>2];g||(A=(Q=b[l+16>>2])+1|0,H=k[Q+1|0],255==k[0|Q]?H>>>0<=143?(b[l+16>>2]=A,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(B<<=1)>>>0<32768;);A=B,Q=I?C:!C}I=Q,B=0,Q=v;I:{s:{G:{t:{C:switch(I|V<<1){case 0:H=w-4|0,V=b[w+4>>2]>>>17&4|b[H>>2]>>>19&1,I=p+(k[V+24384|0]<<2)|0,Q=b[I>>2],A=A-(B=b[Q>>2])|0;u:if(o>>>16>>>0>=B>>>0){if(o=o-(B<<16)|0,d=b[Q+4>>2],32768&A)break u;for(C=b[Q+4>>2],B=A>>>0<B>>>0,b[I>>2]=b[Q+(B?12:8)>>2];g||(I=(Q=b[l+16>>2])+1|0,m=k[Q+1|0],255==k[0|Q]?m>>>0<=143?(b[l+16>>2]=I,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=I,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);d=B?!C:C}else{for(C=b[Q+4>>2],d=I,I=A>>>0<B>>>0,b[d>>2]=b[Q+(I?8:12)>>2];g||(A=(Q=b[l+16>>2])+1|0,m=k[Q+1|0],255==k[0|Q]?m>>>0<=143?(b[l+16>>2]=A,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(B<<=1)>>>0<32768;);A=B,d=I?C:!C}I=d,B=k[V+24640|0],b[F>>2]=(0|I)==(0|B)?S:U,b[H>>2]=32|b[H>>2],b[w+4>>2]=8|b[w+4>>2],V=(B^I)<<19,R=b[l+108>>2],I=p+(k[R+2|0]<<2)|0,Q=b[I>>2],A=A-(B=b[Q>>2])|0;u:if(o>>>16>>>0>=B>>>0){if(o=o-(B<<16)|0,d=b[Q+4>>2],32768&A)break u;for(C=b[Q+4>>2],B=A>>>0<B>>>0,b[I>>2]=b[Q+(B?12:8)>>2];g||(I=(Q=b[l+16>>2])+1|0,H=k[Q+1|0],255==k[0|Q]?H>>>0<=143?(b[l+16>>2]=I,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=I,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);d=B?!C:C}else{for(C=b[Q+4>>2],d=I,I=A>>>0<B>>>0,b[d>>2]=b[Q+(I?8:12)>>2];g||(A=(Q=b[l+16>>2])+1|0,H=k[Q+1|0],255==k[0|Q]?H>>>0<=143?(b[l+16>>2]=A,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(B<<=1)>>>0<32768;);A=B,d=I?C:!C}if(B=16|V,!(I=d))break t;break;case 1:break C;case 2:break G;case 3:break I;default:break n}H=w-4|0,Q=b[w+4>>2]>>>20&4|b[H>>2]>>>22&1|B>>>15&16|B>>>19&64|B>>>3&170,V=p+(k[Q+24384|0]<<2)|0,m=b[V>>2],A=A-(I=b[m>>2])|0,R=(O<<2)+F|0;C:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,d=b[m+4>>2],32768&A)break C;for(C=b[m+4>>2],I=A>>>0<I>>>0,b[V>>2]=b[m+(I?12:8)>>2];g||(V=(g=b[l+16>>2])+1|0,m=k[g+1|0],255==k[0|g]?m>>>0<=143?(b[l+16>>2]=V,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);d=I?!C:C}else{for(C=b[m+4>>2],d=V,V=A>>>0<I>>>0,b[d>>2]=b[m+(V?8:12)>>2];g||(A=(g=b[l+16>>2])+1|0,m=k[g+1|0],255==k[0|g]?m>>>0<=143?(b[l+16>>2]=A,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,d=V?C:!C}V=d,I=k[Q+24640|0],b[R>>2]=(0|V)==(0|I)?S:U,b[H>>2]=256|b[H>>2],b[w+4>>2]=64|b[w+4>>2],R=b[l+108>>2],B=(I^V)<<22|B|128}V=p+(k[(B>>>6&495)+R|0]<<2)|0,Q=b[V>>2],A=A-(I=b[Q>>2])|0;t:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,d=b[Q+4>>2],32768&A)break t;for(C=b[Q+4>>2],I=A>>>0<I>>>0,b[V>>2]=b[Q+(I?12:8)>>2];g||(V=(Q=b[l+16>>2])+1|0,H=k[Q+1|0],255==k[0|Q]?H>>>0<=143?(b[l+16>>2]=V,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);d=I?!C:C}else{for(C=b[Q+4>>2],d=V,V=A>>>0<I>>>0,b[d>>2]=b[Q+(V?8:12)>>2];g||(A=(Q=b[l+16>>2])+1|0,H=k[Q+1|0],255==k[0|Q]?H>>>0<=143?(b[l+16>>2]=A,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,d=V?C:!C}if(!d)break s}H=w-4|0,Q=b[w+4>>2]>>>23&4|b[H>>2]>>>25&1|B>>>18&16|B>>>22&64|B>>>6&170,V=p+(k[Q+24384|0]<<2)|0,m=b[V>>2],A=A-(I=b[m>>2])|0,R=F+J|0;G:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,d=b[m+4>>2],32768&A)break G;for(C=b[m+4>>2],I=A>>>0<I>>>0,b[V>>2]=b[m+(I?12:8)>>2];g||(V=(g=b[l+16>>2])+1|0,m=k[g+1|0],255==k[0|g]?m>>>0<=143?(b[l+16>>2]=V,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);d=I?!C:C}else{for(C=b[m+4>>2],d=V,V=A>>>0<I>>>0,b[d>>2]=b[m+(V?8:12)>>2];g||(A=(g=b[l+16>>2])+1|0,m=k[g+1|0],255==k[0|g]?m>>>0<=143?(b[l+16>>2]=A,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,d=V?C:!C}V=d,I=k[Q+24640|0],b[R>>2]=(0|V)==(0|I)?S:U,b[H>>2]=2048|b[H>>2],b[w+4>>2]=512|b[w+4>>2],B=(I^V)<<25|B|1024,R=b[l+108>>2]}Q=p+(k[(B>>>9&495)+R|0]<<2)|0,H=b[Q>>2],A=A-(I=b[H>>2])|0;s:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,V=b[H+4>>2],32768&A)break s;for(C=b[H+4>>2],I=A>>>0<I>>>0,b[Q>>2]=b[H+(I?12:8)>>2];g||(V=(g=b[l+16>>2])+1|0,H=k[g+1|0],255==k[0|g]?H>>>0<=143?(b[l+16>>2]=V,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);V=I?!C:C}else{for(C=b[H+4>>2],V=A>>>0<I>>>0,b[Q>>2]=b[H+(V?8:12)>>2];g||(A=(g=b[l+16>>2])+1|0,H=k[g+1|0],255==k[0|g]?H>>>0<=143?(b[l+16>>2]=A,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,V=V?C:!C}if(!V)break n}m=w-4|0,P=b[w+4>>2]>>>26&4|b[m>>2]>>>28&1|B>>>21&16|B>>>25&64|B>>>9&170,Q=p+(k[P+24384|0]<<2)|0,R=b[Q>>2],A=A-(I=b[R>>2])|0}d=F+y|0;I:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,V=b[R+4>>2],32768&A)break I;for(C=b[R+4>>2],I=A>>>0<I>>>0,b[Q>>2]=b[(I?12:8)+R>>2];g||(V=(g=b[l+16>>2])+1|0,H=k[g+1|0],255==k[0|g]?H>>>0<=143?(b[l+16>>2]=V,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);V=I?!C:C}else{for(C=b[R+4>>2],V=A>>>0<I>>>0,b[Q>>2]=b[(V?8:12)+R>>2];g||(A=(g=b[l+16>>2])+1|0,H=k[g+1|0],255==k[0|g]?H>>>0<=143?(b[l+16>>2]=A,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,V=V?C:!C}I=k[P+24640|0],b[d>>2]=(0|V)==(0|I)?S:U,b[m>>2]=16384|b[m>>2],b[w+4>>2]=4096|b[w+4>>2],C=w+(b[l+124>>2]<<2)|0,b[C+4>>2]=4|b[C+4>>2],b[C+12>>2]=1|b[C+12>>2],I^=V,b[C+8>>2]=b[C+8>>2]|I<<18|2,B=I<<28|B|8192}b[w>>2]=-1226833921&B}if(B=w+4|0,F=F+4|0,(0|O)==(0|(X=X+1|0)))break}if(B=w+12|0,F=F+y|0,!((h=h+4|0)>>>0<(-4&(I=b[l+128>>2]))>>>0))break}else B=12+(V+((h=-4&I)<<1)|0)|0;if(b[l+8>>2]=g,b[l+4>>2]=A,b[l>>2]=o,b[l+104>>2]=Q,!O|I>>>0<=h>>>0)break o;for(;;){if(g=0,b[l+128>>2]!=(0|h))for(;Bf(l,B,(u(g,O)<<2)+F|0,S,g,1),(g=g+1|0)>>>0<b[l+128>>2]-h>>>0;);if(b[B>>2]=-1226833921&b[B>>2],F=F+4|0,B=B+4|0,(0|O)==(0|(Y=Y+1|0)))break}break o}if(!(I>>>0<4))if(O)for(v=l+100|0,E=l+96|0,y=u(O,12),J=O<<3,U=0-S|0,p=l+28|0;;){for(X=0;;){w=B;c:{n:{if(B=b[B>>2]){if(!(2097168&B)){Q=p+(k[b[l+108>>2]+(495&B)|0]<<2)|0,H=b[Q>>2],A=A-(I=b[H>>2])|0;I:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,V=b[H+4>>2],32768&A)break I;for(C=b[H+4>>2],I=A>>>0<I>>>0,b[Q>>2]=b[H+(I?12:8)>>2];g||(V=(g=b[l+16>>2])+1|0,H=k[g+1|0],255==k[0|g]?H>>>0<=143?(b[l+16>>2]=V,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);V=I?!C:C}else{for(C=b[H+4>>2],V=A>>>0<I>>>0,b[Q>>2]=b[H+(V?8:12)>>2];g||(A=(g=b[l+16>>2])+1|0,H=k[g+1|0],255==k[0|g]?H>>>0<=143?(b[l+16>>2]=A,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,V=V?C:!C}if(V){m=w-4|0,C=b[w+4>>2]>>>17&4|b[m>>2]>>>19&1|B>>>14&16|B>>>16&64|170&B,Q=p+(k[C+24384|0]<<2)|0,d=b[Q>>2],A=A-(I=b[d>>2])|0;I:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,V=b[d+4>>2],32768&A)break I;for(H=b[d+4>>2],I=A>>>0<I>>>0,b[Q>>2]=b[d+(I?12:8)>>2];g||(V=(g=b[l+16>>2])+1|0,d=k[g+1|0],255==k[0|g]?d>>>0<=143?(b[l+16>>2]=V,o=(d<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(d<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);V=I?!H:H}else{for(H=b[d+4>>2],V=A>>>0<I>>>0,b[Q>>2]=b[d+(V?8:12)>>2];g||(A=(g=b[l+16>>2])+1|0,d=k[g+1|0],255==k[0|g]?d>>>0<=143?(b[l+16>>2]=A,o=(d<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(d<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,V=V?H:!H}I=k[C+24640|0],b[F>>2]=(0|V)==(0|I)?S:U,b[m>>2]=32|b[m>>2],b[w+4>>2]=8|b[w+4>>2],C=w+(-2-b[l+124>>2]<<2)|0,b[C+4>>2]=32768|b[C+4>>2],V^=I,b[C>>2]=b[C>>2]|V<<31|65536,b[(I=C-4|0)>>2]=131072|b[I>>2],B=V<<19|B|16}}if(!(16777344&B)){C=B>>>3|0,Q=p+(k[b[l+108>>2]+(495&C)|0]<<2)|0,m=b[Q>>2],A=A-(I=b[m>>2])|0;I:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,V=b[m+4>>2],32768&A)break I;for(H=b[m+4>>2],I=A>>>0<I>>>0,b[Q>>2]=b[m+(I?12:8)>>2];g||(V=(g=b[l+16>>2])+1|0,m=k[g+1|0],255==k[0|g]?m>>>0<=143?(b[l+16>>2]=V,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);V=I?!H:H}else{for(H=b[m+4>>2],V=A>>>0<I>>>0,b[Q>>2]=b[m+(V?8:12)>>2];g||(A=(g=b[l+16>>2])+1|0,m=k[g+1|0],255==k[0|g]?m>>>0<=143?(b[l+16>>2]=A,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,V=V?H:!H}if(V){m=w-4|0,C=b[w+4>>2]>>>20&4|b[m>>2]>>>22&1|B>>>15&16|B>>>19&64|170&C,Q=p+(k[C+24384|0]<<2)|0,d=b[Q>>2],A=A-(I=b[d>>2])|0,R=(O<<2)+F|0;I:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,V=b[d+4>>2],32768&A)break I;for(H=b[d+4>>2],I=A>>>0<I>>>0,b[Q>>2]=b[d+(I?12:8)>>2];g||(V=(g=b[l+16>>2])+1|0,d=k[g+1|0],255==k[0|g]?d>>>0<=143?(b[l+16>>2]=V,o=(d<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(d<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);V=I?!H:H}else{for(H=b[d+4>>2],V=A>>>0<I>>>0,b[Q>>2]=b[d+(V?8:12)>>2];g||(A=(g=b[l+16>>2])+1|0,d=k[g+1|0],255==k[0|g]?d>>>0<=143?(b[l+16>>2]=A,o=(d<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(d<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,V=V?H:!H}I=k[C+24640|0],b[R>>2]=(0|V)==(0|I)?S:U,b[m>>2]=256|b[m>>2],b[w+4>>2]=64|b[w+4>>2],B=(I^V)<<22|B|128}}if(!(134218752&B)){C=B>>>6|0,Q=p+(k[b[l+108>>2]+(495&C)|0]<<2)|0,m=b[Q>>2],A=A-(I=b[m>>2])|0;I:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,V=b[m+4>>2],32768&A)break I;for(H=b[m+4>>2],I=A>>>0<I>>>0,b[Q>>2]=b[m+(I?12:8)>>2];g||(V=(g=b[l+16>>2])+1|0,m=k[g+1|0],255==k[0|g]?m>>>0<=143?(b[l+16>>2]=V,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);V=I?!H:H}else{for(H=b[m+4>>2],V=A>>>0<I>>>0,b[Q>>2]=b[m+(V?8:12)>>2];g||(A=(g=b[l+16>>2])+1|0,m=k[g+1|0],255==k[0|g]?m>>>0<=143?(b[l+16>>2]=A,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,V=V?H:!H}if(V){m=w-4|0,C=b[w+4>>2]>>>23&4|b[m>>2]>>>25&1|B>>>18&16|B>>>22&64|170&C,Q=p+(k[C+24384|0]<<2)|0,d=b[Q>>2],A=A-(I=b[d>>2])|0,R=F+J|0;I:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,V=b[d+4>>2],32768&A)break I;for(H=b[d+4>>2],I=A>>>0<I>>>0,b[Q>>2]=b[d+(I?12:8)>>2];g||(V=(g=b[l+16>>2])+1|0,d=k[g+1|0],255==k[0|g]?d>>>0<=143?(b[l+16>>2]=V,o=(d<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(d<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);V=I?!H:H}else{for(H=b[d+4>>2],V=A>>>0<I>>>0,b[Q>>2]=b[d+(V?8:12)>>2];g||(A=(g=b[l+16>>2])+1|0,d=k[g+1|0],255==k[0|g]?d>>>0<=143?(b[l+16>>2]=A,o=(d<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(d<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,V=V?H:!H}I=k[C+24640|0],b[R>>2]=(0|V)==(0|I)?S:U,b[m>>2]=2048|b[m>>2],b[w+4>>2]=512|b[w+4>>2],B=(I^V)<<25|B|1024}}if(1073750016&B)break n;C=B>>>9|0,Q=p+(k[b[l+108>>2]+(495&C)|0]<<2)|0,m=b[Q>>2],A=A-(I=b[m>>2])|0;I:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,V=b[m+4>>2],32768&A)break I;for(H=b[m+4>>2],I=A>>>0<I>>>0,b[Q>>2]=b[m+(I?12:8)>>2];g||(V=(g=b[l+16>>2])+1|0,m=k[g+1|0],255==k[0|g]?m>>>0<=143?(b[l+16>>2]=V,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);V=I?!H:H}else{for(H=b[m+4>>2],V=A>>>0<I>>>0,b[Q>>2]=b[m+(V?8:12)>>2];g||(A=(g=b[l+16>>2])+1|0,m=k[g+1|0],255==k[0|g]?m>>>0<=143?(b[l+16>>2]=A,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,V=V?H:!H}if(!V)break n;m=w-4|0,P=b[w+4>>2]>>>26&4|b[m>>2]>>>28&1|B>>>21&16|B>>>25&64|170&C,Q=p+(k[P+24384|0]<<2)|0,R=b[Q>>2],A=A-(I=b[R>>2])|0}else{V=b[E>>2],A=A-(B=b[V>>2])|0;I:if(o>>>16>>>0>=B>>>0){if(o=o-(B<<16)|0,I=b[V+4>>2],32768&A)break I;for(Q=b[V+4>>2],B=A>>>0<B>>>0,b[E>>2]=b[V+(B?12:8)>>2];g||(I=(V=b[l+16>>2])+1|0,C=k[V+1|0],255==k[0|V]?C>>>0<=143?(b[l+16>>2]=I,o=(C<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=I,g=8,o=(C<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);I=B?!Q:Q}else{for(Q=b[V+4>>2],I=A>>>0<B>>>0,b[E>>2]=b[V+(I?8:12)>>2];g||(A=(V=b[l+16>>2])+1|0,C=k[V+1|0],255==k[0|V]?C>>>0<=143?(b[l+16>>2]=A,o=(C<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(C<<8)+o|0)),g=g-1|0,o<<=1,(B<<=1)>>>0<32768;);A=B,I=I?Q:!Q}if(!I){Q=E;break c}I=b[v>>2],A=A-(B=b[I>>2])|0;I:if(o>>>16>>>0>=B>>>0){if(o=o-(B<<16)|0,V=b[I+4>>2],32768&A)break I;for(C=b[I+4>>2],I=b[((B=A>>>0<B>>>0)?12:8)+I>>2],b[v>>2]=I;g||(V=(Q=b[l+16>>2])+1|0,H=k[Q+1|0],255==k[0|Q]?H>>>0<=143?(b[l+16>>2]=V,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);V=B?!C:C}else{for(C=b[I+4>>2],I=b[((V=A>>>0<B>>>0)?8:12)+I>>2],b[v>>2]=I;g||(A=(Q=b[l+16>>2])+1|0,H=k[Q+1|0],255==k[0|Q]?H>>>0<=143?(b[l+16>>2]=A,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(B<<=1)>>>0<32768;);A=B,V=V?C:!C}A=A-(B=b[I>>2])|0;I:if(o>>>16>>>0>=B>>>0){if(o=o-(B<<16)|0,Q=b[I+4>>2],32768&A)break I;for(C=b[I+4>>2],B=A>>>0<B>>>0,b[v>>2]=b[(B?12:8)+I>>2];g||(I=(Q=b[l+16>>2])+1|0,H=k[Q+1|0],255==k[0|Q]?H>>>0<=143?(b[l+16>>2]=I,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=I,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);Q=B?!C:C}else{for(C=b[I+4>>2],Q=I,I=A>>>0<B>>>0,b[v>>2]=b[Q+(I?8:12)>>2];g||(A=(Q=b[l+16>>2])+1|0,H=k[Q+1|0],255==k[0|Q]?H>>>0<=143?(b[l+16>>2]=A,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(B<<=1)>>>0<32768;);A=B,Q=I?C:!C}I=Q,B=0,Q=v;I:{s:{G:{t:{C:switch(I|V<<1){case 0:H=w-4|0,V=b[w+4>>2]>>>17&4|b[H>>2]>>>19&1,I=p+(k[V+24384|0]<<2)|0,Q=b[I>>2],A=A-(B=b[Q>>2])|0;u:if(o>>>16>>>0>=B>>>0){if(o=o-(B<<16)|0,d=b[Q+4>>2],32768&A)break u;for(C=b[Q+4>>2],B=A>>>0<B>>>0,b[I>>2]=b[Q+(B?12:8)>>2];g||(I=(Q=b[l+16>>2])+1|0,m=k[Q+1|0],255==k[0|Q]?m>>>0<=143?(b[l+16>>2]=I,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=I,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);d=B?!C:C}else{for(C=b[Q+4>>2],d=I,I=A>>>0<B>>>0,b[d>>2]=b[Q+(I?8:12)>>2];g||(A=(Q=b[l+16>>2])+1|0,m=k[Q+1|0],255==k[0|Q]?m>>>0<=143?(b[l+16>>2]=A,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(B<<=1)>>>0<32768;);A=B,d=I?C:!C}I=d,B=k[V+24640|0],b[F>>2]=(0|I)==(0|B)?S:U,b[H>>2]=32|b[H>>2],b[w+4>>2]=8|b[w+4>>2],V=w+(-2-b[l+124>>2]<<2)|0,b[V+4>>2]=32768|b[V+4>>2],I^=B,b[V>>2]=b[V>>2]|I<<31|65536,b[(B=V-4|0)>>2]=131072|b[B>>2],V=I<<19,R=b[l+108>>2],I=p+(k[R+2|0]<<2)|0,Q=b[I>>2],A=A-(B=b[Q>>2])|0;u:if(o>>>16>>>0>=B>>>0){if(o=o-(B<<16)|0,d=b[Q+4>>2],32768&A)break u;for(C=b[Q+4>>2],B=A>>>0<B>>>0,b[I>>2]=b[Q+(B?12:8)>>2];g||(I=(Q=b[l+16>>2])+1|0,H=k[Q+1|0],255==k[0|Q]?H>>>0<=143?(b[l+16>>2]=I,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=I,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);d=B?!C:C}else{for(C=b[Q+4>>2],d=I,I=A>>>0<B>>>0,b[d>>2]=b[Q+(I?8:12)>>2];g||(A=(Q=b[l+16>>2])+1|0,H=k[Q+1|0],255==k[0|Q]?H>>>0<=143?(b[l+16>>2]=A,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(B<<=1)>>>0<32768;);A=B,d=I?C:!C}if(B=16|V,!(I=d))break t;break;case 1:break C;case 2:break G;case 3:break I;default:break n}H=w-4|0,Q=b[w+4>>2]>>>20&4|b[H>>2]>>>22&1|B>>>15&16|B>>>19&64|B>>>3&170,V=p+(k[Q+24384|0]<<2)|0,m=b[V>>2],A=A-(I=b[m>>2])|0,R=(O<<2)+F|0;C:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,d=b[m+4>>2],32768&A)break C;for(C=b[m+4>>2],I=A>>>0<I>>>0,b[V>>2]=b[m+(I?12:8)>>2];g||(V=(g=b[l+16>>2])+1|0,m=k[g+1|0],255==k[0|g]?m>>>0<=143?(b[l+16>>2]=V,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);d=I?!C:C}else{for(C=b[m+4>>2],d=V,V=A>>>0<I>>>0,b[d>>2]=b[m+(V?8:12)>>2];g||(A=(g=b[l+16>>2])+1|0,m=k[g+1|0],255==k[0|g]?m>>>0<=143?(b[l+16>>2]=A,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,d=V?C:!C}V=d,I=k[Q+24640|0],b[R>>2]=(0|V)==(0|I)?S:U,b[H>>2]=256|b[H>>2],b[w+4>>2]=64|b[w+4>>2],R=b[l+108>>2],B=(I^V)<<22|B|128}V=p+(k[(B>>>6&495)+R|0]<<2)|0,Q=b[V>>2],A=A-(I=b[Q>>2])|0;t:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,d=b[Q+4>>2],32768&A)break t;for(C=b[Q+4>>2],I=A>>>0<I>>>0,b[V>>2]=b[Q+(I?12:8)>>2];g||(V=(Q=b[l+16>>2])+1|0,H=k[Q+1|0],255==k[0|Q]?H>>>0<=143?(b[l+16>>2]=V,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);d=I?!C:C}else{for(C=b[Q+4>>2],d=V,V=A>>>0<I>>>0,b[d>>2]=b[Q+(V?8:12)>>2];g||(A=(Q=b[l+16>>2])+1|0,H=k[Q+1|0],255==k[0|Q]?H>>>0<=143?(b[l+16>>2]=A,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,d=V?C:!C}if(!d)break s}H=w-4|0,Q=b[w+4>>2]>>>23&4|b[H>>2]>>>25&1|B>>>18&16|B>>>22&64|B>>>6&170,V=p+(k[Q+24384|0]<<2)|0,m=b[V>>2],A=A-(I=b[m>>2])|0,R=F+J|0;G:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,d=b[m+4>>2],32768&A)break G;for(C=b[m+4>>2],I=A>>>0<I>>>0,b[V>>2]=b[m+(I?12:8)>>2];g||(V=(g=b[l+16>>2])+1|0,m=k[g+1|0],255==k[0|g]?m>>>0<=143?(b[l+16>>2]=V,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);d=I?!C:C}else{for(C=b[m+4>>2],d=V,V=A>>>0<I>>>0,b[d>>2]=b[m+(V?8:12)>>2];g||(A=(g=b[l+16>>2])+1|0,m=k[g+1|0],255==k[0|g]?m>>>0<=143?(b[l+16>>2]=A,o=(m<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(m<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,d=V?C:!C}V=d,I=k[Q+24640|0],b[R>>2]=(0|V)==(0|I)?S:U,b[H>>2]=2048|b[H>>2],b[w+4>>2]=512|b[w+4>>2],B=(I^V)<<25|B|1024,R=b[l+108>>2]}Q=p+(k[(B>>>9&495)+R|0]<<2)|0,H=b[Q>>2],A=A-(I=b[H>>2])|0;s:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,V=b[H+4>>2],32768&A)break s;for(C=b[H+4>>2],I=A>>>0<I>>>0,b[Q>>2]=b[H+(I?12:8)>>2];g||(V=(g=b[l+16>>2])+1|0,H=k[g+1|0],255==k[0|g]?H>>>0<=143?(b[l+16>>2]=V,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);V=I?!C:C}else{for(C=b[H+4>>2],V=A>>>0<I>>>0,b[Q>>2]=b[H+(V?8:12)>>2];g||(A=(g=b[l+16>>2])+1|0,H=k[g+1|0],255==k[0|g]?H>>>0<=143?(b[l+16>>2]=A,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,V=V?C:!C}if(!V)break n}m=w-4|0,P=b[w+4>>2]>>>26&4|b[m>>2]>>>28&1|B>>>21&16|B>>>25&64|B>>>9&170,Q=p+(k[P+24384|0]<<2)|0,R=b[Q>>2],A=A-(I=b[R>>2])|0}d=F+y|0;I:if(o>>>16>>>0>=I>>>0){if(o=o-(I<<16)|0,V=b[R+4>>2],32768&A)break I;for(C=b[R+4>>2],I=A>>>0<I>>>0,b[Q>>2]=b[(I?12:8)+R>>2];g||(V=(g=b[l+16>>2])+1|0,H=k[g+1|0],255==k[0|g]?H>>>0<=143?(b[l+16>>2]=V,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=V,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(A<<=1)>>>0<32768;);V=I?!C:C}else{for(C=b[R+4>>2],V=A>>>0<I>>>0,b[Q>>2]=b[(V?8:12)+R>>2];g||(A=(g=b[l+16>>2])+1|0,H=k[g+1|0],255==k[0|g]?H>>>0<=143?(b[l+16>>2]=A,o=(H<<9)+o|0,g=7):(b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8):(b[l+16>>2]=A,g=8,o=(H<<8)+o|0)),g=g-1|0,o<<=1,(I<<=1)>>>0<32768;);A=I,V=V?C:!C}I=k[P+24640|0],b[d>>2]=(0|V)==(0|I)?S:U,b[m>>2]=16384|b[m>>2],b[w+4>>2]=4096|b[w+4>>2],C=w+(b[l+124>>2]<<2)|0,b[C+4>>2]=4|b[C+4>>2],b[C+12>>2]=1|b[C+12>>2],I^=V,b[C+8>>2]=b[C+8>>2]|I<<18|2,B=I<<28|B|8192}b[w>>2]=-1226833921&B}if(B=w+4|0,F=F+4|0,(0|O)==(0|(X=X+1|0)))break}if(B=w+12|0,F=F+y|0,!((h=h+4|0)>>>0<(-4&(I=b[l+128>>2]))>>>0))break}else B=12+(V+((h=-4&I)<<1)|0)|0;if(b[l+8>>2]=g,b[l+4>>2]=A,b[l>>2]=o,b[l+104>>2]=Q,!O|I>>>0<=h>>>0)break o;for(;;){if(g=0,b[l+128>>2]!=(0|h))for(;Bf(l,B,(u(g,O)<<2)+F|0,S,g,0),(g=g+1|0)>>>0<b[l+128>>2]-h>>>0;);if(b[B>>2]=-1226833921&b[B>>2],F=F+4|0,B=B+4|0,(0|O)==(0|(Y=Y+1|0)))break}break o}for(;;){for(y=0;;){F=B,w=I;l:{c:{if(I=b[I>>2]){if(!(2097168&I)){if(Q=X+(k[b[l+108>>2]+(495&I)|0]<<2)|0,Y=b[Q>>2],A=A-(B=b[Y>>2])|0,o>>>16>>>0<B>>>0){for(C=b[Y+4>>2],v=A>>>0<B>>>0,b[Q>>2]=b[Y+(v?8:12)>>2];;){n:if(!g)if(A=(g=b[l+16>>2])+1|0,Y=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=A,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,B=v?C:!C}else if(o=o-(B<<16)|0,32768&A)B=b[Y+4>>2];else{for(C=b[Y+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[Y+(B?12:8)>>2];;){n:if(!g)if(v=(g=b[l+16>>2])+1|0,Y=k[g+1|0],255!=k[0|g])b[l+16>>2]=v,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=v,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}B=B?!C:C}if(B){if(H=w-4|0,C=b[w+4>>2]>>>17&4|b[H>>2]>>>19&1|I>>>14&16|I>>>16&64|170&I,Q=X+(k[C+24384|0]<<2)|0,m=b[Q>>2],A=A-(B=b[m>>2])|0,o>>>16>>>0<B>>>0){for(Y=b[m+4>>2],v=A>>>0<B>>>0,b[Q>>2]=b[m+(v?8:12)>>2];;){n:if(!g)if(A=(g=b[l+16>>2])+1|0,m=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(m<<8)+o|0;else{if(m>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=A,o=(m<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,v=v?Y:!Y}else if(o=o-(B<<16)|0,32768&A)v=b[m+4>>2];else{for(Y=b[m+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[m+(B?12:8)>>2];;){n:if(!g)if(v=(g=b[l+16>>2])+1|0,m=k[g+1|0],255!=k[0|g])b[l+16>>2]=v,g=8,o=(m<<8)+o|0;else{if(m>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=v,o=(m<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}v=B?!Y:Y}B=k[C+24640|0],b[F>>2]=(0|v)==(0|B)?d:J,b[H>>2]=32|b[H>>2],b[w+4>>2]=8|b[w+4>>2],I=(B^v)<<19|I|16}}if(!(16777344&I)){if(C=I>>>3|0,Q=X+(k[b[l+108>>2]+(495&C)|0]<<2)|0,H=b[Q>>2],A=A-(B=b[H>>2])|0,o>>>16>>>0<B>>>0){for(Y=b[H+4>>2],v=A>>>0<B>>>0,b[Q>>2]=b[H+(v?8:12)>>2];;){n:if(!g)if(A=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=A,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,B=v?Y:!Y}else if(o=o-(B<<16)|0,32768&A)B=b[H+4>>2];else{for(Y=b[H+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[H+(B?12:8)>>2];;){n:if(!g)if(v=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=v,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=v,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}B=B?!Y:Y}if(B){if(H=w-4|0,C=b[w+4>>2]>>>20&4|b[H>>2]>>>22&1|I>>>15&16|I>>>19&64|170&C,Q=X+(k[C+24384|0]<<2)|0,m=b[Q>>2],A=A-(B=b[m>>2])|0,o>>>16>>>0<B>>>0){for(Y=b[m+4>>2],v=A>>>0<B>>>0,b[Q>>2]=b[m+(v?8:12)>>2];;){n:if(!g)if(A=(g=b[l+16>>2])+1|0,m=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(m<<8)+o|0;else{if(m>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=A,o=(m<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,v=v?Y:!Y}else if(o=o-(B<<16)|0,32768&A)v=b[m+4>>2];else{for(Y=b[m+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[m+(B?12:8)>>2];;){n:if(!g)if(v=(g=b[l+16>>2])+1|0,m=k[g+1|0],255!=k[0|g])b[l+16>>2]=v,g=8,o=(m<<8)+o|0;else{if(m>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=v,o=(m<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}v=B?!Y:Y}B=k[C+24640|0],b[F+256>>2]=(0|v)==(0|B)?d:J,b[H>>2]=256|b[H>>2],b[w+4>>2]=64|b[w+4>>2],I=(B^v)<<22|I|128}}if(!(134218752&I)){if(C=I>>>6|0,Q=X+(k[b[l+108>>2]+(495&C)|0]<<2)|0,H=b[Q>>2],A=A-(B=b[H>>2])|0,o>>>16>>>0<B>>>0){for(Y=b[H+4>>2],v=A>>>0<B>>>0,b[Q>>2]=b[H+(v?8:12)>>2];;){n:if(!g)if(A=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=A,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,B=v?Y:!Y}else if(o=o-(B<<16)|0,32768&A)B=b[H+4>>2];else{for(Y=b[H+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[H+(B?12:8)>>2];;){n:if(!g)if(v=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=v,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=v,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}B=B?!Y:Y}if(B){if(H=w-4|0,C=b[w+4>>2]>>>23&4|b[H>>2]>>>25&1|I>>>18&16|I>>>22&64|170&C,Q=X+(k[C+24384|0]<<2)|0,m=b[Q>>2],A=A-(B=b[m>>2])|0,o>>>16>>>0<B>>>0){for(Y=b[m+4>>2],v=A>>>0<B>>>0,b[Q>>2]=b[m+(v?8:12)>>2];;){n:if(!g)if(A=(g=b[l+16>>2])+1|0,m=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(m<<8)+o|0;else{if(m>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=A,o=(m<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,v=v?Y:!Y}else if(o=o-(B<<16)|0,32768&A)v=b[m+4>>2];else{for(Y=b[m+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[m+(B?12:8)>>2];;){n:if(!g)if(v=(g=b[l+16>>2])+1|0,m=k[g+1|0],255!=k[0|g])b[l+16>>2]=v,g=8,o=(m<<8)+o|0;else{if(m>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=v,o=(m<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}v=B?!Y:Y}B=k[C+24640|0],b[F+512>>2]=(0|v)==(0|B)?d:J,b[H>>2]=2048|b[H>>2],b[w+4>>2]=512|b[w+4>>2],I=(B^v)<<25|I|1024}}if(1073750016&I)break c;if(C=I>>>9|0,Q=X+(k[b[l+108>>2]+(495&C)|0]<<2)|0,H=b[Q>>2],A=A-(B=b[H>>2])|0,o>>>16>>>0<B>>>0){for(Y=b[H+4>>2],v=A>>>0<B>>>0,b[Q>>2]=b[H+(v?8:12)>>2];;){n:if(!g)if(A=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=A,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,B=v?Y:!Y}else if(o=o-(B<<16)|0,32768&A)B=b[H+4>>2];else{for(Y=b[H+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[H+(B?12:8)>>2];;){n:if(!g)if(v=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=v,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=v,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}B=B?!Y:Y}if(!B)break c;Y=w-4|0,m=b[w+4>>2]>>>26&4|b[Y>>2]>>>28&1|I>>>21&16|I>>>25&64|170&C,Q=X+(k[m+24384|0]<<2)|0,R=b[Q>>2],A=A-(B=b[R>>2])|0}else{if(Q=b[V>>2],A=A-(I=b[Q>>2])|0,o>>>16>>>0<I>>>0){for(v=b[Q+4>>2],B=A>>>0<I>>>0,b[V>>2]=b[Q+(B?8:12)>>2];;){n:if(!g)if(A=(Q=b[l+16>>2])+1|0,C=k[Q+1|0],255!=k[0|Q])b[l+16>>2]=A,g=8,o=(C<<8)+o|0;else{if(C>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=A,o=(C<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((I<<=1)>>>0<32768))break}A=I,B=B?v:!v}else if(o=o-(I<<16)|0,32768&A)B=b[Q+4>>2];else{for(v=b[Q+4>>2],B=A>>>0<I>>>0,b[V>>2]=b[Q+(B?12:8)>>2];;){n:if(!g)if(I=(Q=b[l+16>>2])+1|0,C=k[Q+1|0],255!=k[0|Q])b[l+16>>2]=I,g=8,o=(C<<8)+o|0;else{if(C>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=I,o=(C<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}B=B?!v:v}if(!B){Q=V;break l}if(B=b[E>>2],A=A-(I=b[B>>2])|0,o>>>16>>>0<I>>>0){for(C=b[B+4>>2],B=b[((Q=A>>>0<I>>>0)?8:12)+B>>2],b[E>>2]=B;;){n:if(!g)if(A=(v=b[l+16>>2])+1|0,Y=k[v+1|0],255!=k[0|v])b[l+16>>2]=A,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=A,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((I<<=1)>>>0<32768))break}A=I,v=Q?C:!C}else if(o=o-(I<<16)|0,32768&A)v=b[B+4>>2];else{for(C=b[B+4>>2],B=b[((I=A>>>0<I>>>0)?12:8)+B>>2],b[E>>2]=B;;){n:if(!g)if(Q=(v=b[l+16>>2])+1|0,Y=k[v+1|0],255!=k[0|v])b[l+16>>2]=Q,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=Q,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}v=I?!C:C}if(A=A-(I=b[B>>2])|0,o>>>16>>>0<I>>>0){for(C=b[B+4>>2],Q=B,B=A>>>0<I>>>0,b[E>>2]=b[Q+(B?8:12)>>2];;){n:if(!g)if(A=(Q=b[l+16>>2])+1|0,Y=k[Q+1|0],255!=k[0|Q])b[l+16>>2]=A,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=A,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((I<<=1)>>>0<32768))break}A=I,B=B?C:!C}else if(o=o-(I<<16)|0,32768&A)B=b[B+4>>2];else{for(C=b[B+4>>2],Q=B,B=A>>>0<I>>>0,b[E>>2]=b[Q+(B?12:8)>>2];;){n:if(!g)if(I=(Q=b[l+16>>2])+1|0,Y=k[Q+1|0],255!=k[0|Q])b[l+16>>2]=I,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=I,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}B=B?!C:C}I=0,Q=E;n:{I:{s:{G:{t:switch(B|v<<1){case 0:if(Y=w-4|0,Q=b[w+4>>2]>>>17&4|b[Y>>2]>>>19&1,B=X+(k[Q+24384|0]<<2)|0,v=b[B>>2],A=A-(I=b[v>>2])|0,o>>>16>>>0<I>>>0){for(C=b[v+4>>2],U=B,B=A>>>0<I>>>0,b[U>>2]=b[v+(B?8:12)>>2];;){C:if(!g)if(A=(v=b[l+16>>2])+1|0,H=k[v+1|0],255!=k[0|v])b[l+16>>2]=A,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break C}b[l+16>>2]=A,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((I<<=1)>>>0<32768))break}A=I,I=B?C:!C}else if(o=o-(I<<16)|0,32768&A)I=b[v+4>>2];else{for(C=b[v+4>>2],U=B,B=A>>>0<I>>>0,b[U>>2]=b[v+(B?12:8)>>2];;){C:if(!g)if(I=(v=b[l+16>>2])+1|0,H=k[v+1|0],255!=k[0|v])b[l+16>>2]=I,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break C}b[l+16>>2]=I,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}I=B?!C:C}if(B=k[Q+24640|0],b[F>>2]=(0|I)==(0|B)?d:J,b[Y>>2]=32|b[Y>>2],b[w+4>>2]=8|b[w+4>>2],Q=(B^I)<<19,R=b[l+108>>2],B=X+(k[R+2|0]<<2)|0,v=b[B>>2],A=A-(I=b[v>>2])|0,o>>>16>>>0<I>>>0){for(C=b[v+4>>2],U=B,B=A>>>0<I>>>0,b[U>>2]=b[v+(B?8:12)>>2];;){C:if(!g)if(A=(v=b[l+16>>2])+1|0,Y=k[v+1|0],255!=k[0|v])b[l+16>>2]=A,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break C}b[l+16>>2]=A,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((I<<=1)>>>0<32768))break}A=I,B=B?C:!C}else if(o=o-(I<<16)|0,32768&A)B=b[v+4>>2];else{for(C=b[v+4>>2],U=B,B=A>>>0<I>>>0,b[U>>2]=b[v+(B?12:8)>>2];;){C:if(!g)if(I=(v=b[l+16>>2])+1|0,Y=k[v+1|0],255!=k[0|v])b[l+16>>2]=I,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break C}b[l+16>>2]=I,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}B=B?!C:C}if(I=16|Q,!B)break G;break;case 1:break t;case 2:break s;case 3:break n;default:break c}if(Y=w-4|0,v=b[w+4>>2]>>>20&4|b[Y>>2]>>>22&1|I>>>15&16|I>>>19&64|I>>>3&170,Q=X+(k[v+24384|0]<<2)|0,H=b[Q>>2],A=A-(B=b[H>>2])|0,o>>>16>>>0<B>>>0){for(C=b[H+4>>2],U=Q,Q=A>>>0<B>>>0,b[U>>2]=b[H+(Q?8:12)>>2];;){t:if(!g)if(A=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break t}b[l+16>>2]=A,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,Q=Q?C:!C}else if(o=o-(B<<16)|0,32768&A)Q=b[H+4>>2];else{for(C=b[H+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[H+(B?12:8)>>2];;){t:if(!g)if(Q=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=Q,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break t}b[l+16>>2]=Q,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}Q=B?!C:C}B=k[v+24640|0],b[F+256>>2]=(0|Q)==(0|B)?d:J,b[Y>>2]=256|b[Y>>2],b[w+4>>2]=64|b[w+4>>2],R=b[l+108>>2],I=(B^Q)<<22|I|128}if(Q=X+(k[(I>>>6&495)+R|0]<<2)|0,v=b[Q>>2],A=A-(B=b[v>>2])|0,o>>>16>>>0<B>>>0){for(C=b[v+4>>2],U=Q,Q=A>>>0<B>>>0,b[U>>2]=b[v+(Q?8:12)>>2];;){G:if(!g)if(A=(v=b[l+16>>2])+1|0,Y=k[v+1|0],255!=k[0|v])b[l+16>>2]=A,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break G}b[l+16>>2]=A,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,B=Q?C:!C}else if(o=o-(B<<16)|0,32768&A)B=b[v+4>>2];else{for(C=b[v+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[v+(B?12:8)>>2];;){G:if(!g)if(Q=(v=b[l+16>>2])+1|0,Y=k[v+1|0],255!=k[0|v])b[l+16>>2]=Q,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break G}b[l+16>>2]=Q,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}B=B?!C:C}if(!B)break I}if(Y=w-4|0,v=b[w+4>>2]>>>23&4|b[Y>>2]>>>25&1|I>>>18&16|I>>>22&64|I>>>6&170,Q=X+(k[v+24384|0]<<2)|0,H=b[Q>>2],A=A-(B=b[H>>2])|0,o>>>16>>>0<B>>>0){for(C=b[H+4>>2],U=Q,Q=A>>>0<B>>>0,b[U>>2]=b[H+(Q?8:12)>>2];;){s:if(!g)if(A=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break s}b[l+16>>2]=A,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,Q=Q?C:!C}else if(o=o-(B<<16)|0,32768&A)Q=b[H+4>>2];else{for(C=b[H+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[H+(B?12:8)>>2];;){s:if(!g)if(Q=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=Q,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break s}b[l+16>>2]=Q,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}Q=B?!C:C}B=k[v+24640|0],b[F+512>>2]=(0|Q)==(0|B)?d:J,b[Y>>2]=2048|b[Y>>2],b[w+4>>2]=512|b[w+4>>2],I=(B^Q)<<25|I|1024,R=b[l+108>>2]}if(Q=X+(k[(I>>>9&495)+R|0]<<2)|0,Y=b[Q>>2],A=A-(B=b[Y>>2])|0,o>>>16>>>0<B>>>0){for(C=b[Y+4>>2],v=A>>>0<B>>>0,b[Q>>2]=b[Y+(v?8:12)>>2];;){I:if(!g)if(A=(g=b[l+16>>2])+1|0,Y=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=A,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,B=v?C:!C}else if(o=o-(B<<16)|0,32768&A)B=b[Y+4>>2];else{for(C=b[Y+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[Y+(B?12:8)>>2];;){I:if(!g)if(v=(g=b[l+16>>2])+1|0,Y=k[g+1|0],255!=k[0|g])b[l+16>>2]=v,g=8,o=(Y<<8)+o|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break I}b[l+16>>2]=v,o=(Y<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}B=B?!C:C}if(!B)break c}Y=w-4|0,m=b[w+4>>2]>>>26&4|b[Y>>2]>>>28&1|I>>>21&16|I>>>25&64|I>>>9&170,Q=X+(k[m+24384|0]<<2)|0,R=b[Q>>2],A=A-(B=b[R>>2])|0}if(o>>>16>>>0<B>>>0){for(C=b[R+4>>2],v=A>>>0<B>>>0,b[Q>>2]=b[(v?8:12)+R>>2];;){n:if(!g)if(A=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=A,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=A,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((B<<=1)>>>0<32768))break}A=B,v=v?C:!C}else if(o=o-(B<<16)|0,32768&A)v=b[R+4>>2];else{for(C=b[R+4>>2],B=A>>>0<B>>>0,b[Q>>2]=b[(B?12:8)+R>>2];;){n:if(!g)if(v=(g=b[l+16>>2])+1|0,H=k[g+1|0],255!=k[0|g])b[l+16>>2]=v,g=8,o=(H<<8)+o|0;else{if(H>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,o=o+65280|0,g=8;break n}b[l+16>>2]=v,o=(H<<9)+o|0,g=7}if(g=g-1|0,o<<=1,!((A<<=1)>>>0<32768))break}v=B?!C:C}B=k[m+24640|0],b[F+768>>2]=(0|v)==(0|B)?d:J,b[Y>>2]=16384|b[Y>>2],b[w+4>>2]=4096|b[w+4>>2],b[w+260>>2]=4|b[w+260>>2],b[w+268>>2]=1|b[w+268>>2],B^=v,b[w+264>>2]=b[w+264>>2]|B<<18|2,I=B<<28|I|8192}b[w>>2]=-1226833921&I}if(I=w+4|0,B=F+4|0,64==(0|(y=y+1|0)))break}if(I=w+12|0,B=F+772|0,v=h>>>0<60,h=h+4|0,!v)break}}b[l+8>>2]=g,b[l+4>>2]=A,b[l>>2]=o,b[l+104>>2]=Q}if(32&L){if(b[l+104>>2]=l+100,I=b[l+100>>2],A=b[I>>2],o=b[l+4>>2]-A|0,b[l+4>>2]=o,(g=b[l>>2])>>>16>>>0<A>>>0){for(b[l+4>>2]=A,I=b[(A>>>0>o>>>0?8:12)+I>>2],b[l+100>>2]=I,o=b[l+8>>2];;){o:if(!o)if(B=(V=b[l+16>>2])+1|0,Q=k[V+1|0],255!=k[0|V])b[l+16>>2]=B,o=8,g=(Q<<8)+g|0;else{if(Q>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,g=g+65280|0,o=8;break o}b[l+16>>2]=B,g=(Q<<9)+g|0,o=7}if(o=o-1|0,b[l+8>>2]=o,g<<=1,b[l>>2]=g,A<<=1,b[l+4>>2]=A,!(A>>>0<32768))break}o=A}else if(g=g-(A<<16)|0,b[l>>2]=g,!(32768&o))for(I=b[(A>>>0>o>>>0?12:8)+I>>2],b[l+100>>2]=I,A=b[l+8>>2];;){o:if(!A)if(A=(B=b[l+16>>2])+1|0,V=k[B+1|0],255!=k[0|B])b[l+16>>2]=A,A=8,g=(V<<8)+g|0;else{if(V>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,g=g+65280|0,A=8;break o}b[l+16>>2]=A,g=(V<<9)+g|0,A=7}if(A=A-1|0,b[l+8>>2]=A,g<<=1,b[l>>2]=g,o<<=1,b[l+4>>2]=o,!(o>>>0<32768))break}if(o=o-(A=b[I>>2])|0,b[l+4>>2]=o,g>>>16>>>0<A>>>0){for(b[l+4>>2]=A,I=b[(A>>>0>o>>>0?8:12)+I>>2],b[l+100>>2]=I,o=b[l+8>>2];;){o:if(!o)if(B=(V=b[l+16>>2])+1|0,Q=k[V+1|0],255!=k[0|V])b[l+16>>2]=B,o=8,g=(Q<<8)+g|0;else{if(Q>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,g=g+65280|0,o=8;break o}b[l+16>>2]=B,g=(Q<<9)+g|0,o=7}if(o=o-1|0,b[l+8>>2]=o,g<<=1,b[l>>2]=g,A<<=1,b[l+4>>2]=A,!(A>>>0<32768))break}o=A}else if(g=g-(A<<16)|0,b[l>>2]=g,!(32768&o))for(I=b[(A>>>0>o>>>0?12:8)+I>>2],b[l+100>>2]=I,A=b[l+8>>2];;){o:if(!A)if(A=(B=b[l+16>>2])+1|0,V=k[B+1|0],255!=k[0|B])b[l+16>>2]=A,A=8,g=(V<<8)+g|0;else{if(V>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,g=g+65280|0,A=8;break o}b[l+16>>2]=A,g=(V<<9)+g|0,A=7}if(A=A-1|0,b[l+8>>2]=A,g<<=1,b[l>>2]=g,o<<=1,b[l+4>>2]=o,!(o>>>0<32768))break}if(o=o-(A=b[I>>2])|0,b[l+4>>2]=o,g>>>16>>>0<A>>>0){for(b[l+4>>2]=A,I=b[(A>>>0>o>>>0?8:12)+I>>2],b[l+100>>2]=I,o=b[l+8>>2];;){o:if(!o)if(B=(V=b[l+16>>2])+1|0,Q=k[V+1|0],255!=k[0|V])b[l+16>>2]=B,o=8,g=(Q<<8)+g|0;else{if(Q>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,g=g+65280|0,o=8;break o}b[l+16>>2]=B,g=(Q<<9)+g|0,o=7}if(o=o-1|0,b[l+8>>2]=o,g<<=1,b[l>>2]=g,A<<=1,b[l+4>>2]=A,!(A>>>0<32768))break}o=A}else if(g=g-(A<<16)|0,b[l>>2]=g,!(32768&o))for(I=b[(A>>>0>o>>>0?12:8)+I>>2],b[l+100>>2]=I,A=b[l+8>>2];;){o:if(!A)if(A=(B=b[l+16>>2])+1|0,V=k[B+1|0],255!=k[0|B])b[l+16>>2]=A,A=8,g=(V<<8)+g|0;else{if(V>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,g=g+65280|0,A=8;break o}b[l+16>>2]=A,g=(V<<9)+g|0,A=7}if(A=A-1|0,b[l+8>>2]=A,g<<=1,b[l>>2]=g,o<<=1,b[l+4>>2]=o,!(o>>>0<32768))break}if(o=o-(A=b[I>>2])|0,b[l+4>>2]=o,g>>>16>>>0<A>>>0)for(b[l+4>>2]=A,b[l+100>>2]=b[(A>>>0>o>>>0?8:12)+I>>2],o=b[l+8>>2];;){o:if(!o)if(B=(I=b[l+16>>2])+1|0,V=k[I+1|0],255!=k[0|I])b[l+16>>2]=B,o=8,g=(V<<8)+g|0;else{if(V>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,g=g+65280|0,o=8;break o}b[l+16>>2]=B,g=(V<<9)+g|0,o=7}if(o=o-1|0,b[l+8>>2]=o,g<<=1,b[l>>2]=g,A<<=1,b[l+4>>2]=A,!(A>>>0<32768))break}else if(B=g-(A<<16)|0,b[l>>2]=B,!(32768&o))for(b[l+100>>2]=b[(A>>>0>o>>>0?12:8)+I>>2],g=b[l+8>>2];;){o:if(!g)if(A=(I=b[l+16>>2])+1|0,V=k[I+1|0],255!=k[0|I])b[l+16>>2]=A,g=8,B=(V<<8)+B|0;else{if(V>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,B=B+65280|0,g=8;break o}b[l+16>>2]=A,B=(V<<9)+B|0,g=7}if(g=g-1|0,b[l+8>>2]=g,B<<=1,b[l>>2]=B,o<<=1,b[l+4>>2]=o,!(o>>>0<32768))break}}break b;case 0:break B}if(of){if(y=1<<D>>>1|0,A=12+((o=(J=b[l+124>>2])<<2)+b[l+120>>2]|0)|0,I=b[l+116>>2],w=0,(B=b[l+128>>2])>>>0>=4){if(!J)break a;for(C=u(J,12),v=J<<3,Y=0-y|0;;){for(B=0;;){if(V=A,A=b[A>>2]){if(16==(2097168&A)){A=b[l>>2];B:if(!(g=b[l+8>>2])){E=255!=(0|A),Q=b[l+16>>2],A=k[0|Q];o:{if(E)g=8;else{if(A>>>0>143)break o;g=7}b[l>>2]=A,b[l+16>>2]=Q+1;break B}g=8,A=255}Q=g-1|0,b[l+8>>2]=Q,Q=A>>>Q&1,A=b[I>>2],b[I>>2]=((0|Q)==(A>>>31|0)?Y:y)+A,A=1048576|b[V>>2],b[V>>2]=A}if(128==(16777344&A)){A=b[l>>2];B:if(!(g=b[l+8>>2])){E=255!=(0|A),Q=b[l+16>>2],A=k[0|Q];o:{if(E)g=8;else{if(A>>>0>143)break o;g=7}b[l>>2]=A,b[l+16>>2]=Q+1;break B}g=8,A=255}E=g-1|0,b[l+8>>2]=E,F=b[(Q=o+I|0)>>2],b[Q>>2]=F+((A>>>E&1)==(F>>>31|0)?Y:y),A=8388608|b[V>>2],b[V>>2]=A}if(1024==(134218752&A)){A=b[l>>2];B:if(!(g=b[l+8>>2])){E=255!=(0|A),Q=b[l+16>>2],A=k[0|Q];o:{if(E)g=8;else{if(A>>>0>143)break o;g=7}b[l>>2]=A,b[l+16>>2]=Q+1;break B}g=8,A=255}E=g-1|0,b[l+8>>2]=E,F=b[(Q=I+v|0)>>2],b[Q>>2]=F+((A>>>E&1)==(F>>>31|0)?Y:y),A=67108864|b[V>>2],b[V>>2]=A}if(8192==(1073750016&A)){A=b[l>>2];B:if(!(g=b[l+8>>2])){E=255!=(0|A),Q=b[l+16>>2],A=k[0|Q];o:{if(E)g=8;else{if(A>>>0>143)break o;g=7}b[l>>2]=A,b[l+16>>2]=Q+1;break B}g=8,A=255}E=g-1|0,b[l+8>>2]=E,F=b[(Q=C+I|0)>>2],b[Q>>2]=F+((A>>>E&1)==(F>>>31|0)?Y:y),b[V>>2]=536870912|b[V>>2]}}if(I=I+4|0,A=V+4|0,(0|J)==(0|(B=B+1|0)))break}if(I=C+I|0,A=V+12|0,!((w=w+4|0)>>>0<(-4&(B=b[l+128>>2]))>>>0))break}}if(!J|B>>>0<=w>>>0)break b;for(m=0,E=0-y|0,o=B;;){if((0|o)!=(0|w))for(g=b[A>>2],R=0;;){if((2097168<<(o=u(R,3))&g)==16<<o){v=(u(R,J)<<2)+I|0,B=b[l>>2];B:if(!(H=b[l+8>>2])){Q=255!=(0|B),V=b[l+16>>2],B=k[0|V];o:{if(Q)H=8;else{if(B>>>0>143)break o;H=7}b[l>>2]=B,b[l+16>>2]=V+1;break B}H=8,B=255}V=H-1|0,b[l+8>>2]=V,V=B>>>V&1,B=b[v>>2],b[v>>2]=((0|V)==(B>>>31|0)?E:y)+B,g=b[A>>2]|1048576<<o,b[A>>2]=g,B=b[l+128>>2]}if(o=B,!((R=R+1|0)>>>0<B-w>>>0))break}else o=w;if(I=I+4|0,A=A+4|0,(0|J)==(0|(m=m+1|0)))break}break b}if(V=b[l+120>>2],o=b[l+116>>2],!(64!=(0|(X=b[l+124>>2]))|64!=(0|(B=b[l+128>>2])))){for(B=V+268|0,h=0,Y=0-(m=1<<D>>>1|0)|0,R=b[l+8>>2],I=b[l+4>>2],A=b[l>>2],w=b[l+104>>2];;){for(H=0;;){if(E=o,Q=B,o=b[B>>2]){if(V=B,16==(2097168&o)){if(F=b[(w=af+((1048576&o?16:495&o?15:14)<<2)|0)>>2],I=I-(B=b[F>>2])|0,A>>>16>>>0<B>>>0){for(g=b[F+4>>2],v=B>>>0>I>>>0,b[w>>2]=b[F+(v?8:12)>>2];;){B:if(!R)if(I=(F=b[l+16>>2])+1|0,C=k[F+1|0],255!=k[0|F])b[l+16>>2]=I,R=8,A=(C<<8)+A|0;else{if(C>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,A=A+65280|0,R=8;break B}b[l+16>>2]=I,A=(C<<9)+A|0,R=7}if(R=R-1|0,A<<=1,!((B<<=1)>>>0<32768))break}I=B,v=v?g:!g}else if(A=A-(B<<16)|0,32768&I)v=b[F+4>>2];else{for(g=b[F+4>>2],B=B>>>0>I>>>0,b[w>>2]=b[F+(B?12:8)>>2];;){B:if(!R)if(v=(F=b[l+16>>2])+1|0,C=k[F+1|0],255!=k[0|F])b[l+16>>2]=v,R=8,A=(C<<8)+A|0;else{if(C>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,A=A+65280|0,R=8;break B}b[l+16>>2]=v,A=(C<<9)+A|0,R=7}if(R=R-1|0,A<<=1,!((I<<=1)>>>0<32768))break}v=B?!g:g}B=b[E>>2],b[E>>2]=((0|v)==(B>>>31|0)?Y:m)+B,o|=1048576}if(128==(16777344&o)){if(F=b[(w=af+((8388608&o?16:3960&o?15:14)<<2)|0)>>2],I=I-(B=b[F>>2])|0,A>>>16>>>0<B>>>0){for(g=b[F+4>>2],v=B>>>0>I>>>0,b[w>>2]=b[F+(v?8:12)>>2];;){B:if(!R)if(I=(F=b[l+16>>2])+1|0,C=k[F+1|0],255!=k[0|F])b[l+16>>2]=I,R=8,A=(C<<8)+A|0;else{if(C>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,A=A+65280|0,R=8;break B}b[l+16>>2]=I,A=(C<<9)+A|0,R=7}if(R=R-1|0,A<<=1,!((B<<=1)>>>0<32768))break}I=B,v=v?g:!g}else if(A=A-(B<<16)|0,32768&I)v=b[F+4>>2];else{for(g=b[F+4>>2],B=B>>>0>I>>>0,b[w>>2]=b[F+(B?12:8)>>2];;){B:if(!R)if(v=(F=b[l+16>>2])+1|0,C=k[F+1|0],255!=k[0|F])b[l+16>>2]=v,R=8,A=(C<<8)+A|0;else{if(C>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,A=A+65280|0,R=8;break B}b[l+16>>2]=v,A=(C<<9)+A|0,R=7}if(R=R-1|0,A<<=1,!((I<<=1)>>>0<32768))break}v=B?!g:g}B=b[E+256>>2],b[E+256>>2]=((0|v)==(B>>>31|0)?Y:m)+B,o|=8388608}if(1024==(134218752&o)){if(F=b[(w=af+((67108864&o?16:31680&o?15:14)<<2)|0)>>2],I=I-(B=b[F>>2])|0,A>>>16>>>0<B>>>0){for(g=b[F+4>>2],v=B>>>0>I>>>0,b[w>>2]=b[F+(v?8:12)>>2];;){B:if(!R)if(I=(F=b[l+16>>2])+1|0,C=k[F+1|0],255!=k[0|F])b[l+16>>2]=I,R=8,A=(C<<8)+A|0;else{if(C>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,A=A+65280|0,R=8;break B}b[l+16>>2]=I,A=(C<<9)+A|0,R=7}if(R=R-1|0,A<<=1,!((B<<=1)>>>0<32768))break}I=B,v=v?g:!g}else if(A=A-(B<<16)|0,32768&I)v=b[F+4>>2];else{for(g=b[F+4>>2],B=B>>>0>I>>>0,b[w>>2]=b[F+(B?12:8)>>2];;){B:if(!R)if(v=(F=b[l+16>>2])+1|0,C=k[F+1|0],255!=k[0|F])b[l+16>>2]=v,R=8,A=(C<<8)+A|0;else{if(C>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,A=A+65280|0,R=8;break B}b[l+16>>2]=v,A=(C<<9)+A|0,R=7}if(R=R-1|0,A<<=1,!((I<<=1)>>>0<32768))break}v=B?!g:g}B=b[E+512>>2],b[E+512>>2]=((0|v)==(B>>>31|0)?Y:m)+B,o|=67108864}if(8192==(1073750016&o)){if(F=b[(w=af+((536870912&o?16:253440&o?15:14)<<2)|0)>>2],I=I-(B=b[F>>2])|0,A>>>16>>>0<B>>>0){for(g=b[F+4>>2],v=B>>>0>I>>>0,b[w>>2]=b[F+(v?8:12)>>2];;){B:if(!R)if(I=(F=b[l+16>>2])+1|0,C=k[F+1|0],255!=k[0|F])b[l+16>>2]=I,R=8,A=(C<<8)+A|0;else{if(C>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,A=A+65280|0,R=8;break B}b[l+16>>2]=I,A=(C<<9)+A|0,R=7}if(R=R-1|0,A<<=1,!((B<<=1)>>>0<32768))break}I=B,v=v?g:!g}else if(A=A-(B<<16)|0,32768&I)v=b[F+4>>2];else{for(g=b[F+4>>2],B=B>>>0>I>>>0,b[w>>2]=b[F+(B?12:8)>>2];;){B:if(!R)if(v=(F=b[l+16>>2])+1|0,C=k[F+1|0],255!=k[0|F])b[l+16>>2]=v,R=8,A=(C<<8)+A|0;else{if(C>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,A=A+65280|0,R=8;break B}b[l+16>>2]=v,A=(C<<9)+A|0,R=7}if(R=R-1|0,A<<=1,!((I<<=1)>>>0<32768))break}v=B?!g:g}B=b[E+768>>2],b[E+768>>2]=((0|v)==(B>>>31|0)?Y:m)+B,o|=536870912}b[V>>2]=o}if(B=Q+4|0,o=E+4|0,64==(0|(H=H+1|0)))break}if(B=Q+12|0,o=E+772|0,V=h>>>0<60,h=h+4|0,!V)break}b[l+8>>2]=R,b[l+4>>2]=I,b[l>>2]=A,b[l+104>>2]=w;break b}if(d=1<<D>>>1|0,C=12+((g=X<<2)+V|0)|0,R=b[l+8>>2],I=b[l+4>>2],A=b[l>>2],w=b[l+104>>2],F=0,!(B>>>0<4))if(X)for(m=u(X,12),v=X<<3,y=0-d|0;;){for(H=0;;){if(V=C,Q=b[C>>2]){if(16==(2097168&Q)){C=b[(w=af+((1048576&Q?16:495&Q?15:14)<<2)|0)>>2],I=I-(B=b[C>>2])|0;B:if(A>>>16>>>0>=B>>>0){if(A=A-(B<<16)|0,E=b[C+4>>2],32768&I)break B;for(Y=b[C+4>>2],B=B>>>0>I>>>0,b[w>>2]=b[C+(B?12:8)>>2];R||(E=(C=b[l+16>>2])+1|0,J=k[C+1|0],255==k[0|C]?J>>>0<=143?(b[l+16>>2]=E,A=(J<<9)+A|0,R=7):(b[l+12>>2]=b[l+12>>2]+1,A=A+65280|0,R=8):(b[l+16>>2]=E,R=8,A=(J<<8)+A|0)),R=R-1|0,A<<=1,(I<<=1)>>>0<32768;);E=B?!Y:Y}else{for(Y=b[C+4>>2],E=B>>>0>I>>>0,b[w>>2]=b[C+(E?8:12)>>2];R||(I=(C=b[l+16>>2])+1|0,J=k[C+1|0],255==k[0|C]?J>>>0<=143?(b[l+16>>2]=I,A=(J<<9)+A|0,R=7):(b[l+12>>2]=b[l+12>>2]+1,A=A+65280|0,R=8):(b[l+16>>2]=I,R=8,A=(J<<8)+A|0)),R=R-1|0,A<<=1,(B<<=1)>>>0<32768;);I=B,E=E?Y:!Y}B=b[o>>2],b[o>>2]=((0|E)==(B>>>31|0)?y:d)+B,Q|=1048576}if(128==(16777344&Q)){C=b[(w=af+((8388608&Q?16:3960&Q?15:14)<<2)|0)>>2],I=I-(B=b[C>>2])|0;B:if(A>>>16>>>0>=B>>>0){if(A=A-(B<<16)|0,E=b[C+4>>2],32768&I)break B;for(Y=b[C+4>>2],B=B>>>0>I>>>0,b[w>>2]=b[C+(B?12:8)>>2];R||(E=(C=b[l+16>>2])+1|0,J=k[C+1|0],255==k[0|C]?J>>>0<=143?(b[l+16>>2]=E,A=(J<<9)+A|0,R=7):(b[l+12>>2]=b[l+12>>2]+1,A=A+65280|0,R=8):(b[l+16>>2]=E,R=8,A=(J<<8)+A|0)),R=R-1|0,A<<=1,(I<<=1)>>>0<32768;);E=B?!Y:Y}else{for(Y=b[C+4>>2],E=B>>>0>I>>>0,b[w>>2]=b[C+(E?8:12)>>2];R||(I=(C=b[l+16>>2])+1|0,J=k[C+1|0],255==k[0|C]?J>>>0<=143?(b[l+16>>2]=I,A=(J<<9)+A|0,R=7):(b[l+12>>2]=b[l+12>>2]+1,A=A+65280|0,R=8):(b[l+16>>2]=I,R=8,A=(J<<8)+A|0)),R=R-1|0,A<<=1,(B<<=1)>>>0<32768;);I=B,E=E?Y:!Y}C=E,E=b[(B=o+g|0)>>2],b[B>>2]=E+((0|C)==(E>>>31|0)?y:d),Q|=8388608}if(1024==(134218752&Q)){C=b[(w=af+((67108864&Q?16:31680&Q?15:14)<<2)|0)>>2],I=I-(B=b[C>>2])|0;B:if(A>>>16>>>0>=B>>>0){if(A=A-(B<<16)|0,E=b[C+4>>2],32768&I)break B;for(Y=b[C+4>>2],B=B>>>0>I>>>0,b[w>>2]=b[C+(B?12:8)>>2];R||(E=(C=b[l+16>>2])+1|0,J=k[C+1|0],255==k[0|C]?J>>>0<=143?(b[l+16>>2]=E,A=(J<<9)+A|0,R=7):(b[l+12>>2]=b[l+12>>2]+1,A=A+65280|0,R=8):(b[l+16>>2]=E,R=8,A=(J<<8)+A|0)),R=R-1|0,A<<=1,(I<<=1)>>>0<32768;);E=B?!Y:Y}else{for(Y=b[C+4>>2],E=B>>>0>I>>>0,b[w>>2]=b[C+(E?8:12)>>2];R||(I=(C=b[l+16>>2])+1|0,J=k[C+1|0],255==k[0|C]?J>>>0<=143?(b[l+16>>2]=I,A=(J<<9)+A|0,R=7):(b[l+12>>2]=b[l+12>>2]+1,A=A+65280|0,R=8):(b[l+16>>2]=I,R=8,A=(J<<8)+A|0)),R=R-1|0,A<<=1,(B<<=1)>>>0<32768;);I=B,E=E?Y:!Y}C=E,E=b[(B=o+v|0)>>2],b[B>>2]=E+((0|C)==(E>>>31|0)?y:d),Q|=67108864}if(8192==(1073750016&Q)){C=b[(w=af+((536870912&Q?16:253440&Q?15:14)<<2)|0)>>2],I=I-(B=b[C>>2])|0;B:if(A>>>16>>>0>=B>>>0){if(A=A-(B<<16)|0,E=b[C+4>>2],32768&I)break B;for(Y=b[C+4>>2],B=B>>>0>I>>>0,b[w>>2]=b[C+(B?12:8)>>2];R||(E=(C=b[l+16>>2])+1|0,J=k[C+1|0],255==k[0|C]?J>>>0<=143?(b[l+16>>2]=E,A=(J<<9)+A|0,R=7):(b[l+12>>2]=b[l+12>>2]+1,A=A+65280|0,R=8):(b[l+16>>2]=E,R=8,A=(J<<8)+A|0)),R=R-1|0,A<<=1,(I<<=1)>>>0<32768;);E=B?!Y:Y}else{for(Y=b[C+4>>2],E=B>>>0>I>>>0,b[w>>2]=b[C+(E?8:12)>>2];R||(I=(C=b[l+16>>2])+1|0,J=k[C+1|0],255==k[0|C]?J>>>0<=143?(b[l+16>>2]=I,A=(J<<9)+A|0,R=7):(b[l+12>>2]=b[l+12>>2]+1,A=A+65280|0,R=8):(b[l+16>>2]=I,R=8,A=(J<<8)+A|0)),R=R-1|0,A<<=1,(B<<=1)>>>0<32768;);I=B,E=E?Y:!Y}C=E,E=b[(B=o+m|0)>>2],b[B>>2]=E+((0|C)==(E>>>31|0)?y:d),Q|=536870912}b[V>>2]=Q}if(C=V+4|0,o=o+4|0,(0|X)==(0|(H=H+1|0)))break}if(C=V+12|0,o=o+m|0,!((F=F+4|0)>>>0<(-4&(B=b[l+128>>2]))>>>0))break}else C=12+(V+((F=-4&B)<<1)|0)|0;if(b[l+8>>2]=R,b[l+4>>2]=I,b[l>>2]=A,b[l+104>>2]=w,!X|B>>>0<=F>>>0)break b;for(h=0,V=0-d|0,A=B;;){if((0|A)!=(0|F))for(R=b[C>>2],g=0;;){if((2097168<<(H=u(g,3))&R)==16<<H){if(w=(u(g,X)<<2)+o|0,Q=af+((1048576&(A=R>>>H|0)?16:495&A?15:14)<<2)|0,b[l+104>>2]=Q,E=b[Q>>2],A=b[E>>2],B=b[l+4>>2]-A|0,b[l+4>>2]=B,(I=b[l>>2])>>>16>>>0<A>>>0){for(v=b[E+4>>2],b[l+4>>2]=A,B=A>>>0>B>>>0,b[Q>>2]=b[E+(B?8:12)>>2],R=b[l+8>>2];;){B:if(!R)if(Q=(E=b[l+16>>2])+1|0,Y=k[E+1|0],255!=k[0|E])b[l+16>>2]=Q,R=8,I=(Y<<8)+I|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,I=I+65280|0,R=8;break B}b[l+16>>2]=Q,I=(Y<<9)+I|0,R=7}if(R=R-1|0,b[l+8>>2]=R,I<<=1,b[l>>2]=I,A<<=1,b[l+4>>2]=A,!(A>>>0<32768))break}B=B?v:!v}else if(I=I-(A<<16)|0,b[l>>2]=I,32768&B)B=b[E+4>>2];else{for(v=b[E+4>>2],A=A>>>0>B>>>0,b[Q>>2]=b[E+(A?12:8)>>2],R=b[l+8>>2];;){B:if(!R)if(Q=(E=b[l+16>>2])+1|0,Y=k[E+1|0],255!=k[0|E])b[l+16>>2]=Q,R=8,I=(Y<<8)+I|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,I=I+65280|0,R=8;break B}b[l+16>>2]=Q,I=(Y<<9)+I|0,R=7}if(R=R-1|0,b[l+8>>2]=R,I<<=1,b[l>>2]=I,B<<=1,b[l+4>>2]=B,!(B>>>0<32768))break}B=A?!v:v}A=b[w>>2],b[w>>2]=((0|B)==(A>>>31|0)?V:d)+A,R=b[C>>2]|1048576<<H,b[C>>2]=R,B=b[l+128>>2]}if(!((g=g+1|0)>>>0<(A=B)-F>>>0))break}else A=F;if(C=C+4|0,o=o+4|0,(0|X)==(0|(h=h+1|0)))break}break b}Q=0,h=0,m=0;k:{B:{o:{if(!(64!=(0|(S=b[l+124>>2]))|64!=b[l+128>>2])){if(V=0-(Q=(A=1<<D)>>>1|A)|0,d=l+28|0,I=b[l+120>>2]+268|0,C=b[l+8>>2],B=b[l+4>>2],w=b[l>>2],H=b[l+104>>2],A=b[l+116>>2],8&L)break o;for(;;){for(m=0;;){if(E=A,v=I,I=b[I>>2]){if(!(2097168&I)&&(A=495&I)){if(H=d+(k[A+b[l+108>>2]|0]<<2)|0,F=b[H>>2],B=B-(A=b[F>>2])|0,w>>>16>>>0<A>>>0){for(g=b[F+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[F+(o?8:12)>>2];;){g:if(!C)if(B=(F=b[l+16>>2])+1|0,Y=k[F+1|0],255!=k[0|F])b[l+16>>2]=B,C=8,w=(Y<<8)+w|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break g}b[l+16>>2]=B,w=(Y<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((A<<=1)>>>0<32768))break}B=A,A=o?g:!g}else if(w=w-(A<<16)|0,32768&B)A=b[F+4>>2];else{for(g=b[F+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[F+(A?12:8)>>2];;){g:if(!C)if(o=(F=b[l+16>>2])+1|0,Y=k[F+1|0],255!=k[0|F])b[l+16>>2]=o,C=8,w=(Y<<8)+w|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break g}b[l+16>>2]=o,w=(Y<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((B<<=1)>>>0<32768))break}A=A?!g:g}if(A){if(J=v-4|0,o=b[v+4>>2]>>>17&4|b[J>>2]>>>19&1|I>>>14&16|I>>>16&64|170&I,H=d+(k[o+24384|0]<<2)|0,g=b[H>>2],B=B-(A=b[g>>2])|0,F=k[o+24640|0],w>>>16>>>0<A>>>0){for(Y=b[g+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[g+(o?8:12)>>2];;){g:if(!C)if(B=(g=b[l+16>>2])+1|0,y=k[g+1|0],255!=k[0|g])b[l+16>>2]=B,C=8,w=(y<<8)+w|0;else{if(y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break g}b[l+16>>2]=B,w=(y<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((A<<=1)>>>0<32768))break}B=A,o=o?Y:!Y}else if(w=w-(A<<16)|0,32768&B)o=b[g+4>>2];else{for(Y=b[g+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[g+(A?12:8)>>2];;){g:if(!C)if(o=(g=b[l+16>>2])+1|0,y=k[g+1|0],255!=k[0|g])b[l+16>>2]=o,C=8,w=(y<<8)+w|0;else{if(y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break g}b[l+16>>2]=o,w=(y<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((B<<=1)>>>0<32768))break}o=A?!Y:Y}b[E>>2]=(0|F)==(0|o)?Q:V,b[J>>2]=32|b[J>>2],b[v+4>>2]=8|b[v+4>>2],b[(A=v-268|0)>>2]=131072|b[A>>2],b[(A=v-260|0)>>2]=32768|b[A>>2],J=A=v-264|0,g=b[A>>2],A=o^F,b[J>>2]=g|A<<31|65536,I=A<<19|I|16}I|=2097152}if(!(!(3960&I)|16777344&I)){if(F=I>>>3|0,H=d+(k[b[l+108>>2]+(495&F)|0]<<2)|0,g=b[H>>2],B=B-(A=b[g>>2])|0,w>>>16>>>0<A>>>0){for(Y=b[g+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[g+(o?8:12)>>2];;){g:if(!C)if(B=(g=b[l+16>>2])+1|0,J=k[g+1|0],255!=k[0|g])b[l+16>>2]=B,C=8,w=(J<<8)+w|0;else{if(J>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break g}b[l+16>>2]=B,w=(J<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((A<<=1)>>>0<32768))break}B=A,A=o?Y:!Y}else if(w=w-(A<<16)|0,32768&B)A=b[g+4>>2];else{for(Y=b[g+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[g+(A?12:8)>>2];;){g:if(!C)if(o=(g=b[l+16>>2])+1|0,J=k[g+1|0],255!=k[0|g])b[l+16>>2]=o,C=8,w=(J<<8)+w|0;else{if(J>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break g}b[l+16>>2]=o,w=(J<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((B<<=1)>>>0<32768))break}A=A?!Y:Y}if(A){if(J=v-4|0,o=b[v+4>>2]>>>20&4|b[J>>2]>>>22&1|I>>>15&16|I>>>19&64|170&F,H=d+(k[o+24384|0]<<2)|0,g=b[H>>2],B=B-(A=b[g>>2])|0,F=k[o+24640|0],w>>>16>>>0<A>>>0){for(Y=b[g+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[g+(o?8:12)>>2];;){g:if(!C)if(B=(g=b[l+16>>2])+1|0,y=k[g+1|0],255!=k[0|g])b[l+16>>2]=B,C=8,w=(y<<8)+w|0;else{if(y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break g}b[l+16>>2]=B,w=(y<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((A<<=1)>>>0<32768))break}B=A,A=o?Y:!Y}else if(w=w-(A<<16)|0,32768&B)A=b[g+4>>2];else{for(Y=b[g+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[g+(A?12:8)>>2];;){g:if(!C)if(o=(g=b[l+16>>2])+1|0,y=k[g+1|0],255!=k[0|g])b[l+16>>2]=o,C=8,w=(y<<8)+w|0;else{if(y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break g}b[l+16>>2]=o,w=(y<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((B<<=1)>>>0<32768))break}A=A?!Y:Y}b[E+256>>2]=(0|F)==(0|A)?Q:V,b[J>>2]=256|b[J>>2],b[v+4>>2]=64|b[v+4>>2],I=(A^F)<<22|I|128}I|=16777216}if(!(!(31680&I)|134218752&I)){if(F=I>>>6|0,H=d+(k[b[l+108>>2]+(495&F)|0]<<2)|0,g=b[H>>2],B=B-(A=b[g>>2])|0,w>>>16>>>0<A>>>0){for(Y=b[g+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[g+(o?8:12)>>2];;){g:if(!C)if(B=(g=b[l+16>>2])+1|0,J=k[g+1|0],255!=k[0|g])b[l+16>>2]=B,C=8,w=(J<<8)+w|0;else{if(J>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break g}b[l+16>>2]=B,w=(J<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((A<<=1)>>>0<32768))break}B=A,A=o?Y:!Y}else if(w=w-(A<<16)|0,32768&B)A=b[g+4>>2];else{for(Y=b[g+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[g+(A?12:8)>>2];;){g:if(!C)if(o=(g=b[l+16>>2])+1|0,J=k[g+1|0],255!=k[0|g])b[l+16>>2]=o,C=8,w=(J<<8)+w|0;else{if(J>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break g}b[l+16>>2]=o,w=(J<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((B<<=1)>>>0<32768))break}A=A?!Y:Y}if(A){if(J=v-4|0,o=b[v+4>>2]>>>23&4|b[J>>2]>>>25&1|I>>>18&16|I>>>22&64|170&F,H=d+(k[o+24384|0]<<2)|0,g=b[H>>2],B=B-(A=b[g>>2])|0,F=k[o+24640|0],w>>>16>>>0<A>>>0){for(Y=b[g+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[g+(o?8:12)>>2];;){g:if(!C)if(B=(g=b[l+16>>2])+1|0,y=k[g+1|0],255!=k[0|g])b[l+16>>2]=B,C=8,w=(y<<8)+w|0;else{if(y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break g}b[l+16>>2]=B,w=(y<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((A<<=1)>>>0<32768))break}B=A,A=o?Y:!Y}else if(w=w-(A<<16)|0,32768&B)A=b[g+4>>2];else{for(Y=b[g+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[g+(A?12:8)>>2];;){g:if(!C)if(o=(g=b[l+16>>2])+1|0,y=k[g+1|0],255!=k[0|g])b[l+16>>2]=o,C=8,w=(y<<8)+w|0;else{if(y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break g}b[l+16>>2]=o,w=(y<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((B<<=1)>>>0<32768))break}A=A?!Y:Y}b[E+512>>2]=(0|F)==(0|A)?Q:V,b[J>>2]=2048|b[J>>2],b[v+4>>2]=512|b[v+4>>2],I=(A^F)<<25|I|1024}I|=134217728}if(!(!(253440&I)|1073750016&I)){if(F=I>>>9|0,H=d+(k[b[l+108>>2]+(495&F)|0]<<2)|0,g=b[H>>2],B=B-(A=b[g>>2])|0,w>>>16>>>0<A>>>0){for(Y=b[g+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[g+(o?8:12)>>2];;){g:if(!C)if(B=(g=b[l+16>>2])+1|0,J=k[g+1|0],255!=k[0|g])b[l+16>>2]=B,C=8,w=(J<<8)+w|0;else{if(J>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break g}b[l+16>>2]=B,w=(J<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((A<<=1)>>>0<32768))break}B=A,A=o?Y:!Y}else if(w=w-(A<<16)|0,32768&B)A=b[g+4>>2];else{for(Y=b[g+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[g+(A?12:8)>>2];;){g:if(!C)if(o=(g=b[l+16>>2])+1|0,J=k[g+1|0],255!=k[0|g])b[l+16>>2]=o,C=8,w=(J<<8)+w|0;else{if(J>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break g}b[l+16>>2]=o,w=(J<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((B<<=1)>>>0<32768))break}A=A?!Y:Y}if(A){if(J=v-4|0,o=b[v+4>>2]>>>26&4|b[J>>2]>>>28&1|I>>>21&16|I>>>25&64|170&F,H=d+(k[o+24384|0]<<2)|0,g=b[H>>2],B=B-(A=b[g>>2])|0,F=k[o+24640|0],w>>>16>>>0<A>>>0){for(Y=b[g+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[g+(o?8:12)>>2];;){g:if(!C)if(B=(g=b[l+16>>2])+1|0,y=k[g+1|0],255!=k[0|g])b[l+16>>2]=B,C=8,w=(y<<8)+w|0;else{if(y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break g}b[l+16>>2]=B,w=(y<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((A<<=1)>>>0<32768))break}B=A,A=o?Y:!Y}else if(w=w-(A<<16)|0,32768&B)A=b[g+4>>2];else{for(Y=b[g+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[g+(A?12:8)>>2];;){g:if(!C)if(o=(g=b[l+16>>2])+1|0,y=k[g+1|0],255!=k[0|g])b[l+16>>2]=o,C=8,w=(y<<8)+w|0;else{if(y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break g}b[l+16>>2]=o,w=(y<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((B<<=1)>>>0<32768))break}A=A?!Y:Y}b[E+768>>2]=(0|F)==(0|A)?Q:V,b[J>>2]=16384|b[J>>2],b[v+4>>2]=4096|b[v+4>>2],b[v+260>>2]=4|b[v+260>>2],b[v+268>>2]=1|b[v+268>>2],A^=F,b[v+264>>2]=b[v+264>>2]|A<<18|2,I=A<<28|I|8192}I|=1073741824}b[v>>2]=I}if(I=v+4|0,A=E+4|0,64==(0|(m=m+1|0)))break}if(I=v+12|0,A=E+772|0,E=h>>>0<60,h=h+4|0,!E)break}break B}V=(A=1<<D)>>>1|A,I=12+((E=b[l+120>>2])+(S<<2)|0)|0,A=b[l+128>>2],C=b[l+8>>2],B=b[l+4>>2],w=b[l>>2],H=b[l+104>>2],F=b[l+116>>2];g:if(8&L){if(!(A>>>0<4))if(S)for(X=u(S,12),J=S<<3,E=0-V|0,p=l+28|0;;){for(h=0;;){if(v=I,I=b[I>>2]){if(!(2097168&I)&&(A=495&I)){H=p+(k[A+b[l+108>>2]|0]<<2)|0,g=b[H>>2],B=B-(A=b[g>>2])|0;l:if(w>>>16>>>0>=A>>>0){if(w=w-(A<<16)|0,d=b[g+4>>2],32768&B)break l;for(Y=b[g+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[g+(A?12:8)>>2];C||(o=(g=b[l+16>>2])+1|0,y=k[g+1|0],255==k[0|g]?y>>>0<=143?(b[l+16>>2]=o,w=(y<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=o,C=8,w=(y<<8)+w|0)),C=C-1|0,w<<=1,(B<<=1)>>>0<32768;);d=A?!Y:Y}else{for(Y=b[g+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[g+(o?8:12)>>2];C||(B=(g=b[l+16>>2])+1|0,y=k[g+1|0],255==k[0|g]?y>>>0<=143?(b[l+16>>2]=B,w=(y<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=B,C=8,w=(y<<8)+w|0)),C=C-1|0,w<<=1,(A<<=1)>>>0<32768;);B=A,d=o?Y:!Y}if(d){y=v-4|0,o=b[v+4>>2]>>>17&4|b[y>>2]>>>19&1|I>>>14&16|I>>>16&64|170&I,H=p+(k[o+24384|0]<<2)|0,d=b[H>>2],B=B-(A=b[d>>2])|0,g=k[o+24640|0];l:if(w>>>16>>>0>=A>>>0){if(w=w-(A<<16)|0,U=b[d+4>>2],32768&B)break l;for(Y=b[d+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[d+(A?12:8)>>2];C||(o=(C=b[l+16>>2])+1|0,d=k[C+1|0],255==k[0|C]?d>>>0<=143?(b[l+16>>2]=o,w=(d<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=o,C=8,w=(d<<8)+w|0)),C=C-1|0,w<<=1,(B<<=1)>>>0<32768;);U=A?!Y:Y}else{for(Y=b[d+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[d+(o?8:12)>>2];C||(B=(C=b[l+16>>2])+1|0,d=k[C+1|0],255==k[0|C]?d>>>0<=143?(b[l+16>>2]=B,w=(d<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=B,C=8,w=(d<<8)+w|0)),C=C-1|0,w<<=1,(A<<=1)>>>0<32768;);B=A,U=o?Y:!Y}A=U,b[F>>2]=(0|g)==(0|A)?V:E,b[y>>2]=32|b[y>>2],b[v+4>>2]=8|b[v+4>>2],I=(A^g)<<19|I|16}I|=2097152}if(!(!(3960&I)|16777344&I)){g=I>>>3|0,H=p+(k[b[l+108>>2]+(495&g)|0]<<2)|0,y=b[H>>2],B=B-(A=b[y>>2])|0;l:if(w>>>16>>>0>=A>>>0){if(w=w-(A<<16)|0,d=b[y+4>>2],32768&B)break l;for(Y=b[y+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[y+(A?12:8)>>2];C||(o=(C=b[l+16>>2])+1|0,y=k[C+1|0],255==k[0|C]?y>>>0<=143?(b[l+16>>2]=o,w=(y<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=o,C=8,w=(y<<8)+w|0)),C=C-1|0,w<<=1,(B<<=1)>>>0<32768;);d=A?!Y:Y}else{for(Y=b[y+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[y+(o?8:12)>>2];C||(B=(C=b[l+16>>2])+1|0,y=k[C+1|0],255==k[0|C]?y>>>0<=143?(b[l+16>>2]=B,w=(y<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=B,C=8,w=(y<<8)+w|0)),C=C-1|0,w<<=1,(A<<=1)>>>0<32768;);B=A,d=o?Y:!Y}if(d){d=v-4|0,o=b[v+4>>2]>>>20&4|b[d>>2]>>>22&1|I>>>15&16|I>>>19&64|170&g,H=p+(k[o+24384|0]<<2)|0,U=b[H>>2],B=B-(A=b[U>>2])|0,Y=(S<<2)+F|0,g=k[o+24640|0];l:if(w>>>16>>>0>=A>>>0){if(w=w-(A<<16)|0,o=b[U+4>>2],32768&B)break l;for(y=b[U+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[U+(A?12:8)>>2];C||(o=(C=b[l+16>>2])+1|0,U=k[C+1|0],255==k[0|C]?U>>>0<=143?(b[l+16>>2]=o,w=(U<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=o,C=8,w=(U<<8)+w|0)),C=C-1|0,w<<=1,(B<<=1)>>>0<32768;);o=A?!y:y}else{for(y=b[U+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[U+(o?8:12)>>2];C||(B=(C=b[l+16>>2])+1|0,U=k[C+1|0],255==k[0|C]?U>>>0<=143?(b[l+16>>2]=B,w=(U<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=B,C=8,w=(U<<8)+w|0)),C=C-1|0,w<<=1,(A<<=1)>>>0<32768;);B=A,o=o?y:!y}A=o,b[Y>>2]=(0|g)==(0|A)?V:E,b[d>>2]=256|b[d>>2],b[v+4>>2]=64|b[v+4>>2],I=(A^g)<<22|I|128}I|=16777216}if(!(!(31680&I)|134218752&I)){g=I>>>6|0,H=p+(k[b[l+108>>2]+(495&g)|0]<<2)|0,y=b[H>>2],B=B-(A=b[y>>2])|0;l:if(w>>>16>>>0>=A>>>0){if(w=w-(A<<16)|0,d=b[y+4>>2],32768&B)break l;for(Y=b[y+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[y+(A?12:8)>>2];C||(o=(C=b[l+16>>2])+1|0,y=k[C+1|0],255==k[0|C]?y>>>0<=143?(b[l+16>>2]=o,w=(y<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=o,C=8,w=(y<<8)+w|0)),C=C-1|0,w<<=1,(B<<=1)>>>0<32768;);d=A?!Y:Y}else{for(Y=b[y+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[y+(o?8:12)>>2];C||(B=(C=b[l+16>>2])+1|0,y=k[C+1|0],255==k[0|C]?y>>>0<=143?(b[l+16>>2]=B,w=(y<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=B,C=8,w=(y<<8)+w|0)),C=C-1|0,w<<=1,(A<<=1)>>>0<32768;);B=A,d=o?Y:!Y}if(d){d=v-4|0,o=b[v+4>>2]>>>23&4|b[d>>2]>>>25&1|I>>>18&16|I>>>22&64|170&g,H=p+(k[o+24384|0]<<2)|0,U=b[H>>2],B=B-(A=b[U>>2])|0,Y=F+J|0,g=k[o+24640|0];l:if(w>>>16>>>0>=A>>>0){if(w=w-(A<<16)|0,o=b[U+4>>2],32768&B)break l;for(y=b[U+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[U+(A?12:8)>>2];C||(o=(C=b[l+16>>2])+1|0,U=k[C+1|0],255==k[0|C]?U>>>0<=143?(b[l+16>>2]=o,w=(U<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=o,C=8,w=(U<<8)+w|0)),C=C-1|0,w<<=1,(B<<=1)>>>0<32768;);o=A?!y:y}else{for(y=b[U+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[U+(o?8:12)>>2];C||(B=(C=b[l+16>>2])+1|0,U=k[C+1|0],255==k[0|C]?U>>>0<=143?(b[l+16>>2]=B,w=(U<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=B,C=8,w=(U<<8)+w|0)),C=C-1|0,w<<=1,(A<<=1)>>>0<32768;);B=A,o=o?y:!y}A=o,b[Y>>2]=(0|g)==(0|A)?V:E,b[d>>2]=2048|b[d>>2],b[v+4>>2]=512|b[v+4>>2],I=(A^g)<<25|I|1024}I|=134217728}if(!(!(253440&I)|1073750016&I)){g=I>>>9|0,H=p+(k[b[l+108>>2]+(495&g)|0]<<2)|0,y=b[H>>2],B=B-(A=b[y>>2])|0;l:if(w>>>16>>>0>=A>>>0){if(w=w-(A<<16)|0,d=b[y+4>>2],32768&B)break l;for(Y=b[y+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[y+(A?12:8)>>2];C||(o=(C=b[l+16>>2])+1|0,y=k[C+1|0],255==k[0|C]?y>>>0<=143?(b[l+16>>2]=o,w=(y<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=o,C=8,w=(y<<8)+w|0)),C=C-1|0,w<<=1,(B<<=1)>>>0<32768;);d=A?!Y:Y}else{for(Y=b[y+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[y+(o?8:12)>>2];C||(B=(C=b[l+16>>2])+1|0,y=k[C+1|0],255==k[0|C]?y>>>0<=143?(b[l+16>>2]=B,w=(y<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=B,C=8,w=(y<<8)+w|0)),C=C-1|0,w<<=1,(A<<=1)>>>0<32768;);B=A,d=o?Y:!Y}if(d){d=v-4|0,o=b[v+4>>2]>>>26&4|b[d>>2]>>>28&1|I>>>21&16|I>>>25&64|170&g,H=p+(k[o+24384|0]<<2)|0,U=b[H>>2],B=B-(A=b[U>>2])|0,Y=F+X|0,g=k[o+24640|0];l:if(w>>>16>>>0>=A>>>0){if(w=w-(A<<16)|0,o=b[U+4>>2],32768&B)break l;for(y=b[U+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[U+(A?12:8)>>2];C||(o=(C=b[l+16>>2])+1|0,U=k[C+1|0],255==k[0|C]?U>>>0<=143?(b[l+16>>2]=o,w=(U<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=o,C=8,w=(U<<8)+w|0)),C=C-1|0,w<<=1,(B<<=1)>>>0<32768;);o=A?!y:y}else{for(y=b[U+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[U+(o?8:12)>>2];C||(B=(C=b[l+16>>2])+1|0,U=k[C+1|0],255==k[0|C]?U>>>0<=143?(b[l+16>>2]=B,w=(U<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=B,C=8,w=(U<<8)+w|0)),C=C-1|0,w<<=1,(A<<=1)>>>0<32768;);B=A,o=o?y:!y}A=o,b[Y>>2]=(0|g)==(0|A)?V:E,b[d>>2]=16384|b[d>>2],b[v+4>>2]=4096|b[v+4>>2],o=v+(b[l+124>>2]<<2)|0,b[o+4>>2]=4|b[o+4>>2],b[o+12>>2]=1|b[o+12>>2],A^=g,b[o+8>>2]=b[o+8>>2]|A<<18|2,I=A<<28|I|8192}I|=1073741824}b[v>>2]=I}if(I=v+4|0,F=F+4|0,(0|S)==(0|(h=h+1|0)))break}if(I=v+12|0,F=F+X|0,!((Q=Q+4|0)>>>0<(-4&(A=b[l+128>>2]))>>>0))break}else I=12+(E+((Q=-4&A)<<1)|0)|0;if(b[l+8>>2]=C,b[l+4>>2]=B,b[l>>2]=w,b[l+104>>2]=H,!S|A>>>0<=Q>>>0)break g;for(;;){if(B=(0|A)==(0|Q),C=0,A=Q,!B)for(;kf(l,I,(u(C,S)<<2)+F|0,V,C,b[l+124>>2]+2|0,1),(C=C+1|0)>>>0<(A=b[l+128>>2])-Q>>>0;);if(I=I+4|0,F=F+4|0,(0|S)==(0|(m=m+1|0)))break}}else{if(!(A>>>0<4))if(S)for(X=u(S,12),J=S<<3,E=0-V|0,p=l+28|0;;){for(h=0;;){if(v=I,I=b[I>>2]){if(!(2097168&I)&&(A=495&I)){H=p+(k[A+b[l+108>>2]|0]<<2)|0,g=b[H>>2],B=B-(A=b[g>>2])|0;l:if(w>>>16>>>0>=A>>>0){if(w=w-(A<<16)|0,d=b[g+4>>2],32768&B)break l;for(Y=b[g+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[g+(A?12:8)>>2];C||(o=(g=b[l+16>>2])+1|0,y=k[g+1|0],255==k[0|g]?y>>>0<=143?(b[l+16>>2]=o,w=(y<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=o,C=8,w=(y<<8)+w|0)),C=C-1|0,w<<=1,(B<<=1)>>>0<32768;);d=A?!Y:Y}else{for(Y=b[g+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[g+(o?8:12)>>2];C||(B=(g=b[l+16>>2])+1|0,y=k[g+1|0],255==k[0|g]?y>>>0<=143?(b[l+16>>2]=B,w=(y<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=B,C=8,w=(y<<8)+w|0)),C=C-1|0,w<<=1,(A<<=1)>>>0<32768;);B=A,d=o?Y:!Y}if(d){y=v-4|0,o=b[v+4>>2]>>>17&4|b[y>>2]>>>19&1|I>>>14&16|I>>>16&64|170&I,H=p+(k[o+24384|0]<<2)|0,d=b[H>>2],B=B-(A=b[d>>2])|0,g=k[o+24640|0];l:if(w>>>16>>>0>=A>>>0){if(w=w-(A<<16)|0,o=b[d+4>>2],32768&B)break l;for(Y=b[d+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[d+(A?12:8)>>2];C||(o=(C=b[l+16>>2])+1|0,d=k[C+1|0],255==k[0|C]?d>>>0<=143?(b[l+16>>2]=o,w=(d<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=o,C=8,w=(d<<8)+w|0)),C=C-1|0,w<<=1,(B<<=1)>>>0<32768;);o=A?!Y:Y}else{for(Y=b[d+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[d+(o?8:12)>>2];C||(B=(C=b[l+16>>2])+1|0,d=k[C+1|0],255==k[0|C]?d>>>0<=143?(b[l+16>>2]=B,w=(d<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=B,C=8,w=(d<<8)+w|0)),C=C-1|0,w<<=1,(A<<=1)>>>0<32768;);B=A,o=o?Y:!Y}b[F>>2]=(0|g)==(0|o)?V:E,b[y>>2]=32|b[y>>2],b[v+4>>2]=8|b[v+4>>2],A=v+(-2-b[l+124>>2]<<2)|0,b[A+4>>2]=32768|b[A+4>>2],o^=g,b[A>>2]=b[A>>2]|o<<31|65536,b[(A=A-4|0)>>2]=131072|b[A>>2],I=o<<19|I|16}I|=2097152}if(!(!(3960&I)|16777344&I)){g=I>>>3|0,H=p+(k[b[l+108>>2]+(495&g)|0]<<2)|0,y=b[H>>2],B=B-(A=b[y>>2])|0;l:if(w>>>16>>>0>=A>>>0){if(w=w-(A<<16)|0,d=b[y+4>>2],32768&B)break l;for(Y=b[y+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[y+(A?12:8)>>2];C||(o=(C=b[l+16>>2])+1|0,y=k[C+1|0],255==k[0|C]?y>>>0<=143?(b[l+16>>2]=o,w=(y<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=o,C=8,w=(y<<8)+w|0)),C=C-1|0,w<<=1,(B<<=1)>>>0<32768;);d=A?!Y:Y}else{for(Y=b[y+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[y+(o?8:12)>>2];C||(B=(C=b[l+16>>2])+1|0,y=k[C+1|0],255==k[0|C]?y>>>0<=143?(b[l+16>>2]=B,w=(y<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=B,C=8,w=(y<<8)+w|0)),C=C-1|0,w<<=1,(A<<=1)>>>0<32768;);B=A,d=o?Y:!Y}if(d){d=v-4|0,o=b[v+4>>2]>>>20&4|b[d>>2]>>>22&1|I>>>15&16|I>>>19&64|170&g,H=p+(k[o+24384|0]<<2)|0,U=b[H>>2],B=B-(A=b[U>>2])|0,Y=(S<<2)+F|0,g=k[o+24640|0];l:if(w>>>16>>>0>=A>>>0){if(w=w-(A<<16)|0,o=b[U+4>>2],32768&B)break l;for(y=b[U+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[U+(A?12:8)>>2];C||(o=(C=b[l+16>>2])+1|0,U=k[C+1|0],255==k[0|C]?U>>>0<=143?(b[l+16>>2]=o,w=(U<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=o,C=8,w=(U<<8)+w|0)),C=C-1|0,w<<=1,(B<<=1)>>>0<32768;);o=A?!y:y}else{for(y=b[U+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[U+(o?8:12)>>2];C||(B=(C=b[l+16>>2])+1|0,U=k[C+1|0],255==k[0|C]?U>>>0<=143?(b[l+16>>2]=B,w=(U<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=B,C=8,w=(U<<8)+w|0)),C=C-1|0,w<<=1,(A<<=1)>>>0<32768;);B=A,o=o?y:!y}A=o,b[Y>>2]=(0|g)==(0|A)?V:E,b[d>>2]=256|b[d>>2],b[v+4>>2]=64|b[v+4>>2],I=(A^g)<<22|I|128}I|=16777216}if(!(!(31680&I)|134218752&I)){g=I>>>6|0,H=p+(k[b[l+108>>2]+(495&g)|0]<<2)|0,y=b[H>>2],B=B-(A=b[y>>2])|0;l:if(w>>>16>>>0>=A>>>0){if(w=w-(A<<16)|0,d=b[y+4>>2],32768&B)break l;for(Y=b[y+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[y+(A?12:8)>>2];C||(o=(C=b[l+16>>2])+1|0,y=k[C+1|0],255==k[0|C]?y>>>0<=143?(b[l+16>>2]=o,w=(y<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=o,C=8,w=(y<<8)+w|0)),C=C-1|0,w<<=1,(B<<=1)>>>0<32768;);d=A?!Y:Y}else{for(Y=b[y+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[y+(o?8:12)>>2];C||(B=(C=b[l+16>>2])+1|0,y=k[C+1|0],255==k[0|C]?y>>>0<=143?(b[l+16>>2]=B,w=(y<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=B,C=8,w=(y<<8)+w|0)),C=C-1|0,w<<=1,(A<<=1)>>>0<32768;);B=A,d=o?Y:!Y}if(d){d=v-4|0,o=b[v+4>>2]>>>23&4|b[d>>2]>>>25&1|I>>>18&16|I>>>22&64|170&g,H=p+(k[o+24384|0]<<2)|0,U=b[H>>2],B=B-(A=b[U>>2])|0,Y=F+J|0,g=k[o+24640|0];l:if(w>>>16>>>0>=A>>>0){if(w=w-(A<<16)|0,o=b[U+4>>2],32768&B)break l;for(y=b[U+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[U+(A?12:8)>>2];C||(o=(C=b[l+16>>2])+1|0,U=k[C+1|0],255==k[0|C]?U>>>0<=143?(b[l+16>>2]=o,w=(U<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=o,C=8,w=(U<<8)+w|0)),C=C-1|0,w<<=1,(B<<=1)>>>0<32768;);o=A?!y:y}else{for(y=b[U+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[U+(o?8:12)>>2];C||(B=(C=b[l+16>>2])+1|0,U=k[C+1|0],255==k[0|C]?U>>>0<=143?(b[l+16>>2]=B,w=(U<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=B,C=8,w=(U<<8)+w|0)),C=C-1|0,w<<=1,(A<<=1)>>>0<32768;);B=A,o=o?y:!y}A=o,b[Y>>2]=(0|g)==(0|A)?V:E,b[d>>2]=2048|b[d>>2],b[v+4>>2]=512|b[v+4>>2],I=(A^g)<<25|I|1024}I|=134217728}if(!(!(253440&I)|1073750016&I)){g=I>>>9|0,H=p+(k[b[l+108>>2]+(495&g)|0]<<2)|0,y=b[H>>2],B=B-(A=b[y>>2])|0;l:if(w>>>16>>>0>=A>>>0){if(w=w-(A<<16)|0,d=b[y+4>>2],32768&B)break l;for(Y=b[y+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[y+(A?12:8)>>2];C||(o=(C=b[l+16>>2])+1|0,y=k[C+1|0],255==k[0|C]?y>>>0<=143?(b[l+16>>2]=o,w=(y<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=o,C=8,w=(y<<8)+w|0)),C=C-1|0,w<<=1,(B<<=1)>>>0<32768;);d=A?!Y:Y}else{for(Y=b[y+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[y+(o?8:12)>>2];C||(B=(C=b[l+16>>2])+1|0,y=k[C+1|0],255==k[0|C]?y>>>0<=143?(b[l+16>>2]=B,w=(y<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=B,C=8,w=(y<<8)+w|0)),C=C-1|0,w<<=1,(A<<=1)>>>0<32768;);B=A,d=o?Y:!Y}if(d){d=v-4|0,o=b[v+4>>2]>>>26&4|b[d>>2]>>>28&1|I>>>21&16|I>>>25&64|170&g,H=p+(k[o+24384|0]<<2)|0,U=b[H>>2],B=B-(A=b[U>>2])|0,Y=F+X|0,g=k[o+24640|0];l:if(w>>>16>>>0>=A>>>0){if(w=w-(A<<16)|0,o=b[U+4>>2],32768&B)break l;for(y=b[U+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[U+(A?12:8)>>2];C||(o=(C=b[l+16>>2])+1|0,U=k[C+1|0],255==k[0|C]?U>>>0<=143?(b[l+16>>2]=o,w=(U<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=o,C=8,w=(U<<8)+w|0)),C=C-1|0,w<<=1,(B<<=1)>>>0<32768;);o=A?!y:y}else{for(y=b[U+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[U+(o?8:12)>>2];C||(B=(C=b[l+16>>2])+1|0,U=k[C+1|0],255==k[0|C]?U>>>0<=143?(b[l+16>>2]=B,w=(U<<9)+w|0,C=7):(b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8):(b[l+16>>2]=B,C=8,w=(U<<8)+w|0)),C=C-1|0,w<<=1,(A<<=1)>>>0<32768;);B=A,o=o?y:!y}A=o,b[Y>>2]=(0|g)==(0|A)?V:E,b[d>>2]=16384|b[d>>2],b[v+4>>2]=4096|b[v+4>>2],o=v+(b[l+124>>2]<<2)|0,b[o+4>>2]=4|b[o+4>>2],b[o+12>>2]=1|b[o+12>>2],A^=g,b[o+8>>2]=b[o+8>>2]|A<<18|2,I=A<<28|I|8192}I|=1073741824}b[v>>2]=I}if(I=v+4|0,F=F+4|0,(0|S)==(0|(h=h+1|0)))break}if(I=v+12|0,F=F+X|0,!((Q=Q+4|0)>>>0<(-4&(A=b[l+128>>2]))>>>0))break}else I=12+(E+((Q=-4&A)<<1)|0)|0;if(b[l+8>>2]=C,b[l+4>>2]=B,b[l>>2]=w,b[l+104>>2]=H,!(!S|A>>>0<=Q>>>0))for(;;){if(B=(0|A)==(0|Q),C=0,A=Q,!B)for(;kf(l,I,(u(C,S)<<2)+F|0,V,C,b[l+124>>2]+2|0,0),(C=C+1|0)>>>0<(A=b[l+128>>2])-Q>>>0;);if(I=I+4|0,F=F+4|0,(0|S)==(0|(m=m+1|0)))break}}break k}for(;;){for(m=0;;){if(E=A,v=I,I=b[I>>2]){if(!(2097168&I)&&(A=495&I)){if(H=d+(k[A+b[l+108>>2]|0]<<2)|0,F=b[H>>2],B=B-(A=b[F>>2])|0,w>>>16>>>0<A>>>0){for(g=b[F+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[F+(o?8:12)>>2];;){o:if(!C)if(B=(F=b[l+16>>2])+1|0,Y=k[F+1|0],255!=k[0|F])b[l+16>>2]=B,C=8,w=(Y<<8)+w|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break o}b[l+16>>2]=B,w=(Y<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((A<<=1)>>>0<32768))break}B=A,A=o?g:!g}else if(w=w-(A<<16)|0,32768&B)A=b[F+4>>2];else{for(g=b[F+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[F+(A?12:8)>>2];;){o:if(!C)if(o=(F=b[l+16>>2])+1|0,Y=k[F+1|0],255!=k[0|F])b[l+16>>2]=o,C=8,w=(Y<<8)+w|0;else{if(Y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break o}b[l+16>>2]=o,w=(Y<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((B<<=1)>>>0<32768))break}A=A?!g:g}if(A){if(J=v-4|0,o=b[v+4>>2]>>>17&4|b[J>>2]>>>19&1|I>>>14&16|I>>>16&64|170&I,H=d+(k[o+24384|0]<<2)|0,g=b[H>>2],B=B-(A=b[g>>2])|0,F=k[o+24640|0],w>>>16>>>0<A>>>0){for(Y=b[g+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[g+(o?8:12)>>2];;){o:if(!C)if(B=(g=b[l+16>>2])+1|0,y=k[g+1|0],255!=k[0|g])b[l+16>>2]=B,C=8,w=(y<<8)+w|0;else{if(y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break o}b[l+16>>2]=B,w=(y<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((A<<=1)>>>0<32768))break}B=A,A=o?Y:!Y}else if(w=w-(A<<16)|0,32768&B)A=b[g+4>>2];else{for(Y=b[g+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[g+(A?12:8)>>2];;){o:if(!C)if(o=(g=b[l+16>>2])+1|0,y=k[g+1|0],255!=k[0|g])b[l+16>>2]=o,C=8,w=(y<<8)+w|0;else{if(y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break o}b[l+16>>2]=o,w=(y<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((B<<=1)>>>0<32768))break}A=A?!Y:Y}b[E>>2]=(0|F)==(0|A)?Q:V,b[J>>2]=32|b[J>>2],b[v+4>>2]=8|b[v+4>>2],I=(A^F)<<19|I|16}I|=2097152}if(!(!(3960&I)|16777344&I)){if(F=I>>>3|0,H=d+(k[b[l+108>>2]+(495&F)|0]<<2)|0,g=b[H>>2],B=B-(A=b[g>>2])|0,w>>>16>>>0<A>>>0){for(Y=b[g+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[g+(o?8:12)>>2];;){o:if(!C)if(B=(g=b[l+16>>2])+1|0,J=k[g+1|0],255!=k[0|g])b[l+16>>2]=B,C=8,w=(J<<8)+w|0;else{if(J>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break o}b[l+16>>2]=B,w=(J<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((A<<=1)>>>0<32768))break}B=A,A=o?Y:!Y}else if(w=w-(A<<16)|0,32768&B)A=b[g+4>>2];else{for(Y=b[g+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[g+(A?12:8)>>2];;){o:if(!C)if(o=(g=b[l+16>>2])+1|0,J=k[g+1|0],255!=k[0|g])b[l+16>>2]=o,C=8,w=(J<<8)+w|0;else{if(J>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break o}b[l+16>>2]=o,w=(J<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((B<<=1)>>>0<32768))break}A=A?!Y:Y}if(A){if(J=v-4|0,o=b[v+4>>2]>>>20&4|b[J>>2]>>>22&1|I>>>15&16|I>>>19&64|170&F,H=d+(k[o+24384|0]<<2)|0,g=b[H>>2],B=B-(A=b[g>>2])|0,F=k[o+24640|0],w>>>16>>>0<A>>>0){for(Y=b[g+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[g+(o?8:12)>>2];;){o:if(!C)if(B=(g=b[l+16>>2])+1|0,y=k[g+1|0],255!=k[0|g])b[l+16>>2]=B,C=8,w=(y<<8)+w|0;else{if(y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break o}b[l+16>>2]=B,w=(y<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((A<<=1)>>>0<32768))break}B=A,A=o?Y:!Y}else if(w=w-(A<<16)|0,32768&B)A=b[g+4>>2];else{for(Y=b[g+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[g+(A?12:8)>>2];;){o:if(!C)if(o=(g=b[l+16>>2])+1|0,y=k[g+1|0],255!=k[0|g])b[l+16>>2]=o,C=8,w=(y<<8)+w|0;else{if(y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break o}b[l+16>>2]=o,w=(y<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((B<<=1)>>>0<32768))break}A=A?!Y:Y}b[E+256>>2]=(0|F)==(0|A)?Q:V,b[J>>2]=256|b[J>>2],b[v+4>>2]=64|b[v+4>>2],I=(A^F)<<22|I|128}I|=16777216}if(!(!(31680&I)|134218752&I)){if(F=I>>>6|0,H=d+(k[b[l+108>>2]+(495&F)|0]<<2)|0,g=b[H>>2],B=B-(A=b[g>>2])|0,w>>>16>>>0<A>>>0){for(Y=b[g+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[g+(o?8:12)>>2];;){o:if(!C)if(B=(g=b[l+16>>2])+1|0,J=k[g+1|0],255!=k[0|g])b[l+16>>2]=B,C=8,w=(J<<8)+w|0;else{if(J>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break o}b[l+16>>2]=B,w=(J<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((A<<=1)>>>0<32768))break}B=A,A=o?Y:!Y}else if(w=w-(A<<16)|0,32768&B)A=b[g+4>>2];else{for(Y=b[g+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[g+(A?12:8)>>2];;){o:if(!C)if(o=(g=b[l+16>>2])+1|0,J=k[g+1|0],255!=k[0|g])b[l+16>>2]=o,C=8,w=(J<<8)+w|0;else{if(J>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break o}b[l+16>>2]=o,w=(J<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((B<<=1)>>>0<32768))break}A=A?!Y:Y}if(A){if(J=v-4|0,o=b[v+4>>2]>>>23&4|b[J>>2]>>>25&1|I>>>18&16|I>>>22&64|170&F,H=d+(k[o+24384|0]<<2)|0,g=b[H>>2],B=B-(A=b[g>>2])|0,F=k[o+24640|0],w>>>16>>>0<A>>>0){for(Y=b[g+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[g+(o?8:12)>>2];;){o:if(!C)if(B=(g=b[l+16>>2])+1|0,y=k[g+1|0],255!=k[0|g])b[l+16>>2]=B,C=8,w=(y<<8)+w|0;else{if(y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break o}b[l+16>>2]=B,w=(y<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((A<<=1)>>>0<32768))break}B=A,A=o?Y:!Y}else if(w=w-(A<<16)|0,32768&B)A=b[g+4>>2];else{for(Y=b[g+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[g+(A?12:8)>>2];;){o:if(!C)if(o=(g=b[l+16>>2])+1|0,y=k[g+1|0],255!=k[0|g])b[l+16>>2]=o,C=8,w=(y<<8)+w|0;else{if(y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break o}b[l+16>>2]=o,w=(y<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((B<<=1)>>>0<32768))break}A=A?!Y:Y}b[E+512>>2]=(0|F)==(0|A)?Q:V,b[J>>2]=2048|b[J>>2],b[v+4>>2]=512|b[v+4>>2],I=(A^F)<<25|I|1024}I|=134217728}if(!(!(253440&I)|1073750016&I)){if(F=I>>>9|0,H=d+(k[b[l+108>>2]+(495&F)|0]<<2)|0,g=b[H>>2],B=B-(A=b[g>>2])|0,w>>>16>>>0<A>>>0){for(Y=b[g+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[g+(o?8:12)>>2];;){o:if(!C)if(B=(g=b[l+16>>2])+1|0,J=k[g+1|0],255!=k[0|g])b[l+16>>2]=B,C=8,w=(J<<8)+w|0;else{if(J>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break o}b[l+16>>2]=B,w=(J<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((A<<=1)>>>0<32768))break}B=A,A=o?Y:!Y}else if(w=w-(A<<16)|0,32768&B)A=b[g+4>>2];else{for(Y=b[g+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[g+(A?12:8)>>2];;){o:if(!C)if(o=(g=b[l+16>>2])+1|0,J=k[g+1|0],255!=k[0|g])b[l+16>>2]=o,C=8,w=(J<<8)+w|0;else{if(J>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break o}b[l+16>>2]=o,w=(J<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((B<<=1)>>>0<32768))break}A=A?!Y:Y}if(A){if(J=v-4|0,o=b[v+4>>2]>>>26&4|b[J>>2]>>>28&1|I>>>21&16|I>>>25&64|170&F,H=d+(k[o+24384|0]<<2)|0,g=b[H>>2],B=B-(A=b[g>>2])|0,F=k[o+24640|0],w>>>16>>>0<A>>>0){for(Y=b[g+4>>2],o=A>>>0>B>>>0,b[H>>2]=b[g+(o?8:12)>>2];;){o:if(!C)if(B=(g=b[l+16>>2])+1|0,y=k[g+1|0],255!=k[0|g])b[l+16>>2]=B,C=8,w=(y<<8)+w|0;else{if(y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break o}b[l+16>>2]=B,w=(y<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((A<<=1)>>>0<32768))break}B=A,A=o?Y:!Y}else if(w=w-(A<<16)|0,32768&B)A=b[g+4>>2];else{for(Y=b[g+4>>2],A=A>>>0>B>>>0,b[H>>2]=b[g+(A?12:8)>>2];;){o:if(!C)if(o=(g=b[l+16>>2])+1|0,y=k[g+1|0],255!=k[0|g])b[l+16>>2]=o,C=8,w=(y<<8)+w|0;else{if(y>>>0>=144){b[l+12>>2]=b[l+12>>2]+1,w=w+65280|0,C=8;break o}b[l+16>>2]=o,w=(y<<9)+w|0,C=7}if(C=C-1|0,w<<=1,!((B<<=1)>>>0<32768))break}A=A?!Y:Y}b[E+768>>2]=(0|F)==(0|A)?Q:V,b[J>>2]=16384|b[J>>2],b[v+4>>2]=4096|b[v+4>>2],b[v+260>>2]=4|b[v+260>>2],b[v+268>>2]=1|b[v+268>>2],A^=F,b[v+264>>2]=b[v+264>>2]|A<<18|2,I=A<<28|I|8192}I|=1073741824}b[v>>2]=I}if(I=v+4|0,A=E+4|0,64==(0|(m=m+1|0)))break}if(I=v+12|0,A=E+772|0,E=h>>>0<60,h=h+4|0,!E)break}}b[l+8>>2]=C,b[l+4>>2]=B,b[l>>2]=w,b[l+104>>2]=H}}ef||(fA(l),OA(l,18,46),OA(l,17,3),OA(l,0,4))}if(Zf=(B=3==(0|(A=Zf+1|0)))?0:A,D=D-B|0,(rf=rf+1|0)>>>0>=G[Qf+8>>2])break r;if(!((0|D)>0))break}if(T=x+T|0,B=b[l+24>>2],A=s[l+112>>1],i[0|B]=A,i[B+1|0]=A>>>8,!((q=q+1|0)>>>0<G[e+44>>2]))break}r:if(N){a:{if((B=b[l+24>>2])>>>0>(I=b[l+16>>2])+2>>>0){if(!$)break a;I=b[l+16>>2],B=b[l+24>>2],A=b[l+20>>2],b[r+56>>2]=B-A,b[r+52>>2]=I-A,b[r+48>>2]=(B-I|0)-2,xf(j,2,15235,r+48|0);break r}if((A=b[l+12>>2])>>>0<3)break r;if($){b[r+80>>2]=b[l+12>>2],xf(j,2,7107,r+80|0);break r}b[r+64>>2]=A,xf(j,2,7107,r- -64|0);break r}A=b[l+20>>2],b[r+40>>2]=B-A,b[r+36>>2]=I-A,b[r+32>>2]=(B-I|0)-2,xf(j,2,15235,r+32|0)}b[e+60>>2]&&(b[l+116>>2]=_)}}V=b[Vf+4>>2],I=b[e+12>>2],H=b[e+8>>2]-b[Vf>>2]|0,1&(B=b[Vf+16>>2])&&(A=b[Wf+28>>2]+u(vf,152)|0,H=(b[A-144>>2]+H|0)-b[A-152>>2]|0),Q=I-V|0,2&B&&(A=b[Wf+28>>2]+u(vf,152)|0,Q=(b[A-140>>2]+Q|0)-b[A-148>>2]|0),R=(o=b[e+60>>2])||b[l+116>>2],m=b[l+128>>2],J=b[l+124>>2];i:if(v=b[wf+808>>2])if(A=!m|!J,(0|v)<=30){if(A)break i;for(g=0;;){for(V=(u(g,J)<<2)+R|0,A=0;(B=((B=(E=b[(I=V+(A<<2)|0)>>2])>>31)^E)-B|0)>>>v|0&&(B=B>>>b[wf+808>>2]|0,b[I>>2]=(0|E)<0?0-B|0:B),(0|J)!=(0|(A=A+1|0)););if((0|m)==(0|(g=g+1|0)))break}}else A||(A=u(m,J)<<2)&&c(R,0,A);if(o){if(A=u(m,J),1==b[wf+20>>2]){if(!A)break f;if(l=0,1!=(0|A)){for(B=1&A,A&=-2,I=0;b[(V=(l<<2)+R|0)>>2]=b[V>>2]/2,b[V+4>>2]=b[V+4>>2]/2,l=l+2|0,(0|A)!=(0|(I=I+2|0)););if(!B)break f}b[(A=(l<<2)+R|0)>>2]=b[A>>2]/2;break f}if(!A)break f;if(lf=Z(t[Vf+32>>2]*Z(.5)),I=3&A,A>>>0>=4){for(B=-4&A,A=0;t[R>>2]=lf*Z(b[R>>2]),t[R+4>>2]=lf*Z(b[R+4>>2]),t[R+8>>2]=lf*Z(b[R+8>>2]),t[R+12>>2]=lf*Z(b[R+12>>2]),R=R+16|0,(0|B)!=(0|(A=A+4|0)););if(!I)break f}for(A=0;t[R>>2]=lf*Z(b[R>>2]),R=R+4|0,(0|I)!=(0|(A=A+1|0)););break f}if(Y=mf-Ff|0,1==b[wf+20>>2]){if(!m)break f;for(w=(b[Wf+36>>2]+(u(Q,Y)<<2)|0)+(H<<2)|0,F=-4&J,Q=0;;){if(A=0,F)for(o=w+(u(Q,Y)<<2)|0,v=(u(Q,J)<<2)+R|0;V=b[(g=(E=A<<2)+v|0)+4>>2],I=b[g+8>>2],B=b[g+12>>2],b[(E=o+E|0)>>2]=b[g>>2]/2,b[E+12>>2]=(0|B)/2,b[E+8>>2]=(0|I)/2,b[E+4>>2]=(0|V)/2,F>>>0>(A=A+4|0)>>>0;);if(!(A>>>0>=J>>>0)&&(B=A+1|0,V=w+(u(Q,Y)<<2)|0,I=(u(Q,J)<<2)+R|0,J-A&1&&(b[(A<<=2)+V>>2]=b[A+I>>2]/2,A=B),(0|B)!=(0|J)))for(;b[(B=A<<2)+V>>2]=b[B+I>>2]/2,b[(B=B+4|0)+V>>2]=b[B+I>>2]/2,(0|J)!=(0|(A=A+2|0)););if((0|m)==(0|(Q=Q+1|0)))break}break f}if(!m|!J)break f;for(lf=Z(t[Vf+32>>2]*Z(.5)),Q=(b[Wf+36>>2]+(u(Q,Y)<<2)|0)+(H<<2)|0,I=-4&J,V=3&J,C=0,B=J-1>>>0<3;;){A=Q,l=0;i:{if(!B){for(;t[A>>2]=lf*Z(b[R>>2]),t[A+4>>2]=lf*Z(b[R+4>>2]),t[A+8>>2]=lf*Z(b[R+8>>2]),t[A+12>>2]=lf*Z(b[R+12>>2]),A=A+16|0,R=R+16|0,(0|I)!=(0|(l=l+4|0)););if(!V)break i}for(l=0;t[A>>2]=lf*Z(b[R>>2]),A=A+4|0,R=R+4|0,(0|V)!=(0|(l=l+1|0)););}if(Q=(Y<<2)+Q|0,(0|m)==(0|(C=C+1|0)))break}break f}b[r>>2]=D,xf(j,2,8716,r)}b[b[o>>2]>>2]=0}hf(f),z=r+96|0},function(f){var A=0;(f|=0)&&((A=b[f+116>>2])&&(hf(A),b[f+116>>2]=0),(A=b[f+120>>2])&&(hf(A),b[f+120>>2]=0),hf(b[f+148>>2]),hf(f))},function(f){var A=0,e=0,i=0,r=0;if(A=b[(f|=0)+24>>2]){if(r=((e=b[f+28>>2])>>>0)/68|0,e>>>0>=68){for(;(e=b[A>>2])&&(hf(e),b[A>>2]=0),(e=b[A+4>>2])&&(hf(e),b[A+4>>2]=0),hf(b[A+60>>2]),b[A+60>>2]=0,A=A+68|0,(0|r)!=(0|(i=i+1|0)););A=b[f+24>>2]}hf(A),b[f+24>>2]=0}},function(f){var A=0,e=0,i=0,r=0;if(A=b[(f|=0)+24>>2]){if(r=((e=b[f+28>>2])>>>0)/52|0,e>>>0>=52){for(;(e=b[A>>2])&&(hf(e-1|0),b[A>>2]=0),(e=b[A+4>>2])&&(hf(e),b[A+4>>2]=0),(e=b[A+8>>2])&&(hf(e),b[A+8>>2]=0),A=A+52|0,(0|r)!=(0|(i=i+1|0)););A=b[f+24>>2]}hf(A),b[f+24>>2]=0}},re,function(f,A,e){return!b[(f|=0)+8>>2]&0!=b[f+216>>2]&0!=b[f+220>>2]},function(f,A,e){f|=0,A|=0,e|=0;var r,k=0,B=0,o=0,g=0,l=0,c=0,I=0,t=0,C=0,Q=0,W=Z(0),w=0;z=r=z-48|0,b[f+8>>2]=1;f:{A:{if(2==(0|Zf(A,k=r+40|0,2,e))&&(eA(k,r+44|0,2),65359==b[r+44>>2])){if(b[f+8>>2]=2,B=(k=b[A+56>>2])-2|0,k=b[A+60>>2]-(k>>>0<2)|0,g=b[f+224>>2],b[g>>2]=B,b[g+4>>2]=k,b[r+16>>2]=B,b[r+20>>2]=k,xf(e,4,12769,r+16|0),o=b[f+224>>2],I=b[o>>2],(k=(B=b[o+24>>2])+1|0)>>>0<=(g=b[o+32>>2])>>>0){g=b[o+28>>2];break A}if(k=(W=Z(Z(g>>>0)+Z(100)))<Z(4294967296)&W>=Z(0)?~~W>>>0:0,b[o+32>>2]=k,g=Cf(b[o+28>>2],u(k,24))){b[o+28>>2]=g,k=(B=b[o+24>>2])+1|0;break A}hf(b[o+28>>2]),b[o+32>>2]=0,b[o+24>>2]=0,b[o+28>>2]=0,xf(e,1,3899,0)}xf(e,1,15656,0),f=0;break f}if(B=u(B,24)+g|0,b[B+16>>2]=2,b[B+8>>2]=I,b[B+12>>2]=I>>31,a[B>>1]=65359,b[o+24>>2]=k,2==(0|Zf(A,b[f+16>>2],2,e))){eA(b[f+16>>2],r+40|0,2);A:{e:{if(65424!=(0|(g=b[r+40>>2]))){for(;;){if(B=24912,g>>>0<=65279){b[r>>2]=g,xf(e,1,2268,r),f=0;break f}for(;(o=b[(k=B)>>2])&&(B=k+12|0,(0|o)!=(0|g)););i:{r:if(!o){l=2,xf(e,2,3847,0),B=2472;a:{b:if(2==(0|Zf(A,b[f+16>>2],2,e)))for(;;){if(eA(b[f+16>>2],r+44|0,2),o=24912,(g=b[r+44>>2])>>>0>=65280){for(;(c=b[(k=o)>>2])&&(o=k+12|0,(0|g)!=(0|c)););if(!(b[k+4>>2]&b[f+8>>2])){B=5397;break b}if(c){if(65424==(0|c)){b[r+40>>2]=65424;break i}if(I=b[A+56>>2],o=b[f+224>>2],(B=(g=b[o+24>>2])+1|0)>>>0<=(k=b[o+32>>2])>>>0){k=b[o+28>>2];break a}if(k=(W=Z(Z(k>>>0)+Z(100)))<Z(4294967296)&W>=Z(0)?~~W>>>0:0,b[o+32>>2]=k,k=Cf(b[o+28>>2],u(k,24))){b[o+28>>2]=k,B=(g=b[o+24>>2])+1|0;break a}hf(b[o+28>>2]),b[o+32>>2]=0,b[o+24>>2]=0,b[o+28>>2]=0,B=3899;break b}l=l+2|0}if(2!=(0|Zf(A,b[f+16>>2],2,e)))break}xf(e,1,B,0),xf(e,1,9847,0),f=0;break f}if(k=u(g,24)+k|0,b[k+16>>2]=l,g=I-l|0,b[k+8>>2]=g,b[k+12>>2]=g>>31,a[k>>1]=0,b[o+24>>2]=B,b[r+40>>2]=c,g=24912,65424==(0|c))break i;for(;;){if(!(o=b[(k=g)>>2]))break r;if(g=k+12|0,(0|o)==(0|c))break}}if(!(b[k+4>>2]&b[f+8>>2])){xf(e,1,5397,0),f=0;break f}if(2!=(0|Zf(A,b[f+16>>2],2,e))){xf(e,1,2472,0),f=0;break f}if(eA(b[f+16>>2],r+36|0,2),(B=b[r+36>>2])>>>0<=1){xf(e,1,6074,0),f=0;break f}if(B=B-2|0,b[r+36>>2]=B,g=b[f+16>>2],G[f+20>>2]<B>>>0){if(!(g=Cf(g,B))){hf(b[f+16>>2]),b[f+16>>2]=0,b[f+20>>2]=0,xf(e,1,4973,0),f=0;break f}b[f+16>>2]=g,B=b[r+36>>2],b[f+20>>2]=B}if((0|(B=Zf(A,g,B,e)))!=b[r+36>>2]){xf(e,1,2472,0),f=0;break f}if(!(0|Qe[b[k+8>>2]](f,b[f+16>>2],B,e))){xf(e,1,2490,0),f=0;break f}if(I=b[A+56>>2],c=b[r+36>>2],k=b[f+224>>2],(l=(g=b[k+24>>2])+1|0)>>>0<=(B=b[k+32>>2])>>>0)B=b[k+28>>2];else{if(B=(W=Z(Z(B>>>0)+Z(100)))<Z(4294967296)&W>=Z(0)?~~W>>>0:0,b[k+32>>2]=B,!(B=Cf(b[k+28>>2],u(B,24))))break A;b[k+28>>2]=B,l=(g=b[k+24>>2])+1|0}if(B=u(g,24)+B|0,b[B+16>>2]=c+4,g=(I-c|0)-4|0,b[B+8>>2]=g,b[B+12>>2]=g>>31,a[B>>1]=o,b[k+24>>2]=l,2!=(0|Zf(A,b[f+16>>2],2,e))){xf(e,1,2472,0),f=0;break f}if(C=65372==(0|o)?1:C,t=65362==(0|o)?1:t,Q=65361==(0|o)?1:Q,eA(b[f+16>>2],r+40|0,2),65424!=(0|(g=b[r+40>>2])))continue}break}if(Q)break e}xf(e,1,4785,0),f=0;break f}if(!t){xf(e,1,4831,0),f=0;break f}if(!C){xf(e,1,4877,0),f=0;break f}k=0,B=0,l=0,z=I=z-16|0,C=1;e:if(1&i[f+212|0]){i:if(o=b[f+136>>2]){r:{for(;;){if(g=b[f+140>>2]+(l<<3)|0,t=b[g>>2]){if(g=k>>>0>=(g=k-(c=b[g+4>>2])|0)>>>0?g:0,k>>>0<c>>>0){for(o=c-k|0,t=k+t|0;;){if(o>>>0<4){k=5671;break r}if(eA(t,I+12|0,4),(-1^(k=b[I+12>>2]))>>>0<B>>>0){k=5645;break r}if(g=(Q=(c=o-4|0)>>>0<k>>>0)?k-c|0:g,B=k+B|0,o=c-k|0,t=4+((Q?0:k)+t|0)|0,!(k>>>0<c>>>0))break}o=b[f+136>>2]}k=g}if(!((l=l+1|0)>>>0<o>>>0))break}if(!k)break i;C=0,xf(e,1,3067,0);break e}C=0,xf(e,1,k,0);break e}if(k=ke(B),b[f+160>>2]=k,k){b[f+148>>2]=B,l=b[f+140>>2];i:{if(o=b[f+136>>2]){for(B=0,k=0,g=0;;){if(c=b[(Q=(t=g<<3)+l|0)>>2]){l=b[f+160>>2]+k|0;r:if((o=b[Q+4>>2])>>>0<=B>>>0)o&&n(l,c,o),k=k+o|0,B=B-o|0;else{for(B&&n(l,c,B),k=k+B|0,l=o-B|0,B=B+c|0;;){if(l>>>0<4)break i;if(eA(B,I+8|0,4),B=B+4|0,c=b[f+160>>2]+k|0,(o=l-4|0)>>>0<(l=b[I+8>>2])>>>0){o&&n(c,B,o),k=k+o|0,B=b[I+8>>2]-o|0;break r}if(l&&n(c,B,l),k=(l=b[I+8>>2])+k|0,B=B+l|0,!(l=o-l|0))break}B=0}hf(b[t+b[f+140>>2]>>2]),l=b[f+140>>2],b[(o=t+l|0)>>2]=0,b[o+4>>2]=0,o=b[f+136>>2]}if(!((g=g+1|0)>>>0<o>>>0))break}B=b[f+148>>2],k=b[f+160>>2]}b[f+168>>2]=B,b[f+144>>2]=k,b[f+136>>2]=0,hf(l),b[f+140>>2]=0;break e}C=0,xf(e,1,5671,0)}else C=0,xf(e,1,4337,0)}if(z=I+16|0,!C){xf(e,1,8085,0),f=0;break f}xf(e,4,11754,0),k=b[f+224>>2],B=(B=b[A+56>>2])-2|0,b[k+8>>2]=B,b[k+12>>2]=0,A=0,l=0,z=c=z-16|0;e:if(g=b[f+68>>2]){if(!b[f+76>>2]){k=b[f+72>>2],I=b[f+224>>2],B=b[I+40>>2];i:{if(1!=(0|g)){for(C=1&g,t=-2&g;w=s[(Q=(A<<3)+k|0)>>1],o=B+u(w,40)|0,b[o>>2]=w,b[o+8>>2]=b[o+8>>2]+1,Q=s[Q+8>>1],o=B+u(Q,40)|0,b[o>>2]=Q,b[o+8>>2]=b[o+8>>2]+1,A=A+2|0,(0|t)!=(0|(l=l+2|0)););if(!C)break i}o=s[(A<<3)+k>>1],A=B+u(o,40)|0,b[A>>2]=o,b[A+8>>2]=b[A+8>>2]+1}i:{if(o=b[I+36>>2])for(A=0;;){if(!b[8+(B+u(A,40)|0)>>2]){b[c>>2]=A,xf(e,1,9304,c);break i}if((0|o)==(0|(A=A+1|0)))break}for(o=b[I+8>>2],A=b[I+12>>2],B=0;;){r:{if(t=B<<3,C=b[b[f+224>>2]+40>>2]+u(s[t+k>>1],40)|0,!(l=b[C+16>>2])){if(l=DA(b[C+8>>2],24),b[C+16>>2]=l,!l)break r;g=b[f+68>>2],k=b[f+72>>2]}if(w=l,l=b[C+4>>2],I=w+u(l,24)|0,b[I>>2]=o,b[I+4>>2]=A,o=(t=b[4+(k+t|0)>>2])+o|0,b[I+16>>2]=o,A=o>>>0<t>>>0?A+1|0:A,b[I+20>>2]=A,b[C+4>>2]=l+1,g>>>0>(B=B+1|0)>>>0)continue;break e}break}xf(e,1,6882,0)}if(b[f+76>>2]=1,b[f+68>>2])for(k=b[b[f+224>>2]+40>>2],A=0;e=u(s[b[f+72>>2]+(A<<3)>>1],40),b[(k=e+k|0)+8>>2]=0,hf(b[k+16>>2]),k=b[b[f+224>>2]+40>>2],b[16+(e+k|0)>>2]=0,(A=A+1|0)>>>0<G[f+68>>2];);}}else b[f+76>>2]=1;z=c+16|0,b[f+8>>2]=8,f=1;break f}hf(b[k+28>>2]),b[k+32>>2]=0,b[k+24>>2]=0,b[k+28>>2]=0,xf(e,1,3899,0),f=0}else xf(e,1,2472,0),f=0}return z=r+48|0,0|f},function(f,A,e){A|=0,e|=0;var r,a,B=0,o=0,g=0,l=0,c=0,I=0,s=0,G=0,t=0,C=0,Z=0;r=b[(f|=0)+96>>2];f:{if(a=u(b[f+128>>2],b[f+132>>2]))for(A=b[r+16>>2],G=u(A,1080),s=u(A,A)<<2,o=b[f+12>>2],A=b[f+180>>2];;){if(t=b[A+5584>>2],n(A,o,5644),b[A+5608>>2]=0,b[A+5588>>2]=-1,b[A+5168>>2]=0,b[A+5636>>2]=0,b[A+5616>>2]=0,b[A+5624>>2]=0,b[A+5628>>2]=0,b[A+5584>>2]=t,i[A+5640|0]=252&k[A+5640|0],b[o+5608>>2]){if(B=ke(s),b[A+5608>>2]=B,!B)return 0;s&&n(B,b[o+5608>>2],s)}if(g=ke(B=u(b[o+5624>>2],20)),b[A+5616>>2]=g,I=0,!g)break f;if(B&&n(g,b[o+5616>>2],B),l=b[o+5620>>2])for(B=b[o+5616>>2],g=b[A+5616>>2],c=0;;){if(b[B+12>>2]){if(l=ke(b[B+16>>2]),b[g+12>>2]=l,!l)return 0;(C=b[B+16>>2])&&n(l,b[B+12>>2],C),l=b[o+5620>>2]}if(b[A+5624>>2]=b[A+5624>>2]+1,g=g+20|0,B=B+20|0,!((c=c+1|0)>>>0<l>>>0))break}if(g=ke(B=u(b[o+5636>>2],20)),b[A+5628>>2]=g,!g)break f;if(B&&n(g,b[o+5628>>2],B),I=b[o+5636>>2],b[A+5636>>2]=I,I)for(B=b[o+5628>>2],g=b[A+5628>>2],c=0;(l=b[B+8>>2])&&(b[g+8>>2]=b[A+5616>>2]+(l-b[o+5616>>2]|0)),(l=b[B+12>>2])&&(b[g+12>>2]=b[A+5616>>2]+(l-b[o+5616>>2]|0)),g=g+20|0,B=B+20|0,(0|I)!=(0|(c=c+1|0)););if(G&&n(t,b[o+5584>>2],G),A=A+5644|0,(0|(Z=Z+1|0))==(0|a))break}if(I=1,A=0,(o=DA(1,72))&&(i[o+40|0]=254&k[o+40|0]|1,B=DA(1,4),b[o+20>>2]=B,A=o,B||(hf(A),A=0)),b[f+232>>2]=A,!A)return 0;g=b[f+236>>2],o=0,b[A+28>>2]=f+104,b[A+24>>2]=r,B=DA(1,848),b[b[A+20>>2]>>2]=B,B&&(B=DA(b[r+16>>2],76),c=b[b[A+20>>2]>>2],b[c+20>>2]=B,B&&(b[c+16>>2]=b[r+16>>2],o=b[f+188>>2],b[A+44>>2]=g,b[A>>2]=o,o=1)),o||(wf(b[f+232>>2]),I=0,b[f+232>>2]=0,xf(e,1,3668,0))}return 0|I},function(f,A,e){f|=0,A|=0,e|=0;var i,r=0,a=0,k=0,B=0,o=0,g=0,l=0,c=0,n=0,I=0,s=0,t=0,C=0,Z=0,Q=0,W=0;z=i=z-80|0,b[i+76>>2]=1;f:if(1!=b[f+128>>2]|1!=b[f+132>>2]|b[f+108>>2]|b[f+112>>2]||(g=b[f+100>>2],b[g>>2]|b[g+4>>2]|b[g+8>>2]!=b[f+116>>2]|b[g+12>>2]!=b[f+120>>2])){if(b[f+80>>2]=0,b[f+84>>2]=0,hf(b[f+88>>2]),b[f+88>>2]=0,(b[f+28>>2]|b[f+32>>2]|b[f+36>>2]!=b[f+128>>2]||(g=2,b[f+40>>2]!=b[f+132>>2]))&&(g=2,!b[f+76>>2]&&le(A))){if(C=b[f+128>>2],g=u(C,b[f+132>>2])){o=b[b[f+224>>2]+40>>2];A:{if(1!=(0|g)){for(l=1&g,I=-2&g,g=0;r=o+u(B,40)|0,(k=b[r+4>>2])&&(c=(b[r+16>>2]+u(k,24)|0)-8|0,s=k=b[c>>2],g=(c=(t=k>>>0>g>>>0)&(0|(k=b[c+4>>2]))>=(0|n)|(0|k)>(0|n))?s:g,n=c?k:n),(k=b[r+44>>2])&&(k=(b[r+56>>2]+u(k,24)|0)-8|0,s=r=b[k>>2],g=(k=(c=r>>>0>g>>>0)&(0|(r=b[k+4>>2]))>=(0|n)|(0|r)>(0|n))?s:g,n=k?r:n),B=B+2|0,(0|I)!=(0|(a=a+2|0)););if(!l)break A}else g=0;r=o+u(B,40)|0,(o=b[r+4>>2])&&(o=(b[r+16>>2]+u(o,24)|0)-8|0,k=r=b[o>>2],g=(o=(l=r>>>0>g>>>0)&(0|(r=b[o+4>>2]))>=(0|n)|(0|r)>(0|n))?k:g,n=o?r:n)}n=(g=g+2|0)>>>0<2?n+1|0:n}else g=2,n=0;if(B=0,!((l=b[f+32>>2])>>>0>=(t=b[f+40>>2])>>>0||(o=b[f+28>>2])>>>0>=(k=b[f+36>>2])>>>0))for(I=k-o&3,Q=b[b[f+224>>2]+40>>2],W=o-k>>>0>4294967292;;){if(c=Q+u(u(l,C),40)|0,r=o,a=0,I)for(;B=b[4+(c+u(r,40)|0)>>2]+B|0,r=r+1|0,(0|I)!=(0|(a=a+1|0)););if(!W)for(;a=c+u(r,40)|0,B=b[a+124>>2]+(b[a+84>>2]+(b[a+44>>2]+(b[a+4>>2]+B|0)|0)|0)|0,(0|k)!=(0|(r=r+4|0)););if((0|t)==(0|(l=l+1|0)))break}if(k=ke(B<<3),b[f+88>>2]=k,!(!B|!k)){if(B=0,!((r=b[f+40>>2])>>>0<=(I=b[f+32>>2])>>>0||(a=b[f+36>>2])>>>0<=G[f+28>>2])){for(;;){if(a>>>0>(k=b[f+28>>2])>>>0){for(Q=b[b[f+224>>2]+40>>2]+u(u(b[f+128>>2],I),40)|0;;){if(o=Q+u(k,40)|0,r=b[o+4>>2]){C=3&r,t=b[o+16>>2],o=0;A:{if(r>>>0<4)r=0;else{for(W=-4&r,r=0,l=0;a=t+u(r,24)|0,Z=b[a+4>>2],s=(c=B<<3)+b[f+88>>2]|0,b[s>>2]=b[a>>2],b[s+4>>2]=Z,Z=b[a+28>>2],s=c+b[f+88>>2]|0,b[s+8>>2]=b[a+24>>2],b[s+12>>2]=Z,Z=b[a+52>>2],s=c+b[f+88>>2]|0,b[s+16>>2]=b[a+48>>2],b[s+20>>2]=Z,s=b[a+76>>2],c=c+b[f+88>>2]|0,b[c+24>>2]=b[a+72>>2],b[c+28>>2]=s,r=r+4|0,B=B+4|0,(0|W)!=(0|(l=l+4|0)););if(!C)break A}for(;l=t+u(r,24)|0,c=b[l+4>>2],a=b[f+88>>2]+(B<<3)|0,b[a>>2]=b[l>>2],b[a+4>>2]=c,r=r+1|0,B=B+1|0,(0|C)!=(0|(o=o+1|0)););}a=b[f+36>>2]}if(!(a>>>0>(k=k+1|0)>>>0))break}r=b[f+40>>2]}if(!((I=I+1|0)>>>0<r>>>0))break}k=b[f+88>>2]}if(b[f+84>>2]=B,z=a=z-208|0,b[a+8>>2]=1,b[a+12>>2]=0,o=B<<3){for(b[a+16>>2]=8,b[a+20>>2]=8,r=2;l=b[(B=(a+16|0)+(r<<2)|0)-4>>2]+(b[B-8>>2]+8|0)|0,b[B>>2]=l,r=r+1|0,o>>>0>l>>>0;);if((0|(r=o-8|0))<=0)B=0,o=1,r=1,l=0;else{for(B=r+k|0,o=1,r=1;3&~o?(G[(I=a+16|0)+((l=r-1|0)<<2)>>2]>=B-k>>>0?Nf(k,o,b[a+12>>2],r,0,I):rA(k,r,a+16|0),1!=(0|r)?(YA(a+8|0,l),r=1):(YA(a+8|0,1),r=0)):(rA(k,r,a+16|0),vA(a+8|0,2),r=r+2|0),o=1|b[a+8>>2],b[a+8>>2]=o,B>>>0>(k=k+8|0)>>>0;);l=!!(0|(B=b[a+12>>2]))}if(Nf(k,o,B,r,0,a+16|0),l|1!=(0|r)|1!=(0|(o=b[a+8>>2])))for(;(0|r)<=1?(vA(a+8|0,o=KA(o,B)),r=r+o|0):(YA(B=a+8|0,2),b[a+8>>2]=7^b[a+8>>2],vA(B,1),Nf((I=k-8|0)-b[(l=a+16|0)+((o=r-2|0)<<2)>>2]|0,b[a+8>>2],b[a+12>>2],r-1|0,1,l),YA(B,1),r=1|b[a+8>>2],b[a+8>>2]=r,Nf(I,r,b[a+12>>2],o,1,l),r=o),k=k-8|0,(B=b[a+12>>2])|1!=(0|r)|1!=(0|(o=b[a+8>>2])););}z=a+208|0}}r=b[f+128>>2],a=0;A:{for(;;){if(!b[b[f+180>>2]+5596>>2]|1!=(0|r)|1!=b[f+132>>2]){if(r=0,!O(f,i+72|0,0,i+68|0,i- -64|0,i+60|0,i+56|0,i+52|0,i+76|0,A,e))break f;if(!b[i+76>>2])break A;r=b[i+72>>2]}else b[i+72>>2]=0,b[f+228>>2]=0,b[f+8>>2]=128|b[f+8>>2],r=0;if(o=r+1|0,k=L(f,r,0,0,A,e),B=u(b[f+128>>2],b[f+132>>2]),!k){b[i+4>>2]=B,b[i>>2]=o,xf(e,1,7537,i),r=0;break f}if(b[i+36>>2]=B,b[i+32>>2]=o,xf(e,4,11795,i+32|0),!of(b[f+232>>2],b[b[f+100>>2]+24>>2])){r=0;break f}if(!(1!=b[f+128>>2]|1!=b[f+132>>2])&&(B=b[f+100>>2],k=b[f+96>>2],b[B>>2]!=b[k>>2]|b[B+4>>2]!=b[k+4>>2]|b[B+8>>2]!=b[k+8>>2]|b[B+12>>2]!=b[k+12>>2])||(r=b[f+180>>2]+u(r,5644)|0,(B=b[r+5596>>2])&&(hf(B),b[r+5596>>2]=0,b[r+5600>>2]=0)),b[i+16>>2]=o,xf(e,4,16601,i+16|0),!(VA(A)|T)&64==b[f+8>>2])break A;if(a=a+1|0,r=b[f+128>>2],(0|a)==(0|u(r,b[f+132>>2])))break A;if(!(!(o=b[f+84>>2])|(0|o)!=b[f+80>>2]))break}LA(A,g,n,e)}r=Sf(f,e)}else{if(!O(f,i+72|0,0,i+68|0,i- -64|0,i+60|0,i+56|0,i+52|0,i+76|0,A,e))break f;A:{if(b[i+76>>2]&&L(f,b[i+72>>2],0,0,A,e)){if(A=b[f+100>>2],b[A+16>>2])break A;r=1;break f}xf(e,1,8776,0);break f}for(a=b[A+24>>2];A=u(B,52),hf(b[44+(A+a|0)>>2]),e=b[f+100>>2],g=A+(a=b[e+24>>2])|0,n=b[f+232>>2],r=b[b[b[n+20>>2]>>2]+20>>2]+u(B,76)|0,b[g+44>>2]=b[r+36>>2],b[g+36>>2]=b[36+(A+b[b[n+24>>2]+24>>2]|0)>>2],b[r+36>>2]=0,r=1,(B=B+1|0)>>>0<G[e+16>>2];);}return z=i+80|0,0|r},ZA,function(f,A,e){f|=0,A|=0,e|=0;var i,r,a=0,k=0,B=0,o=0,g=0,l=0,c=0;z=i=z-80|0,b[i+76>>2]=1,r=b[f+44>>2];f:{if(!(!(a=b[b[f+224>>2]+40>>2])|!b[a+16>>2])){A:{if(a=a+u(r,40)|0,!b[a+4>>2]){if(a=b[f+52>>2],sA(A,k=b[f+48>>2]+2|0,a=k>>>0<2?a+1|0:a,e))break A;a=0,xf(e,1,5440,0);break f}if(a=b[a+16>>2],!sA(A,b[a>>2],b[a+4>>2],e)){xf(e,1,5440,0),a=0;break f}if(2!=(0|Zf(A,b[f+16>>2],2,e))){xf(e,1,2472,0),a=0;break f}if(eA(b[f+16>>2],i+72|0,2),65424!=b[i+72>>2]){xf(e,1,4073,0),a=0;break f}}256==b[f+8>>2]&&(b[f+8>>2]=8)}A:if(k=u(b[f+132>>2],b[f+128>>2])){if(g=7&k,o=b[f+180>>2],a=0,k>>>0>=8){for(l=-8&k;k=o+u(B,5644)|0,b[k+45096>>2]=-1,b[k+39452>>2]=-1,b[k+33808>>2]=-1,b[k+28164>>2]=-1,b[k+22520>>2]=-1,b[k+16876>>2]=-1,b[k+11232>>2]=-1,b[k+5588>>2]=-1,B=B+8|0,(0|l)!=(0|(c=c+8|0)););if(!g)break A}for(;b[5588+(o+u(B,5644)|0)>>2]=-1,B=B+1|0,(0|g)!=(0|(a=a+1|0)););}if(a=0,O(f,i+72|0,0,i+68|0,i- -64|0,i+60|0,i+56|0,i+52|0,i+76|0,A,e)){for(g=r+1|0;;){A:if(b[i+76>>2]){if(!L(f,k=b[i+72>>2],0,0,A,e))break f;if(o=b[f+128>>2],l=b[f+132>>2],B=k+1|0,b[i+32>>2]=B,b[i+36>>2]=u(o,l),xf(e,4,11795,i+32|0),!of(b[f+232>>2],b[b[f+100>>2]+24>>2]))break f;if(a=b[f+180>>2]+u(k,5644)|0,(o=b[a+5596>>2])&&(hf(o),b[a+5596>>2]=0,b[a+5600>>2]=0),b[i+16>>2]=B,xf(e,4,16601,i+16|0),(0|k)==(0|r)){if(a=b[f+224>>2],k=b[a+8>>2],a=b[a+12>>2],sA(A,k=k+2|0,a=k>>>0<2?a+1|0:a,e))break A;a=0,xf(e,1,5440,0);break f}if(b[i+4>>2]=g,b[i>>2]=B,xf(e,2,13648,i),a=0,O(f,i+72|0,0,i+68|0,i- -64|0,i+60|0,i+56|0,i+52|0,i+76|0,A,e))continue;break f}break}a=Sf(f,e)}}return z=i+80|0,0|a},function(f,A,e,r){f|=0,A|=0,e|=0,r|=0;var a,B=0,o=0,g=0,l=0,c=0;z=a=z-128|0,b[a+120>>2]=0;f:if(8==(0|e))if(eA(A,f+228|0,2),eA(A+2|0,a+124|0,4),eA(A+6|0,a+116|0,1),eA(A+7|0,a+120|0,1),e=b[f+228>>2],l=b[f+128>>2],e>>>0>=u(l,b[f+132>>2])>>>0)b[a+112>>2]=e,xf(r,1,7843,a+112|0);else if(B=b[f+180>>2]+u(e,5644)|0,g=(e>>>0)/(l>>>0)|0,A=b[a+116>>2],(0|(o=b[f+44>>2]))>=0&(0|e)!=(0|o)||(0|(o=b[B+5588>>2]+1|0))==(0|A)){b[B+5588>>2]=A;A:{if((A=b[a+124>>2])-1>>>0<=12){if(12!=(0|A))break A;b[a+64>>2]=12,xf(r,2,11864,a- -64|0),A=b[a+124>>2]}A||(xf(r,4,10695,0),b[f+56>>2]=1);e:{i:{r:{a:{if(A=b[B+5592>>2]){if((o=b[a+116>>2])>>>0<A>>>0)break a;b[a+52>>2]=A,b[a+48>>2]=o,xf(r,1,5150,a+48|0),b[f+56>>2]=1,B=0;break f}if(o=b[a+120>>2])break r;break e}if(!(o=b[a+120>>2]))break i}if(A=(k[f+92|0]>>>4&1)+o|0,b[a+120>>2]=A,(o=b[a+116>>2])>>>0>(c=b[B+5592>>2])-1>>>0){b[a+20>>2]=c,b[a+16>>2]=o,xf(r,1,5051,a+16|0),b[f+56>>2]=1,B=0;break f}if(A>>>0<=o>>>0){b[a+36>>2]=A,b[a+32>>2]=o,xf(r,1,5250,a+32|0),b[f+56>>2]=1,B=0;break f}b[B+5592>>2]=A}(b[a+116>>2]+1|0)==(0|A)&&(i[f+92|0]=1|k[f+92|0])}if(A=b[a+124>>2],b[f+8>>2]=16,b[f+24>>2]=b[f+56>>2]?0:A-12|0,-1!=(0|(B=b[f+44>>2]))?(A=b[f+228>>2],i[f+92|0]=251&k[f+92|0]|((0|B)!=(0|A)?4:0)):(B=4,(A=e-u(g,l)|0)>>>0<G[f+28>>2]|A>>>0>=G[f+36>>2]|g>>>0<G[f+32>>2]||(B=g>>>0>=G[f+40>>2]?4:0),i[f+92|0]=251&k[f+92|0]|B,A=b[f+228>>2]),e=b[b[f+224>>2]+40>>2]+u(A,40)|0,b[e>>2]=A,b[e+12>>2]=b[a+116>>2],B=b[a+120>>2],!b[f+76>>2]){if(G[e+4>>2]>=B>>>0){B=1;break f}b[a>>2]=A,xf(r,2,1612,a),b[f+76>>2]=1,B=b[a+120>>2]}if(e=b[b[f+224>>2]+40>>2],A=b[f+228>>2],g=e+u(A,40)|0,B){if(b[g+4>>2]=B,A=b[a+120>>2],b[g+8>>2]=A,!(e=b[g+16>>2])){if(A=DA(A,24),b[16+(b[b[f+224>>2]+40>>2]+u(b[f+228>>2],40)|0)>>2]=A,A){B=1;break f}B=0,xf(r,1,6947,0);break f}if(A=Cf(e,u(A,24)),e=b[b[f+224>>2]+40>>2]+u(b[f+228>>2],40)|0,!A){hf(b[e+16>>2]),B=0,b[16+(b[b[f+224>>2]+40>>2]+u(b[f+228>>2],40)|0)>>2]=0,xf(r,1,6947,0);break f}b[e+16>>2]=A,B=1;break f}if(!(o=b[g+16>>2])&&(b[g+8>>2]=10,o=DA(10,24),e=b[b[f+224>>2]+40>>2],A=b[f+228>>2],g=e+u(A,40)|0,b[g+16>>2]=o,!o)){B=0,b[g+8>>2]=0,xf(r,1,6947,0);break f}if(B=1,A=u(A,40)+e|0,e=b[a+116>>2],G[A+8>>2]>e>>>0)break f;if(g=A,A=e+1|0,b[g+8>>2]=A,A=Cf(o,u(A,24)),e=b[b[f+224>>2]+40>>2]+u(b[f+228>>2],40)|0,!A){hf(b[e+16>>2]),B=0,f=b[b[f+224>>2]+40>>2]+u(b[f+228>>2],40)|0,b[f+8>>2]=0,b[f+16>>2]=0,xf(r,1,6947,0);break f}b[e+16>>2]=A;break f}b[a+80>>2]=A,xf(r,1,12133,a+80|0),B=0}else b[a+104>>2]=o,b[a+100>>2]=A,b[a+96>>2]=e,xf(r,1,7867,a+96|0),B=0;else xf(r,1,4047,0),xf(r,1,4047,0);return z=a+128|0,0|B},function(f,A,e,r){f|=0,A|=0,e|=0,r|=0;var a,B=0,o=0,g=0,l=0,c=0,I=0,s=0;if(z=a=z-16|0,b[a+12>>2]=e,I=b[f+96>>2],B=16==b[f+8>>2]?b[f+180>>2]+u(b[f+228>>2],5644)|0:b[f+12>>2],i[B+5640|0]=1|k[B+5640|0],e>>>0<=4)e=0,xf(r,1,4565,0);else if(eA(A,B,1),G[B>>2]>=8)e=0,xf(r,1,4531,0);else if(eA(A+1|0,a+8|0,1),e=b[a+8>>2],b[B+4>>2]=e,(0|e)>=5&&(xf(r,1,4490,0),b[B+4>>2]=-1),eA(A+2|0,B+8|0,2),(o=b[B+8>>2])-65536>>>0<=4294901760)b[a>>2]=o,xf(r,1,8111,a),e=0;else if(e=b[f+188>>2],b[B+12>>2]=e||o,eA(A+4|0,B+16|0,1),G[B+16>>2]>=2)e=0,xf(r,1,5536,0);else{o=A+5|0,b[a+12>>2]=b[a+12>>2]-5;f:if(e=b[I+16>>2]){if(I=7&e,g=1&b[B>>2],B=b[B+5584>>2],A=0,e>>>0>=8){for(e&=-8;l=B+u(A,1080)|0,b[l+7560>>2]=g,b[l+6480>>2]=g,b[l+5400>>2]=g,b[l+4320>>2]=g,b[l+3240>>2]=g,b[l+2160>>2]=g,b[l+1080>>2]=g,b[l>>2]=g,A=A+8|0,(0|e)!=(0|(c=c+8|0)););if(!I)break f}for(;b[B+u(A,1080)>>2]=g,A=A+1|0,(0|I)!=(0|(s=s+1|0)););}if(e=0,sf(f,0,o,a+12|0,r))if(b[a+12>>2])xf(r,1,4565,0);else{if(A=16==b[f+8>>2]?b[f+180>>2]+u(b[f+228>>2],5644)|0:b[f+12>>2],G[b[f+96>>2]+16>>2]>=2)for(A=b[A+5584>>2],o=b[A+4>>2]<<2,s=A+944|0,B=A+812|0,c=1,e=A;b[e+1084>>2]=b[A+4>>2],b[e+1088>>2]=b[A+8>>2],b[e+1092>>2]=b[A+12>>2],b[e+1096>>2]=b[A+16>>2],b[e+1100>>2]=b[A+20>>2],(r=!o)||n(e+1892|0,B,o),r||n(e+2024|0,s,o),e=e+1080|0,(c=c+1|0)>>>0<G[b[f+96>>2]+16>>2];);e=1}else xf(r,1,4565,0)}return z=a+16|0,0|e},function(f,A,e,i){A|=0,e|=0,i|=0;var r,a,k,B=0,o=0;return z=r=z-16|0,B=16==b[(f|=0)+8>>2]?b[f+180>>2]+u(b[f+228>>2],5644)|0:b[f+12>>2],k=b[f+96>>2],(a=G[k+16>>2]<257?1:2)>>>0>=e>>>0?(e=0,xf(i,1,4669,0)):(b[r+12>>2]=(-1^a)+e,eA(A,r+8|0,a),(o=b[r+8>>2])>>>0>=G[k+16>>2]?(e=0,xf(i,1,14067,0)):(e=1,eA(A=A+a|0,b[B+5584>>2]+u(o,1080)|0,1),sf(f,b[r+8>>2],A+1|0,r+12|0,i)?b[r+12>>2]&&(e=0,xf(i,1,4669,0)):(e=0,xf(i,1,4669,0)))),z=r+16|0,0|e},function(f,A,e,i){A|=0,e|=0,i|=0;var r,a,k=0;return z=r=z-16|0,((k=(a=b[b[(f|=0)+96>>2]+16>>2])>>>0<257?1:2)+2|0)==(0|e)?(e=16==b[f+8>>2]?b[f+180>>2]+u(b[f+228>>2],5644)|0:b[f+12>>2],eA(A,r+12|0,k),f=1,eA(A=A+k|0,r+8|0,1),(k=b[r+12>>2])>>>0>=a>>>0?(b[r+4>>2]=a,b[r>>2]=k,xf(i,1,14923,r),f=0):eA(A+1|0,808+(b[e+5584>>2]+u(k,1080)|0)|0,1)):(f=0,xf(i,1,4285,0)),z=r+16|0,0|f},function(f,A,e,i){f|=0,A|=0,e|=0,i|=0;var r,a=0,k=0;z=r=z-16|0,b[r+12>>2]=e;f:if(!Ff(f,0,A,r+12|0,i)|b[r+12>>2])xf(i,1,4591,0);else{if(A=16==b[f+8>>2]?b[f+180>>2]+u(b[f+228>>2],5644)|0:b[f+12>>2],a=1,G[b[f+96>>2]+16>>2]<2)break f;for(k=(e=b[A+5584>>2])+28|0,A=1,i=e;b[i+1104>>2]=b[e+24>>2],b[i+1884>>2]=b[e+804>>2],n(i+1108|0,k,776),i=i+1080|0,(A=A+1|0)>>>0<G[b[f+96>>2]+16>>2];);}return z=r+16|0,0|a},function(f,A,e,i){A|=0,e|=0,i|=0;var r,a=0,k=0,B=0;z=r=z-16|0;f:{A:{B=r+8|0;e:{if(G[b[(f|=0)+96>>2]+16>>2]<=256){if(e){a=-1,k=1;break e}xf(i,1,4695,0),f=0;break f}if(e>>>0<=1)break A;a=-2,k=2}if(eA(A,B,k),b[r+12>>2]=e+a,(e=b[r+8>>2])>>>0>=(a=b[b[f+96>>2]+16>>2])>>>0){b[r+4>>2]=a,b[r>>2]=e,xf(i,1,7712,r),f=0;break f}if(!Ff(f,e,A+k|0,r+12|0,i)){xf(i,1,4695,0),f=0;break f}if(f=1,!b[r+12>>2])break f;xf(i,1,4695,0),f=0;break f}xf(i,1,4695,0),f=0}return z=r+16|0,0|f},function(f,A,e,r){A|=0,e|=0,r|=0;var a,B,o,g=0,l=0,c=0;if(z=a=z-16|0,o=b[b[(f|=0)+96>>2]+16>>2],(0|u(g=5+((B=o>>>0<257?1:2)<<1)|0,l=(e>>>0)/(g>>>0)|0))==(0|e)&e>>>0>=g>>>0)if(g=16==b[f+8>>2]?b[f+180>>2]+u(b[f+228>>2],5644)|0:b[f+12>>2],f=0,(l=l+(f=4&(e=k[g+5640|0])?b[g+420>>2]+1|0:f)|0)>>>0>=32)b[a>>2]=l,xf(r,1,7781,a),f=0;else{if(i[g+5640|0]=4|e,f>>>0<l>>>0)for(e=424+(g+u(f,148)|0)|0;eA(A,e,1),eA(A=A+1|0,e+4|0,B),eA(A=A+B|0,e+8|0,2),r=b[e+8>>2],c=b[g+8>>2],b[e+8>>2]=r>>>0<c>>>0?r:c,eA(A+2|0,e+12|0,1),eA(A=A+3|0,e+16|0,B),eA(A=A+B|0,a+12|0,1),b[e+36>>2]=b[a+12>>2],r=b[e+16>>2],b[e+16>>2]=r>>>0<o>>>0?r:o,e=e+148|0,A=A+1|0,(0|l)!=(0|(f=f+1|0)););b[g+420>>2]=l-1,f=1}else xf(r,1,4643,0),f=0;return z=a+16|0,0|f},function(f,A,e,i){f|=0,A|=0,i|=0;var r,B=0,o=0,g=0,l=0,c=0,n=0,I=0,s=0,t=0,C=0,Z=0,Q=0,W=0,w=0,V=0,H=0,Y=0,v=0;z=r=z-160|0;f:if((e|=0)>>>0<=35)e=0,xf(i,1,6095,0);else if(c=b[f+96>>2],(0|u(g=((e=e-36|0)>>>0)/3|0,3))==(0|e)){eA(A,e=r+156|0,2),a[f+104>>1]=b[r+156>>2],eA(A+2|0,c+8|0,4),eA(A+6|0,c+12|0,4),eA(A+10|0,c,4),eA(A+14|0,c+4|0,4),eA(A+18|0,f+116|0,4),eA(A+22|0,f+120|0,4),eA(A+26|0,f+108|0,4),eA(A+30|0,f+112|0,4),eA(A+34|0,e,2);A:{e:{i:{if((e=b[r+156>>2])>>>0<=16384){if(b[c+16>>2]=e,(0|e)!=(0|g)){b[r+132>>2]=g,b[r+128>>2]=e,xf(i,1,14980,r+128|0),e=0;break f}if(!((e=b[c+4>>2])>>>0<(o=b[c+12>>2])>>>0&(I=b[c+8>>2])>>>0>(B=b[c>>2])>>>0)){b[r+120>>2]=o-e,b[r+124>>2]=0-(e>>>0>o>>>0),b[r+112>>2]=I-B,b[r+116>>2]=0-(B>>>0>I>>>0),xf(i,1,14542,r+112|0),e=0;break f}if(l=b[f+116>>2],!(n=b[f+120>>2])||!l){b[r+4>>2]=n,b[r>>2]=l,xf(i,1,15094,r),e=0;break f}if((t=b[f+108>>2])>>>0>B>>>0||B>>>0>=((l=l+t|0)>>>0<t>>>0?-1:l)>>>0||(l=b[f+112>>2])>>>0>e>>>0||!(e>>>0<(l>>>0>(n=l+n|0)>>>0?-1:n)>>>0)){e=0,xf(i,1,2792,0);break f}if(!b[f+248>>2]&&(l=b[f+240>>2])&&(n=b[f+244>>2])&&!((0|(B=I-B|0))==(0|l)&(0|(e=o-e|0))==(0|n))){b[r+108>>2]=e,b[r+104>>2]=B,b[r+100>>2]=n,b[r+96>>2]=l,xf(i,1,14006,r+96|0),e=0;break f}if(B=DA(g,52),b[c+24>>2]=B,!B)break i;if(b[c+16>>2]){if(eA(A+36|0,e=r+152|0,1),n=(g=b[r+152>>2])>>>7|0,b[B+32>>2]=n,t=1+(127&g)|0,b[B+24>>2]=t,I=b[f+248>>2],eA(A+37|0,e,1),b[B>>2]=b[r+152>>2],eA(A+38|0,e,1),o=b[r+152>>2],b[B+4>>2]=o,e=0,(l=b[B>>2])-256>>>0<4294967041){g=0;break A}if(g=0,o-256>>>0<4294967041)break A;if((o=b[B+24>>2])>>>0>31)break e;if(b[B+36>>2]=0,b[B+40>>2]=b[f+184>>2],g=1,!(G[c+16>>2]<=1))for(n=I?0:n,I=I?0:t,A=A+39|0;;){if(eA(A,r+152|0,1),o=(l=b[r+152>>2])>>>7|0,b[B+84>>2]=o,l=1+(127&l)|0,b[B+76>>2]=l,b[f+248>>2]|4&k[f+212|0]|(0|l)==(0|I)&(0|o)==(0|n)||(b[r+84>>2]=o,b[r+80>>2]=l,b[r+76>>2]=g,b[r+72>>2]=n,b[r+68>>2]=I,b[r+64>>2]=g,xf(i,2,14778,r- -64|0)),eA(A+1|0,o=r+152|0,1),b[B+52>>2]=b[r+152>>2],eA(A+2|0,o,1),o=b[r+152>>2],b[B+56>>2]=o,(l=b[B+52>>2])-256>>>0<4294967041|o-256>>>0<=4294967040)break A;if((o=b[B+76>>2])>>>0>=32)break e;if(A=A+3|0,b[B+88>>2]=0,b[B+92>>2]=b[f+184>>2],B=B+52|0,!((g=g+1|0)>>>0<G[c+16>>2]))break}}if(e=0,!(g=b[f+116>>2]))break f;if(!(o=b[f+120>>2]))break f;if(B=I=0-!g|0,Z=b[f+108>>2],A=be(A=(n=b[c+8>>2]-Z|0)+(l=g-1|0)|0,B=n>>>0>A>>>0?B+1|0:B,g,0),b[f+128>>2]=A,B=t=0-!o|0,Q=b[f+112>>2],s=C=b[c+12>>2]-Q|0,B=be(C=C+(n=o-1|0)|0,B=s>>>0>C>>>0?B+1|0:B,o,0),b[f+132>>2]=B,!A|!B||!(A>>>0<=65535/(B>>>0)>>>0)){b[r+20>>2]=B,b[r+16>>2]=A,xf(i,1,14120,r+16|0);break f}if(C=u(A,B),2&k[f+92|0]?(b[f+28>>2]=(b[f+28>>2]-Z>>>0)/(g>>>0),b[f+32>>2]=(b[f+32>>2]-Q>>>0)/(o>>>0),B=I,s=A=b[f+36>>2]-Z|0,Y=f,v=be(A=A+l|0,B=s>>>0>A>>>0?B+1|0:B,g,0),b[Y+36>>2]=v,B=t,s=A=b[f+40>>2]-Q|0,Y=f,v=be(A=A+n|0,B=s>>>0>A>>>0?B+1|0:B,o,0),b[Y+40>>2]=v):(b[f+40>>2]=B,b[f+36>>2]=A,b[f+28>>2]=0,b[f+32>>2]=0),A=DA(C,5644),b[f+180>>2]=A,!A){xf(i,1,3935,0);break f}if(A=DA(b[c+16>>2],1080),b[b[f+12>>2]+5584>>2]=A,!b[b[f+12>>2]+5584>>2]){xf(i,1,3935,0);break f}if(A=DA(10,20),b[b[f+12>>2]+5616>>2]=A,A=b[f+12>>2],!b[A+5616>>2]){xf(i,1,3935,0);break f}if(b[A+5624>>2]=10,A=DA(10,20),b[b[f+12>>2]+5628>>2]=A,A=b[f+12>>2],!b[A+5628>>2]){xf(i,1,3935,0);break f}b[A+5636>>2]=10;r:if(B=b[c+16>>2]){if(g=b[c+24>>2],A=0,1!=(0|B)){for(o=1&B,I=-2&B,B=0;l=g+u(A,52)|0,b[l+32>>2]||(b[1076+(b[b[f+12>>2]+5584>>2]+u(A,1080)|0)>>2]=1<<b[l+24>>2]-1),n=g+u(l=1|A,52)|0,b[n+32>>2]||(b[1076+(b[b[f+12>>2]+5584>>2]+u(l,1080)|0)>>2]=1<<b[n+24>>2]-1),A=A+2|0,(0|I)!=(0|(B=B+2|0)););if(!o)break r}B=g+u(A,52)|0,b[B+32>>2]||(b[1076+(b[b[f+12>>2]+5584>>2]+u(A,1080)|0)>>2]=1<<b[B+24>>2]-1)}if(C)for(A=b[f+180>>2],B=0;;){if(g=DA(b[c+16>>2],1080),b[A+5584>>2]=g,!g){xf(i,1,3935,0);break f}if(A=A+5644|0,!(C>>>0>(B=B+1|0)>>>0))break}if(A=u(b[f+132>>2],b[f+128>>2]),b[b[f+224>>2]+36>>2]=A,A=DA(A,40),i=b[f+224>>2],b[i+40>>2]=A,B=0,A&&(B=1,b[i+36>>2]))for(i=0;B=0,o=u(i,40),b[(A=o+A|0)+20>>2]=0,b[A+28>>2]=100,g=DA(100,24),I=b[f+224>>2],A=b[I+40>>2],b[24+(o+A|0)>>2]=g,g&&(B=1,(i=i+1|0)>>>0<G[I+36>>2]););if(!B)break f;if(b[f+8>>2]=4,W=b[c+16>>2])for(A=b[f+112>>2],i=b[f+120>>2],I=(e=(e=(e=A+u(i,b[f+132>>2]-1|0)|0)>>>0>(i=e+i|0)>>>0?-1:i)>>>0<(i=b[c+12>>2])>>>0?e:i)-1|0,n=0-!e|0,e=b[f+108>>2],i=b[f+116>>2],l=(f=(f=(f=e+u(i,b[f+128>>2]-1|0)|0)>>>0>(i=f+i|0)>>>0?-1:i)>>>0<(i=b[c+8>>2])>>>0?f:i)-1|0,t=0-!f|0,C=(A=(f=b[c+4>>2])>>>0<A>>>0?A:f)-1|0,Z=0-!A|0,Q=(A=(f=b[c>>2])>>>0<e>>>0?e:f)-1|0,H=0-!A|0,f=b[c+24>>2],A=0;B=Z,c=be(e=(i=b[f+4>>2])+C|0,e>>>0<i>>>0?B+1|0:B,i,0),b[f+20>>2]=c,B=H,w=be(e=(g=b[f>>2])+Q|0,e>>>0<g>>>0?B+1|0:B,g,0),b[f+16>>2]=w,o=31&(e=b[f+40>>2]),(63&e)>>>0>=32?(B=-1<<o,s=0):B=(s=-1<<o)|(1<<o)-1&-1>>>32-o,o=-1^s,s=B^=-1,B=n,B=be(V=i+I|0,B=V>>>0<I>>>0?B+1|0:B,i,0)-c|0,i=s,i=(c=B)>>>0>(B=B+o|0)>>>0?i+1|0:i,c=B,B=31&e,i=(63&e)>>>0>=32?i>>>B|0:((1<<B)-1&i)<<32-B|c>>>B,b[f+12>>2]=i,B=t,i=be(i=g+l|0,B=i>>>0<l>>>0?B+1|0:B,g,0)-w|0,B=s,B=(i=i+o|0)>>>0<o>>>0?B+1|0:B,g=i,i=31&e,e=(63&e)>>>0>=32?B>>>i|0:((1<<i)-1&B)<<32-i|g>>>i,b[f+8>>2]=e,f=f+52|0,(0|W)!=(0|(A=A+1|0)););e=1;break f}b[r+144>>2]=e,xf(i,1,7932,r+144|0),e=0;break f}e=0,b[c+16>>2]=0,xf(i,1,3935,0);break f}b[r+52>>2]=o,b[r+48>>2]=g,xf(i,1,15402,r+48|0);break f}b[r+40>>2]=o,b[r+36>>2]=l,b[r+32>>2]=g,xf(i,1,14340,r+32|0)}else e=0,xf(i,1,6095,0);return z=r+160|0,0|e},function(f,A,e,i){f|=0,A|=0,i|=0;var r,k=0,B=0,o=0,g=0,l=0,c=0;z=r=z-32|0,B=1;f:if((e|=0)>>>0<=1)B=0,xf(i,1,10062,0);else if(!b[f+76>>2])if(eA(A,r+28|0,1),eA(A+1|0,r+24|0,1),3!=(0|(g=(k=b[r+24>>2])>>>4&3)))if((0|(e=e-2|0))==(0|u(k=(e>>>0)/((o=g+(l=2+(k>>>5&2)|0)|0)>>>0)|0,o))){if(!(e>>>0<o>>>0))if((e=b[f+68>>2])>>>0<=(-1^k)>>>0&&(e=e+k|0)>>>0<536870912)if(o=Cf(b[f+72>>2],e<<3)){e=A+2|0,b[f+72>>2]=o;A:{if(g){for(c=k>>>0<=1?1:k,k=0;;){if(eA(e,r+20|0,g),(A=b[r+20>>2])>>>0>=u(b[f+132>>2],b[f+128>>2])>>>0)break A;if(eA(A=e+g|0,r+16|0,l),e=b[f+68>>2],a[(B=o+(e<<3)|0)>>1]=b[r+20>>2],b[B+4>>2]=b[r+16>>2],B=1,b[f+68>>2]=e+1,e=A+l|0,(0|c)==(0|(k=k+1|0)))break}break f}for(g=k>>>0<=1?1:k,A=b[f+68>>2],k=0;;){if(b[r+20>>2]=A,u(b[f+132>>2],b[f+128>>2])>>>0<=A>>>0)break A;if(eA(e,r+16|0,l),c=b[f+68>>2],a[(B=o+(c<<3)|0)>>1]=A,b[B+4>>2]=b[r+16>>2],B=1,A=c+1|0,b[f+68>>2]=A,e=e+l|0,(0|g)==(0|(k=k+1|0)))break}break f}b[f+76>>2]=1,b[r>>2]=A,xf(i,2,7799,r)}else b[f+76>>2]=1,xf(i,2,9443,0);else b[f+76>>2]=1,xf(i,2,9400,0)}else b[f+76>>2]=1,xf(i,2,11139,0);else b[f+76>>2]=1,xf(i,2,11558,0);return z=r+32|0,0|B},function(f,A,e,i){return f|=0,i|=0,(e|=0)?f=1:(xf(i,1,4375,0),f=0),0|f},function(f,A,e,i){f|=0,A|=0,i|=0;var r,a=0,k=0;if(z=r=z-16|0,e|=0){if(eA(A,r+12|0,1),f=1,a=e-1|0){for(f=0,e=0;eA(A=A+1|0,r+8|0,1),e=(k=b[r+8>>2])<<24>>31&(127&k|e)<<7,(0|a)!=(0|(f=f+1|0)););f=1,e&&(xf(i,1,4106,0),f=0)}}else xf(i,1,4106,0),f=0;return z=r+16|0,0|f},function(f,A,e,r){f|=0,A|=0,r|=0;var a,B=0,o=0,g=0,l=0;z=a=z-16|0;f:if((e|=0)>>>0<=1)xf(r,1,4311,0),f=0;else{if(i[f+212|0]=1|k[f+212|0],eA(A,a+12|0,1),B=b[f+140>>2]){if(!((o=b[a+12>>2])>>>0<G[f+136>>2])){if(!(o=Cf(g=B,(B=o+1|0)<<3))){xf(r,1,4337,0),f=0;break f}b[f+140>>2]=o,(l=B-(g=b[f+136>>2])<<3)&&c(o+(g<<3)|0,0,l),b[f+136>>2]=B,B=b[f+140>>2]}}else{if(B=DA(o=b[a+12>>2]+1|0,8),b[f+140>>2]=B,!B){xf(r,1,4337,0),f=0;break f}b[f+136>>2]=o}g=B,B=b[a+12>>2],b[g+(B<<3)>>2]?(b[a>>2]=B,xf(r,1,7085,a),f=0):(B=ke(e=e-1|0),o=(f=b[f+140>>2])+(b[a+12>>2]<<3)|0,b[o>>2]=B,B?(b[o+4>>2]=e,e&&n(b[f+(b[a+12>>2]<<3)>>2],A+1|0,e),f=1):(xf(r,1,4337,0),f=0))}return z=a+16|0,0|f},function(f,A,e,r){f|=0,A|=0,r|=0;var a,B=0,o=0,g=0,l=0;z=a=z-16|0;f:if((e|=0)>>>0<=1)xf(r,1,3983,0),f=0;else if(1&i[f+212|0])xf(r,1,12668,0),f=0;else{if(f=b[f+180>>2]+u(b[f+228>>2],5644)|0,i[f+5640|0]=2|k[f+5640|0],eA(A,a+12|0,1),B=b[f+5164>>2]){if(!((o=b[a+12>>2])>>>0<G[f+5160>>2])){if(!(o=Cf(g=B,(B=o+1|0)<<3))){xf(r,1,4009,0),f=0;break f}b[f+5164>>2]=o,(l=B-(g=b[f+5160>>2])<<3)&&c(o+(g<<3)|0,0,l),b[f+5160>>2]=B,B=b[f+5164>>2]}}else{if(B=DA(o=b[a+12>>2]+1|0,8),b[f+5164>>2]=B,!B){xf(r,1,4009,0),f=0;break f}b[f+5160>>2]=o}g=B,B=b[a+12>>2],b[g+(B<<3)>>2]?(b[a>>2]=B,xf(r,1,7063,a),f=0):(B=ke(e=e-1|0),o=(f=b[f+5164>>2])+(b[a+12>>2]<<3)|0,b[o>>2]=B,B?(b[o+4>>2]=e,e&&n(b[f+(b[a+12>>2]<<3)>>2],A+1|0,e),f=1):(xf(r,1,4009,0),f=0))}return z=a+16|0,0|f},function(f,A,e,i){return e|=0,i|=0,b[b[(f|=0)+96>>2]+16>>2]<<2!=(0|e)?(xf(i,1,4464,0),f=0):f=1,0|f},qA,function(f,A,e,i){A|=0,e|=0,i|=0;var r,a=0,B=0,o=0,g=0,l=0,I=0,s=0,G=0;z=r=z-16|0,a=16==b[(f|=0)+8>>2]?b[f+180>>2]+u(b[f+228>>2],5644)|0:b[f+12>>2];f:if(e>>>0<=1)xf(i,1,4132,0),f=0;else{if(eA(A,r+12|0,2),b[r+12>>2])xf(i,2,3608,0);else{if(e>>>0<=6){xf(i,1,4132,0),f=0;break f}eA(A+2|0,r+12|0,2),o=b[a+5616>>2],I=k[r+12|0];A:{e:if(B=b[a+5620>>2]){for(f=o;;){if(b[f+8>>2]!=(0|I)){if(f=f+20|0,(0|(g=g+1|0))!=(0|B))continue;break e}break}if((0|B)!=(0|g))break A}if(b[a+5624>>2]==(0|B)){if(f=B+10|0,b[a+5624>>2]=f,f=Cf(o,u(f,20)),o=b[a+5616>>2],!f){hf(o),b[a+5624>>2]=0,b[a+5616>>2]=0,b[a+5620>>2]=0,xf(i,1,4158,0),f=0;break f}if((0|f)!=(0|o)&&(s=b[a+5632>>2]))for(G=b[a+5628>>2],g=0;B=u(g,20)+G|0,(l=b[B+8>>2])&&(b[B+8>>2]=f+(l-o|0)),(l=b[B+12>>2])&&(b[B+12>>2]=f+(l-o|0)),(0|s)!=(0|(g=g+1|0)););b[a+5616>>2]=f,o=b[a+5620>>2],(B=u(b[a+5624>>2]-o|0,20))&&c(f+u(o,20)|0,0,B),B=b[a+5620>>2],o=b[a+5616>>2]}b[a+5620>>2]=B+1,f=u(B,20)+o|0}if((a=b[f+12>>2])&&(hf(a),b[f+12>>2]=0,b[f+16>>2]=0),b[f+8>>2]=I,a=b[r+12>>2],b[f>>2]=a>>>10&3,b[f+4>>2]=a>>>8&3,eA(A+4|0,r+12|0,2),b[r+12>>2])xf(i,2,3023,0);else{if(a=ke(e=e-6|0),b[f+12>>2]=a,!a){xf(i,1,4132,0),f=0;break f}e&&n(a,A+6|0,e),b[f+16>>2]=e}}f=1}return z=r+16|0,0|f},function(f,A,e,i){A|=0,e|=0,i|=0;var r,a,k=0,B=0,o=0;z=r=z-16|0;f:if(((a=b[b[(f|=0)+96>>2]+16>>2])+2|0)==(0|e))if(eA(A,r+12|0,2),b[r+12>>2]==(0|a))if(a)for(e=A+2|0,f=b[b[f+96>>2]+24>>2],A=0;;){if(eA(e,r+8|0,1),o=(B=127&(k=b[r+8>>2]))+1|0,b[f+24>>2]=o,b[f+32>>2]=k>>>7&1,B>>>0>=31){b[r+4>>2]=o,b[r>>2]=A,xf(i,1,15402,r),k=0;break f}if(f=f+52|0,k=1,e=e+1|0,(0|a)==(0|(A=A+1|0)))break}else k=1;else xf(i,1,4617,0);else xf(i,1,4617,0);return z=r+16|0,0|k},qA,qA,function(f,A,e,r){A|=0,e|=0,r|=0;var a,B=0,o=0,g=0,l=0,n=0,I=0,s=0,t=0,C=0;z=a=z-16|0,l=16==b[(f|=0)+8>>2]?b[f+180>>2]+u(b[f+228>>2],5644)|0:b[f+12>>2];f:if(e>>>0<=1)xf(r,1,4721,0),f=0;else if(eA(A,a+12|0,2),b[a+12>>2])xf(r,2,5897,0),f=1;else if(e>>>0<=6)xf(r,1,4721,0),f=0;else{eA(A+2|0,a+8|0,1),B=b[l+5628>>2];A:{e:if(g=b[l+5632>>2]){for(n=b[a+8>>2],f=B;;){if((0|n)!=b[f>>2]){if(f=f+20|0,(0|g)!=(0|(o=o+1|0)))continue;break e}break}if(n=0,(0|o)!=(0|g))break A}if(b[l+5636>>2]==(0|g)){if(f=g+10|0,b[l+5636>>2]=f,!(f=Cf(B,u(f,20)))){hf(b[l+5628>>2]),b[l+5636>>2]=0,b[l+5628>>2]=0,b[l+5632>>2]=0,xf(r,1,4747,0),f=0;break f}b[l+5628>>2]=f,B=b[l+5632>>2],(n=u(b[l+5636>>2]-B|0,20))&&c(f+u(B,20)|0,0,n),g=b[l+5632>>2],B=b[l+5628>>2]}f=B+u(g,20)|0,n=1}if(b[f>>2]=b[a+8>>2],eA(A+3|0,a+12|0,2),b[a+12>>2])xf(r,2,5897,0),f=1;else if(eA(A+5|0,a+4|0,2),(B=b[a+4>>2])>>>0>=2)xf(r,2,3130,0),f=1;else{if(g=e-7|0,B)for(e=A+7|0;;){if(g>>>0<=2){xf(r,1,4721,0),f=0;break f}if(eA(e,a+12|0,1),1!=b[a+12>>2]){xf(r,2,5579,0),f=1;break f}if(eA(e+1|0,a,2),A=32767&(B=b[a>>2]),b[f+4>>2]=A,(g=g-3|0)>>>0<(I=u(B=1+(B>>>15|0)|0,A)+2|0)>>>0){xf(r,1,4721,0),f=0;break f}if(e=e+3|0,o=0,A)for(;;){if(eA(e,a+12|0,B),b[a+12>>2]!=(0|o)){xf(r,2,6259,0),f=1;break f}if(e=e+B|0,!((o=o+1|0)>>>0<G[f+4>>2]))break}if(eA(e,a,2),A=32767&(B=b[a>>2]),b[a>>2]=A,(0|A)!=b[f+4>>2]){xf(r,2,3306,0),f=1;break f}if((s=u(B=1+(B>>>15|0)|0,A)+3|0)>>>0>(I=g-I|0)>>>0){xf(r,1,4721,0),f=0;break f}if(e=e+2|0,o=0,A)for(;;){if(eA(e,a+12|0,B),b[a+12>>2]!=(0|o)){xf(r,2,6259,0),f=1;break f}if(e=e+B|0,!((o=o+1|0)>>>0<G[f+4>>2]))break}eA(e,a+12|0,3),B=b[a+12>>2],b[f+8>>2]=0,b[f+12>>2]=0,i[f+16|0]=!(65536&B)|254&k[f+16|0],g=255&B,b[a+8>>2]=g;A:if(g){if(t=b[l+5620>>2])for(o=b[l+5616>>2],A=0;;){if((0|g)==b[o+8>>2]){b[f+8>>2]=o;break A}if(o=o+20|0,(0|t)==(0|(A=A+1|0)))break}xf(r,1,4721,0),f=0;break f}B=B>>>8&255,b[a+8>>2]=B;A:if(B){if(g=b[l+5620>>2])for(o=b[l+5616>>2],A=0;;){if((0|B)==b[o+8>>2]){b[f+12>>2]=o;break A}if(o=o+20|0,(0|g)==(0|(A=A+1|0)))break}xf(r,1,4721,0),f=0;break f}if(g=I-s|0,e=e+3|0,!((C=C+1|0)>>>0<G[a+4>>2]))break}g?(xf(r,1,4721,0),f=0):(f=1,n&&(b[l+5632>>2]=b[l+5632>>2]+1,f=1))}}return z=a+16|0,0|f},function(f,A,e,i){A|=0,e|=0,i|=0;var r,a=0,k=0,B=0,o=0,g=0,l=0;z=r=z-16|0,B=16==b[(f|=0)+8>>2]?b[f+180>>2]+u(b[f+228>>2],5644)|0:b[f+12>>2];f:if(e)if(o=b[f+96>>2],a=1,eA(A,r+8|0,1),(k=b[r+8>>2])>>>0>=2)xf(i,2,9792,0);else if((k+1|0)==(0|e)){A:if(e=b[o+16>>2]){if(i=7&e,a=b[B+5584>>2],e>>>0>=8){for(o=-8&e,e=0;b[a+8636>>2]=0,b[a+7556>>2]=0,b[a+6476>>2]=0,b[a+5396>>2]=0,b[a+4316>>2]=0,b[a+3236>>2]=0,b[a+2156>>2]=0,b[a+1076>>2]=0,a=a+8640|0,(0|o)!=(0|(e=e+8|0)););if(!i)break A}for(e=0;b[a+1076>>2]=0,a=a+1080|0,(0|i)!=(0|(e=e+1|0)););}if((e=b[B+5608>>2])&&(hf(e),b[B+5608>>2]=0,k=b[r+8>>2]),k)for(o=0;;){if(eA(A=A+1|0,r+12|0,1),b[B+5632>>2]&&(i=b[B+5628>>2],b[i>>2]==b[r+12>>2]&&(k=b[i+4>>2],g=b[f+96>>2],(0|k)==b[g+16>>2]))){if(e=b[i+8>>2]){if(a=0,k=u(k,k),b[e+16>>2]!=(0|u(k,b[24896+(b[e>>2]<<2)>>2])))break f;if(l=ke(k<<2),b[B+5608>>2]=l,!l)break f;Qe[b[25200+(b[e>>2]<<2)>>2]](b[e+12>>2],l,k)}if(e=b[i+12>>2]){if(a=0,i=b[g+16>>2],b[e+16>>2]!=(0|u(i,b[24896+(b[e>>2]<<2)>>2])))break f;if(!(k=ke(i<<2)))break f;Qe[b[25216+(b[e>>2]<<2)>>2]](b[e+12>>2],k,i);A:if(e=b[g+16>>2]){if(g=7&e,a=b[B+5584>>2],e>>>0<8)e=k;else{for(l=-8&e,i=0,e=k;b[a+1076>>2]=b[e>>2],b[a+2156>>2]=b[e+4>>2],b[a+3236>>2]=b[e+8>>2],b[a+4316>>2]=b[e+12>>2],b[a+5396>>2]=b[e+16>>2],b[a+6476>>2]=b[e+20>>2],b[a+7556>>2]=b[e+24>>2],b[a+8636>>2]=b[e+28>>2],a=a+8640|0,e=e+32|0,(0|l)!=(0|(i=i+8|0)););if(!g)break A}for(i=0;b[a+1076>>2]=b[e>>2],a=a+1080|0,e=e+4|0,(0|g)!=(0|(i=i+1|0)););}hf(k)}}if(a=1,!((o=o+1|0)>>>0<G[r+8>>2]))break}else a=1}else a=0,xf(i,2,4259,0);else xf(i,1,4259,0);return z=r+16|0,0|a},function(f,A,e){QA(f|=0,A|=0,e|=0,2)},function(f,A,e){QA(f|=0,A|=0,e|=0,4)},function(f,A,e){f|=0,A|=0;var i,r=0;if(z=i=z-16|0,e|=0)for(;XA(f,i+12|0),t[A>>2]=t[i+12>>2],A=A+4|0,f=f+4|0,(0|(r=r+1|0))!=(0|e););z=i+16|0},function(f,A,e){f|=0,A|=0;var i,r=0;if(z=i=z-16|0,e|=0)for(;wA(f,i+8|0),t[A>>2]=C[i+8>>3],A=A+4|0,f=f+8|0,(0|(r=r+1|0))!=(0|e););z=i+16|0},function(f,A,e){WA(f|=0,A|=0,e|=0,2)},function(f,A,e){WA(f|=0,A|=0,e|=0,4)},function(f,A,e){f|=0,A|=0,e|=0;var i,r=Z(0),a=0,k=0;if(z=i=z-16|0,e)for(;XA(f,i+12|0),r=t[i+12>>2],a=Z(Q(r))<Z(2147483648)?~~r:-2147483648,b[A>>2]=a,A=A+4|0,f=f+4|0,(0|(k=k+1|0))!=(0|e););z=i+16|0},function(f,A,e){f|=0,A|=0;var i,r=0,a=0,k=0;if(z=i=z-16|0,e|=0)for(;wA(f,i+8|0),r=C[i+8>>3],a=Q(r)<2147483647?~~r:-2147483648,b[A>>2]=a,A=A+4|0,f=f+8|0,(0|(k=k+1|0))!=(0|e););z=i+16|0},function(f,A,e){f|=0,A|=0,e|=0;var i,r=0,a=0,B=0,o=0,g=0,l=0,c=0,n=0,I=0,s=0;z=i=z-112|0,l=1024;f:{A:{if(o=DA(1,1024)){for(n=i+92|0,c=i+108|0;;){e:{i:{r:if(8==(0|Zf(A,r=i+104|0,8,e))){eA(r,i+88|0,4),eA(c,n,4),a=8;a:{b:{k:{B:switch(b[i+88>>2]){case 0:if(r=VA(A),B=(0|(B=T))<0?1:r>>>0<4294967288&(0|B)<=0)break k;xf(e,1,8449,0);break r;case 1:break B;default:break a}if(8!=(0|Zf(A,r=i+104|0,8,e)))break r;if(eA(r,i+100|0,4),!b[i+100>>2])break b;xf(e,1,8449,0);break r}b[i+88>>2]=r+8;break a}eA(c,i+88|0,4),a=16}if(1785737827==(0|(r=b[i+92>>2]))){if(4&(A=b[f+100>>2])){b[f+100>>2]=8|A;break r}xf(e,1,5702,0),hf(o),f=0;break f}if(!(g=b[i+88>>2])){xf(e,1,3268,0),hf(o),f=0;break f}if(a>>>0>g>>>0){b[i+4>>2]=r,b[i>>2]=g,xf(e,1,13933,i);break A}a:{b:{k:{B:{o:{g:{l:{c:{n:{I:{if((0|r)<=1668246641){if(1651532643==(0|r))break n;if(1667523942==(0|r))break l;if(1668112752!=(0|r))break I;B=25296;break o}if((0|r)<=1783635999){if(1668246642==(0|r))break g;if(B=25264,1768449138==(0|r))break o;if(1718909296!=(0|r))break I;B=25240;break k}if(1885564018==(0|r))break c;if(1783636e3==(0|r))break B;if(B=25248,1785737832==(0|r))break k}if(1&(r=b[f+100>>2]))break a;xf(e,1,2062,0),hf(o),f=0;break f}B=25280;break o}B=25288;break o}B=25304;break o}B=25272}if(b[i+76>>2]=255&r,b[i+64>>2]=r>>>24,b[i+72>>2]=r>>>8&255,b[i+68>>2]=r>>>16&255,xf(e,2,2011,i- -64|0),a=g-a|0,4&k[f+100|0])break b;if(r=b[i+92>>2],b[i+48>>2]=r>>>24,b[i+60>>2]=255&r,b[i+52>>2]=r>>>16&255,b[i+56>>2]=r>>>8&255,xf(e,2,6771,i+48|0),b[f+100>>2]=2147483647|b[f+100>>2],r=$A(A,a,e),!T&(0|r)==(0|a))continue;xf(e,1,3748,0),hf(o),f=0;break f}B=25232}a=g-a|0}if(r=a,a=VA(A),a=(0|(g=T))<0?1:(0|g)<=0&r>>>0>a>>>0){a=b[i+88>>2],f=b[i+92>>2],I=i,s=VA(A),b[I+40>>2]=s,b[i+36>>2]=r,b[i+32>>2]=255&f,b[i+20>>2]=f>>>24,b[i+16>>2]=a,b[i+28>>2]=f>>>8&255,b[i+24>>2]=f>>>16&255,xf(e,1,15680,i+16|0);break A}if(r>>>0<=l>>>0){a=o;break e}if(l=r,a=Cf(o,r))break e;hf(o),xf(e,1,2193,0),f=0;break f}if(!(2&r)){xf(e,1,2132,0),hf(o),f=0;break f}if(b[f+100>>2]=2147483647|r,a=$A(A,r=g-a|0,e),!T&(0|r)==(0|a))continue;if(!(8&k[f+100|0]))break i;xf(e,2,3748,0)}hf(o),f=1;break f}xf(e,1,3748,0),hf(o),f=0;break f}if((0|Zf(A,a,r,e))!=(0|r)){xf(e,1,3798,0),hf(a),f=0;break f}if(o=a,!(0|Qe[b[B+4>>2]](f,a,r,e)))break}hf(a),f=0;break f}xf(e,1,4923,0),f=0;break f}hf(o),f=0}return z=i+112|0,0|f},function(f,A,e,i){var r;return A|=0,e|=0,i|=0,z=r=z-16|0,b[(f|=0)+100>>2]?(xf(i,1,11302,0),f=0):4==(0|e)?(eA(A,r+12|0,4),218793738==b[r+12>>2]?(b[f+100>>2]=1|b[f+100>>2],f=1):(xf(i,1,5007,0),f=0)):(xf(i,1,5991,0),f=0),z=r+16|0,0|f},function(f,A,e,i){A|=0,e|=0,i|=0;var r=0;if(1!=b[(f|=0)+100>>2])return xf(i,1,11401,0),0;if(!(e>>>0<=7||(eA(A,f+56|0,4),eA(A+4|0,f+60|0,4),3&e))){if(r=(e=e-8|0)>>>2|0,b[f+64>>2]=r,e){if(e=DA(r,4),b[f+68>>2]=e,!e)return xf(i,1,2235,0),0;if(b[f+64>>2])for(i=A+8|0,e=0;eA(i,b[f+68>>2]+(e<<2)|0,4),i=i+4|0,(e=e+1|0)>>>0<G[f+64>>2];);}return b[f+100>>2]=2|b[f+100>>2],1}return xf(i,1,5955,0),0},function(f,A,e,r){A|=0,e|=0,r|=0;var a,B=0,o=0,g=0,l=0,c=0,n=0;z=a=z-16|0;f:if(2&k[(f|=0)+100|0]){b[f+104>>2]=0;A:{e:{i:{if(e){for(;;){if(e>>>0<=7){xf(r,1,3403,0);break A}eA(A,g=a+12|0,4),B=b[a+12>>2],eA(A+4|0,g,4),o=8,g=b[a+12>>2];r:{a:{b:switch(0|B){case 1:if(e>>>0<16){B=3443;break e}if(eA(A+8|0,a+8|0,4),b[a+8>>2]){B=8449;break e}if(eA(A+12|0,a+12|0,4),B=b[a+12>>2])break a;B=3268;break e;case 0:break b;default:break r}xf(r,1,3268,0);break A}o=16}if(B>>>0<o>>>0){xf(r,1,9148,0);break A}if(e>>>0<B>>>0){xf(r,1,9076,0),f=0;break f}r:{a:{c=A+o|0,n=B-o|0;b:{k:{B:{o:{if((0|g)<=1668246641){if(1651532643==(0|g))break o;if(1667523942==(0|g))break k;if(1668112752!=(0|g))break a;o=25296;break b}if(1885564018==(0|g))break B;if(o=25264,1768449138==(0|g))break b;if(1668246642!=(0|g))break a;o=25272;break b}o=25280;break b}o=25288;break b}o=25304}if(0|Qe[b[o+4>>2]](f,c,n,r))break r;f=0;break f}b[f+104>>2]=2147483647|b[f+104>>2]}if(l=1768449138==(0|g)?1:l,A=A+B|0,!(e=e-B|0))break}if(l)break i}xf(r,1,8976,0),f=0;break f}i[f+132|0]=1,b[f+100>>2]=4|b[f+100>>2],f=1;break f}xf(r,1,B,0)}xf(r,1,1968,0),f=0}else xf(r,1,11356,0),f=0;return z=a+16|0,0|f},function(f,A,e,r){A|=0,e|=0,r|=0;var a,B=0,o=0;z=a=z-32|0;f:if(b[(f|=0)+72>>2])xf(r,2,7015,0),e=1;else if(14==(0|e)){eA(A,f+16|0,4),eA(A+4|0,f+12|0,4),eA(A+8|0,f+20|0,2),B=b[f+12>>2];A:{if(o=b[f+16>>2],e=b[f+20>>2],o&&(e=b[f+20>>2],B)){if(e)break A;e=0}b[a+8>>2]=e,b[a+4>>2]=o,b[a>>2]=B,xf(r,1,14289,a),e=0;break f}e>>>0>=16385?(e=0,xf(r,1,14203,0)):(e=DA(e,12),b[f+72>>2]=e,e?(e=1,eA(A+10|0,f+24|0,1),eA(A+11|0,f+28|0,1),7!=(0|(B=b[f+28>>2]))&&(b[a+16>>2]=B,xf(r,4,16272,a+16|0)),eA(A+12|0,f+32|0,1),eA(A+13|0,f+36|0,1),A=b[f>>2],i[A+212|0]=251&k[A+212|0]|(255==b[f+24>>2]?4:0),A=b[f>>2],b[A+240>>2]=b[f+12>>2],b[A+244>>2]=b[f+16>>2],i[f+133|0]=1):(e=0,xf(r,1,14240,0)))}else e=0,xf(r,1,14445,0);return z=a+32|0,0|e},function(f,A,e,r){f|=0,A|=0,r|=0;var a,B=0,o=0,g=0,l=0,c=0;z=a=z-80|0;f:if((e|=0)>>>0<=2)xf(r,1,14478,0);else if(k[f+124|0])xf(r,4,11193,0),o=1;else{o=1,eA(A,f+40|0,1),eA(A+1|0,f+52|0,1),eA(A+2|0,f+44|0,1),B=A+3|0;A:{e:{i:{r:{a:switch((g=b[f+40>>2])-1|0){case 0:break a;case 1:break r;default:break i}if(e>>>0<=6){b[a+16>>2]=e,xf(r,1,15155,a+16|0),o=0;break f}if(7==(0|e)|14==b[f+48>>2]||(b[a+48>>2]=e,xf(r,2,15155,a+48|0)),eA(B,f+48|0,4),14!=b[f+48>>2])break A;if(!(B=ke(36))){o=0,xf(r,1,7993,0);break f}b[B>>2]=14,b[a+64>>2]=0,b[a+56>>2]=0,b[a+72>>2]=0,b[a+60>>2]=0,b[a+68>>2]=0,b[a+76>>2]=0,o=4470064,b[a+52>>2]=4470064,b[B+4>>2]=1145390592;a:{if(7!=(0|e)){if(35==(0|e)){eA(A+7|0,a+76|0,4),eA(A+11|0,a+72|0,4),eA(A+15|0,a+68|0,4),eA(A+19|0,a- -64|0,4),eA(A+23|0,a+60|0,4),eA(A+27|0,a+56|0,4),eA(A+31|0,a+52|0,4),b[B+4>>2]=0,o=b[a+52>>2],e=b[a+56>>2],r=b[a+64>>2],l=b[a+68>>2],c=b[a+76>>2],g=b[a+72>>2],A=b[a+60>>2];break a}b[a+32>>2]=e,xf(r,2,15191,a+32|0)}e=0,r=0,g=0,A=0}b[B+24>>2]=A,b[B+16>>2]=l,b[B+8>>2]=c,b[B+32>>2]=o,b[B+28>>2]=e,b[B+20>>2]=r,b[B+12>>2]=g,b[f+112>>2]=0,b[f+108>>2]=B;break A}if(A=e-3|0,b[f+112>>2]=A,r=DA(1,A),b[f+108>>2]=r,!r)break e;if((0|e)<=3)break A;for(e=0;eA(B,a+76|0,1),i[b[f+108>>2]+e|0]=b[a+76>>2],B=B+1|0,(0|A)!=(0|(e=e+1|0)););break A}if(g>>>0<3)break f;b[a>>2]=g,xf(r,4,15950,a);break f}o=0,b[f+112>>2]=0;break f}o=1,i[f+124|0]=1}return z=a+80|0,0|o},function(f,A,e,i){A|=0,e|=0,i|=0;var r,a=0;z=r=z-16|0,255!=(0|(a=b[(f|=0)+24>>2]))&&(b[r>>2]=a,xf(i,2,2678,r));f:{A:{if(b[f+20>>2]==(0|e)){if(e)break A;a=1;break f}a=0,xf(i,1,14510,0);break f}for(e=0;a=1,eA(A,8+(b[f+72>>2]+u(e,12)|0)|0,1),A=A+1|0,(e=e+1|0)>>>0<G[f+20>>2];);}return z=r+16|0,0|a},function(f,A,e,r){A|=0,e|=0,r|=0;var B,o=0,g=0,l=0,c=0,n=0,I=0,G=0,t=0;z=B=z-16|0;f:if(!(b[(f|=0)+120>>2]|e>>>0<3))if(eA(A,B+12|0,2),(I=s[B+12>>1])-1025>>>0<=4294966271)b[B>>2]=I,xf(r,1,3526,B);else if(eA(A+2|0,B+12|0,1),c=s[B+12>>1]){if(!(c+3>>>0>e>>>0)&&(l=ke(u(c,I)<<2)))if(n=ke(c))if(G=ke(c))if(g=ke(20)){for(r=A+3|0,b[g+8>>2]=n,b[g+4>>2]=G,a[g+16>>1]=I,b[g>>2]=l,t=b[B+12>>2],b[g+12>>2]=0,i[g+18|0]=t,b[f+120>>2]=g;eA(r,B+12|0,1),i[o+n|0]=1+(127&k[B+12|0]),i[o+G|0]=(128&b[B+12>>2])>>>7,r=r+1|0,(0|c)!=(0|(o=o+1|0)););for(g=0;;){for(o=0,f=0;;){if(((o=(o=k[o+n|0]+7>>>3|0)>>>0>=4?4:o)+(r-A|0)|0)>(0|e)){o=0;break f}if(eA(r,B+12|0,o),b[l>>2]=b[B+12>>2],l=l+4|0,r=r+o|0,!(c>>>0>(o=65535&(f=f+1|0))>>>0))break}if(o=1,!((65535&(g=g+1|0))>>>0<I>>>0))break}}else hf(l),hf(n),hf(G);else hf(l),hf(n);else hf(l)}else xf(r,1,3174,0);return z=B+16|0,0|o},function(f,A,e,r){A|=0,e|=0,r|=0;var B,o=0,g=0,l=0;if(z=B=z-16|0,o=b[(f|=0)+120>>2]){if(b[o+12>>2])xf(r,1,11598,0),e=0;else if((g=(o=k[o+18|0])<<2)>>>0>e>>>0)xf(r,1,8803,0),e=0;else if(e=0,g=ke(g)){if(o)for(r=0;eA(A,e=B+12|0,2),a[(l=g+(r<<2)|0)>>1]=b[B+12>>2],eA(A+2|0,e,1),i[l+2|0]=b[B+12>>2],eA(A+3|0,e,1),i[l+3|0]=b[B+12>>2],A=A+4|0,(0|o)!=(0|(r=r+1|0)););b[b[f+120>>2]+12>>2]=g,e=1}}else xf(r,1,8836,0),e=0;return z=B+16|0,0|e},function(f,A,e,i){A|=0,e|=0,i|=0;var r,k=0,B=0,o=0;if(z=r=z-16|0,!b[(f|=0)+116>>2])if(e>>>0<=1)xf(i,1,8882,0);else if(eA(A,r+12|0,2),o=65535&(k=b[r+12>>2])){if(u(o,6)+2>>>0>e>>>0)xf(i,1,8882,0);else if(i=ke(u(k,6)))if(e=ke(8),b[f+116>>2]=e,e)if(b[e>>2]=i,k=e,e=s[r+12>>1],a[k+4>>1]=e,e)for(e=0;eA(A+2|0,B=r+12|0,2),k=i+u(e,6)|0,a[k>>1]=b[r+12>>2],eA(A+4|0,B,2),a[k+2>>1]=b[r+12>>2],eA(A=A+6|0,B,2),a[k+4>>1]=b[r+12>>2],B=1,(e=e+1|0)>>>0<s[b[f+116>>2]+4>>1];);else B=1;else hf(i)}else xf(i,1,8915,0);return z=r+16|0,0|B},function(f,A,e){f|=0,A|=0;var i,r=0;return(0|(i=b[(e|=0)+4>>2]))==(0|(r=b[e>>2]+b[e+8>>2]|0))?-1:((A=A>>>0>(r=r-i|0)>>>0?r:A)&&n(f,i,A),b[e+4>>2]=A+b[e+4>>2],0|A)},function(f,A,e){f|=0,A|=0;var i,r=0,a=0,k=0,B=0;for(r=(a=b[(e|=0)+8>>2])>>>0<=1?1:a,i=(k=b[e+4>>2])-b[e>>2]|0;B=r,r<<=1,B-i>>>0<A>>>0;);if((0|a)!=(0|B)){if(!(r=ke(B)))return-1;(a=b[e>>2])&&(i&&n(r,a,i),hf(b[e>>2])),b[e+8>>2]=B,b[e>>2]=r,k=r+i|0,b[e+4>>2]=k}return A&&n(k,f,A),b[e+4>>2]=b[e+4>>2]+A,0|A},function(f,A,e){f|=0,A|=0;var i,r=0,a=0;return(0|(r=b[(e|=0)+4>>2]))==(0|(a=b[e>>2]+b[e+8>>2]|0))?(T=-1,-1):(b[e+4>>2]=f+r,i=f,r=e=a-r|0,T=(e=(a=f>>>0<e>>>0)&(0|(f=e>>31))>=(0|A)|(0|f)>(0|A))?A:f,0|(r=e?i:r))},function(f,A,e){return f|=0,A|=0,A=b[(e|=0)+8>>2],b[e+4>>2]=b[e>>2]+(f>>>0>A>>>0?A:f),1},ue,ue,af,re,ef,dA,mA,gf,mf,ne,Df,Lf,TA,SA,L,O,ue,ue,function(f,A,e){A|=0,e|=0,af(b[(f|=0)>>2],A,e)},function(f,A,e){A|=0,e|=0;var i=0,r=0,a=0,k=0,B=0,o=0,g=0,l=0;f:if(bA(b[(f|=0)+8>>2],54,e)){if(B=b[f+8>>2],i=b[B>>2],a=b[B+8>>2],i){r=1;A:{if(1!=(0|i)){for(g=1&i,i&=-2;k=0,r&&(k=0,0|Qe[b[a>>2]](f,A,e)&&(k=!!(0|Qe[b[a+4>>2]](f,A,e)))),r=k,a=a+8|0,(0|i)!=(0|(o=o+2|0)););if(!g)break A}r?r=!!(0|Qe[b[a>>2]](f,A,e)):r=0}if(Ze(B),!r)break f}else Ze(B);l=1}return 0|l},function(f,A,e,r){A|=0,r|=0;var B,o,g,l,c=0,n=0,I=0,G=0,t=0,C=0,Z=0,Q=0,W=0,w=0,V=0,H=0,Y=0;if(!(e|=0))return 0;if(!ef(b[(f|=0)>>2],A,e,r))return xf(r,1,6210,0),0;g=e,o=r,z=B=z-240|0,w=1,l=f;f:if(!(b[b[f>>2]+60>>2]|b[f+128>>2])){A:{if(e=b[f+116>>2]){if(A=b[g+16>>2],!(f=b[l+120>>2])|!b[f+12>>2]||(A=k[f+18|0]),r=s[e+4>>1]){for(e=b[e>>2];;){if(n=e+u(c,6)|0,(I=s[n>>1])>>>0>=A>>>0){b[B+180>>2]=A,b[B+176>>2]=I,xf(o,1,13715,B+176|0),w=0;break f}if(!(((n=s[n+4>>1])+1&65535)>>>0<2||(n=n-1|0)>>>0<A>>>0)){b[B+164>>2]=A,b[B+160>>2]=n,xf(o,1,13715,B+160|0),w=0;break f}if((0|r)==(0|(c=c+1|0)))break}for(;;){for(A=A-1|0,c=0;;){if(s[e+u(c,6)>>1]!=(0|A)){if((0|r)!=(0|(c=c+1|0)))continue;break A}break}if(!A)break}}else if(A)break A}else f=b[f+120>>2];if(f&&(e=b[f+12>>2])){e:{i:{if(A=k[f+18|0]){for(c=0,I=1;(f=b[g+16>>2])>>>0<=(r=s[e+(c<<2)>>1])>>>0&&(b[B+148>>2]=f,b[B+144>>2]=r,xf(o,1,13715,B+144|0),I=0),(0|A)!=(0|(c=c+1|0)););if(!(f=DA(A,4)))break i;for(c=0;(n=k[(r=e+(c<<2)|0)+2|0])>>>0>=2?(b[B+68>>2]=n,b[B+64>>2]=c,xf(o,1,12094,B- -64|0),I=0):(r=k[r+3|0])>>>0>=A>>>0?(b[B+128>>2]=r,xf(o,1,12038,B+128|0),I=0):(t=1!=(0|n))|!b[(G=(r<<2)+f|0)>>2]?n|!r?t|(0|r)==(0|c)?b[G>>2]=1:(b[B+120>>2]=r,b[B+116>>2]=c,b[B+112>>2]=c,xf(o,1,11937,B+112|0),I=0):(b[B+100>>2]=r,b[B+96>>2]=c,xf(o,1,11901,B+96|0),I=0):(b[B+80>>2]=r,xf(o,1,11527,B+80|0),I=0),(0|A)!=(0|(c=c+1|0)););for(I=!I,c=0;;){r:{if(!k[2+(e+(r=c<<2)|0)|0]||b[r+f>>2]){if((0|A)!=(0|(c=c+1|0)))continue;if(1&I)break r;if(1!=b[g+16>>2])break e;for(c=0;;){if(b[(c<<2)+f>>2]){if((0|A)!=(0|(c=c+1|0)))continue;break e}break}if(r=0,xf(o,2,9253,0),n=3&A,c=0,A>>>0>=4){for(I=252&A,A=0;i[(t=e+(c<<2)|0)+3|0]=c,i[t+2|0]=1,i[(G=e+((t=1|c)<<2)|0)+3|0]=t,i[G+2|0]=1,i[(G=e+((t=2|c)<<2)|0)+3|0]=t,i[G+2|0]=1,i[(G=e+((t=3|c)<<2)|0)+3|0]=t,i[G+2|0]=1,c=c+4|0,(0|I)!=(0|(A=A+4|0)););if(!n)break e}for(;i[(A=e+(c<<2)|0)+3|0]=c,i[A+2|0]=1,c=c+1|0,(0|n)!=(0|(r=r+1|0)););break e}if(b[B+48>>2]=c,I=1,xf(o,1,11101,B+48|0),(0|A)!=(0|(c=c+1|0)))continue}break}hf(f),w=0;break f}if(f=DA(A,4))break e}w=0,xf(o,1,12285,0);break f}hf(f)}if(f=b[l+120>>2])if(Z=b[f+12>>2]){t=b[g+24>>2];e:{i:{if(e=k[f+18|0]){Y=b[f>>2],I=b[f+4>>2],G=b[f+8>>2],c=0;r:{for(;;){if(b[44+(t+u(s[Z+(c<<2)>>1],52)|0)>>2]){if((0|e)!=(0|(c=c+1|0)))continue;break r}break}b[B+32>>2]=c,xf(o,1,13877,B+32|0),w=0;break f}if(!(n=ke(u(e,52))))break i;for(r=0;;){if(c=s[(f=Z+(r<<2)|0)>>1],A=u(k[f+2|0]?k[f+3|0]:r,52)+n|0,f=t+u(c,52)|0,b[A+48>>2]=b[f+48>>2],c=b[f+44>>2],b[A+40>>2]=b[f+40>>2],b[A+44>>2]=c,c=b[f+36>>2],b[A+32>>2]=b[f+32>>2],b[A+36>>2]=c,c=b[f+28>>2],b[A+24>>2]=b[f+24>>2],b[A+28>>2]=c,c=b[f+20>>2],b[A+16>>2]=b[f+16>>2],b[A+20>>2]=c,c=b[f+12>>2],b[A+8>>2]=b[f+8>>2],b[A+12>>2]=c,c=b[f+4>>2],b[A>>2]=b[f>>2],b[A+4>>2]=c,A=u(r,52)+n|0,f=se(u(b[f+8>>2],b[f+12>>2])<<2),b[A+44>>2]=f,!f){if(r)for(f=65535&r;hf(b[(u(f,52)+n|0)-8>>2]),f=f-1|0;);hf(n),w=0,xf(o,1,13825,0);break f}if(b[A+24>>2]=k[r+G|0],b[A+32>>2]=k[r+I|0],(0|e)==(0|(r=r+1|0)))break}for(I=s[b[l+120>>2]+16>>1]-1|0;;){f=u(W,52)+n|0,r=u(b[f+12>>2],b[f+8>>2]),c=b[44+(t+u(s[(A=Z+(W<<2)|0)>>1],52)|0)>>2];r:if(k[A+2|0]){if(r){if(f=((A=k[A+3|0])<<2)+Y|0,G=b[44+(u(A,52)+n|0)>>2],A=0,1!=(0|r)){for(H=1&r,V=-2&r,r=0;Q=b[(C=A<<2)+c>>2],b[G+C>>2]=b[f+(u(e,(0|Q)>=0?(0|I)>(0|Q)?Q:I:0)<<2)>>2],Q=b[(C|=4)+c>>2],b[G+C>>2]=b[f+(u(e,(0|Q)>=0?(0|I)>(0|Q)?Q:I:0)<<2)>>2],A=A+2|0,(0|V)!=(0|(r=r+2|0)););if(!H)break r}A=b[(r=A<<2)+c>>2],b[r+G>>2]=b[f+(u(e,(0|A)>=0?(0|A)<(0|I)?A:I:0)<<2)>>2]}}else{if(!r)break r;if(G=b[f+44>>2],Q=3&r,f=0,A=0,r>>>0>=4){for(H=-4&r,C=0;b[(r=A<<2)+G>>2]=b[r+c>>2],b[(V=4|r)+G>>2]=b[c+V>>2],b[(V=8|r)+G>>2]=b[c+V>>2],b[(r|=12)+G>>2]=b[r+c>>2],A=A+4|0,(0|H)!=(0|(C=C+4|0)););if(!Q)break r}for(;b[(r=A<<2)+G>>2]=b[r+c>>2],A=A+1|0,(0|Q)!=(0|(f=f+1|0)););}if((0|e)==(0|(W=W+1|0)))break}break e}if(n=ke(u(e,52)))break e}w=0,xf(o,1,13825,0);break f}if(f=b[g+16>>2])for(c=0;(A=b[44+(t+u(c,52)|0)>>2])&&hf(A),(0|f)!=(0|(c=c+1|0)););hf(t),b[g+16>>2]=e,b[g+24>>2]=n}else hf(b[f+4>>2]),hf(b[b[l+120>>2]+8>>2]),hf(b[b[l+120>>2]>>2]),f=b[l+120>>2],(A=b[f+12>>2])&&(hf(A),f=b[l+120>>2]),hf(f),b[l+120>>2]=0;if(!(c=b[l+116>>2]))break f;if(I=b[c>>2],G=s[c+4>>1]){for(c=0,Q=G-2&65535,r=1;;){if(f=b[g+16>>2],W=u(c,6)+I|0,f>>>0<=(A=s[W>>1])>>>0)b[B+20>>2]=f,b[B+16>>2]=A,xf(o,2,7334,B+16|0);else if(((e=s[W+4>>1])+1&65535)>>>0<=1)a[48+(b[g+24>>2]+u(A,52)|0)>>1]=s[W+2>>1];else if((t=65535&(e=e-1|0))>>>0>=f>>>0)b[B+4>>2]=f,b[B>>2]=t,xf(o,2,7293,B);else{if(!(s[W+2>>1]|(0|A)==(0|t)||(f=(n=b[g+24>>2])+u(A,52)|0,b[B+232>>2]=b[f+48>>2],Z=b[f+44>>2],b[B+224>>2]=b[f+40>>2],b[B+228>>2]=Z,Z=b[f+36>>2],b[B+216>>2]=b[f+32>>2],b[B+220>>2]=Z,Z=b[f+28>>2],b[B+208>>2]=b[f+24>>2],b[B+212>>2]=Z,Z=b[f+20>>2],b[B+200>>2]=b[f+16>>2],b[B+204>>2]=Z,Z=b[f+12>>2],b[B+192>>2]=b[f+8>>2],b[B+196>>2]=Z,Z=b[f+4>>2],b[B+184>>2]=b[f>>2],b[B+188>>2]=Z,n=(Z=u(t,52))+n|0,b[f+48>>2]=b[n+48>>2],C=b[n+44>>2],b[f+40>>2]=b[n+40>>2],b[f+44>>2]=C,C=b[n+36>>2],b[f+32>>2]=b[n+32>>2],b[f+36>>2]=C,C=b[n+28>>2],b[f+24>>2]=b[n+24>>2],b[f+28>>2]=C,C=b[n+20>>2],b[f+16>>2]=b[n+16>>2],b[f+20>>2]=C,C=b[n+12>>2],b[f+8>>2]=b[n+8>>2],b[f+12>>2]=C,C=b[n+4>>2],b[f>>2]=b[n>>2],b[f+4>>2]=C,f=Z+b[g+24>>2]|0,b[f+48>>2]=b[B+232>>2],n=b[B+228>>2],b[f+40>>2]=b[B+224>>2],b[f+44>>2]=n,n=b[B+220>>2],b[f+32>>2]=b[B+216>>2],b[f+36>>2]=n,n=b[B+212>>2],b[f+24>>2]=b[B+208>>2],b[f+28>>2]=n,n=b[B+204>>2],b[f+16>>2]=b[B+200>>2],b[f+20>>2]=n,n=b[B+196>>2],b[f+8>>2]=b[B+192>>2],b[f+12>>2]=n,n=b[B+188>>2],b[f>>2]=b[B+184>>2],b[f+4>>2]=n,G>>>0<=c+1>>>0||(n=r,c-G&1||(f=e,n=u(r,6)+I|0,(0|(Z=s[n>>1]))!=(0|A)&&(f=A,(0|Z)!=(0|t))||(a[n>>1]=f),n=r+1|0),(0|Q)==(65535&c)))))for(;f=e,Z=u(n,6)+I|0,(0|(C=s[Z>>1]))!=(0|A)&&(f=A,(0|C)!=(0|t))||(a[Z>>1]=f),f=e,(0|(C=s[Z+6>>1]))!=(0|A)&&(f=A,(0|C)!=(0|t))||(a[Z+6>>1]=f),(0|G)!=(65535&(n=n+2|0)););a[48+(b[g+24>>2]+u(A,52)|0)>>1]=s[W+2>>1]}if(r=r+1|0,(0|G)==(0|(c=c+1|0)))break}c=b[l+116>>2],I=b[c>>2]}I&&(hf(I),c=b[l+116>>2]),hf(c),b[l+116>>2]=0;break f}w=0,xf(o,1,9499,0)}return z=B+240|0,0|w},ne,function(f,A,e,i){return A|=0,e|=0,i|=0,0|Df(b[(f|=0)>>2],A,e,i)},function(f,A,e){return A|=0,e|=0,0|Lf(b[(f|=0)>>2],A,e)},TA,SA,function(f,A){A|=0,dA(b[(f|=0)>>2],A)},function(f,A){A|=0,mA(b[(f|=0)>>2],A),i[f+124|0]=0,b[f+128>>2]=1&b[A+8248>>2]},Mf,function(f,A,e,i,r,a){I()},function(f,A,e,i,r,a,b,k,B,o,g){I()},function(f,A,e,i){f|=0,e|=0,i|=0;var r=0,a=0,B=0,o=0,g=0,l=0,c=0,n=0;f:if(bA(b[(A|=0)+8>>2],54,i)){g=b[A+4>>2],a=b[g>>2],r=b[g+8>>2];A:{if(a){B=1;e:{if(1!=(0|a)){for(c=1&a,a&=-2;o=0,B&&(o=0,0|Qe[b[r>>2]](A,f,i)&&(o=!!(0|Qe[b[r+4>>2]](A,f,i)))),B=o,r=r+8|0,(0|a)!=(0|(l=l+2|0)););if(!c)break e}B?B=!!(0|Qe[b[r>>2]](A,f,i)):B=0}if(Ze(g),B)break A;break f}Ze(g)}if(g=b[A+8>>2],a=b[g>>2],r=b[g+8>>2],a){B=1;A:{if(1!=(0|a)){for(c=1&a,a&=-2,l=0;o=0,B&&(o=0,0|Qe[b[r>>2]](A,f,i)&&(o=!!(0|Qe[b[r+4>>2]](A,f,i)))),B=o,r=r+8|0,(0|a)!=(0|(l=l+2|0)););if(!c)break A}B?B=!!(0|Qe[b[r>>2]](A,f,i)):B=0}if(Ze(g),!B)break f}else Ze(g);if(!k[A+132|0])return xf(i,1,11696,0),0;if(!k[A+133|0])return xf(i,1,11667,0),0;if(!(!e|!(n=mf(f,b[A>>2],e,i)))&&(f=b[e>>2])){r=1;A:{e:switch(b[A+48>>2]-12|0){case 5:r=2;break A;case 6:r=3;break A;case 12:r=4;break A;case 0:r=5;break A;case 4:break A;default:break e}r=-1}b[f+20>>2]=r,(e=b[A+108>>2])&&(b[f+28>>2]=e,b[f+32>>2]=b[A+112>>2],b[A+108>>2]=0)}}return 0|n},te,function(f,A){E(0|(f|=0))},function(f,A){F(0|(f|=0))},function(f,A,e,r,a,o){f|=0,A=+A,e|=0,r|=0,a|=0,o|=0;var g,c=0,n=0,I=0,s=0,G=0,t=0,C=0,Z=0,W=0,w=0,V=0,H=0,Y=0,v=0,F=0,m=0,E=0,y=0,d=0,R=0;z=g=z-560|0,b[g+44>>2]=0,l(+A),I=0|B(1),B(0),(0|I)<0?(V=1,m=1082,l(+(A=-A)),I=0|B(1),B(0)):2048&a?(V=1,m=1085):(m=(V=1&a)?1088:1083,y=!V);f:if(2146435072&~I){v=g+16|0;A:{e:{i:{if(A=gA(A,g+44|0),0!=(A+=A)){if(c=b[g+44>>2],b[g+44>>2]=c-1,97!=(0|(H=32|o)))break i;break A}if(97==(0|(H=32|o)))break A;C=b[g+44>>2];break e}C=c-29|0,b[g+44>>2]=C,A*=268435456}for(G=(0|r)<0?6:r,n=W=(g+48|0)+((0|C)>=0?288:0)|0;r=A<4294967295&A>=0?~~A>>>0:0,b[n>>2]=r,n=n+4|0,0!=(A=1e9*(A-+(r>>>0))););if((0|C)<=0)I=C,c=n,s=W;else for(s=W,I=C;;){if(E=I>>>0>=29?29:I,!(s>>>0>(c=n-4|0)>>>0)){for(r=0,I=0;F=b[c>>2],Z=31&E,(63&E)>>>0>=32?(t=F<<Z,F=0):(t=(1<<Z)-1&F>>>32-Z,F<<=Z),I=I+t|0,d=c,R=(Z=F+r|0)+tA(r=be(Z,t=r>>>0>Z>>>0?I+1|0:I,1e9,0),I=T,-1e9)|0,b[d>>2]=R,s>>>0<=(c=c-4|0)>>>0;);!t&Z>>>0<1e9||(b[(s=s-4|0)>>2]=r)}for(;s>>>0<(c=n)>>>0&&!b[(n=c-4|0)>>2];);if(I=b[g+44>>2]-E|0,b[g+44>>2]=I,n=c,!((0|I)>0))break}if((0|I)<0)for(Y=1+((G+25>>>0)/9|0)|0,t=102==(0|H);;){if(r=(r=0-I|0)>>>0>=9?9:r,c>>>0<=s>>>0)n=b[s>>2]?0:4;else{for(Z=1e9>>>r|0,E=~(-1<<r),I=0,n=s;F=I,I=b[n>>2],b[n>>2]=F+(I>>>r|0),I=u(Z,I&E),(n=n+4|0)>>>0<c>>>0;);n=b[s>>2]?0:4,I&&(b[c>>2]=I,c=c+4|0)}if(I=r+b[g+44>>2]|0,b[g+44>>2]=I,s=n+s|0,c=c-(r=t?W:s)>>2>(0|Y)?r+(Y<<2)|0:c,!((0|I)<0))break}if(I=0,!(c>>>0<=s>>>0||(I=u(W-s>>2,9),n=10,(r=b[s>>2])>>>0<10)))for(;I=I+1|0,r>>>0>=(n=u(n,10))>>>0;);if((0|(r=(G-(102!=(0|H)?I:0)|0)-(103==(0|H)&!!(0|G))|0))<(u(c-W>>2,9)-9|0)){if(t=(n=(g+48|0)+((0|C)<0?-4092:-3804)|0)+((C=(0|(r=r+9216|0))/9|0)<<2)|0,n=10,(0|(r=r+u(C,-9)|0))<=7)for(;n=u(n,10),8!=(0|(r=r+1|0)););if(C=b[t>>2],!((0|(r=u(Y=(C>>>0)/(n>>>0)|0,n)))==(0|C)&(0|(Z=t+4|0))==(0|c))&&(C=C-r|0,!(1&Y)&&(A=9007199254740992,!(1&i[t-4|0])|1e9!=(0|n)|s>>>0>=t>>>0)||(A=9007199254740994),w=(0|c)==(0|Z)?1:1.5,w=C>>>0<(Z=n>>>1|0)>>>0?.5:(0|Z)==(0|C)?w:1.5,45!=k[0|m]|y||(w=-w,A=-A),b[t>>2]=r,A+w!=A)){if(r=r+n|0,b[t>>2]=r,r>>>0>=1e9)for(;b[t>>2]=0,(t=t-4|0)>>>0<s>>>0&&(b[(s=s-4|0)>>2]=0),r=b[t>>2]+1|0,b[t>>2]=r,r>>>0>999999999;);if(I=u(W-s>>2,9),n=10,!((r=b[s>>2])>>>0<10))for(;I=I+1|0,r>>>0>=(n=u(n,10))>>>0;);}c=(r=t+4|0)>>>0<c>>>0?r:c}for(;n=c,!(C=c>>>0<=s>>>0)&&!b[(c=c-4|0)>>2];);if(103==(0|H)){if(G=((c=(0|(r=G||1))>(0|I)&(0|I)>-5)?-1^I:-1)+r|0,o=(c?-1:-2)+o|0,!(r=8&a)){if(c=-9,!C&&(t=b[n-4>>2])&&(r=10,c=0,!((t>>>0)%10|0))){for(;C=c,c=c+1|0,!((t>>>0)%((r=u(r,10))>>>0)|0););c=-1^C}C=u(n-W>>2,9),70!=(-33&o)?(r=0,G=(0|(c=(0|(c=((I+C|0)+c|0)-9|0))>0?c:0))>(0|G)?G:c):(r=0,G=(0|(c=(0|(c=(c+C|0)-9|0))>0?c:0))>(0|G)?G:c)}}else r=8&a;if(t=-1,(0|((H=r|G)?2147483645:2147483646))<(0|G))break f;if(C=1+(!!(0|H)+G|0)|0,70!=(0|(Z=-33&o))){if((v-(c=kA(((c=I>>31)^I)-c|0,0,v))|0)<=1)for(;i[0|(c=c-1|0)]=48,(v-c|0)<2;);if(i[0|(Y=c-2|0)]=o,i[c-1|0]=(0|I)<0?45:43,(0|(c=v-Y|0))>(2147483647^C))break f}else{if((2147483647^C)<(0|I))break f;c=(0|I)>0?I:0}if((0|(o=c+C|0))>(2147483647^V))break f;GA(f,32,e,o=o+V|0,a),ie(f,m,V),GA(f,48,e,o,65536^a);e:{i:{r:{if(70==(0|Z)){for(r=g+16|9,s=I=s>>>0>W>>>0?W:s;;){c=kA(b[s>>2],0,r);a:if((0|I)==(0|s))(0|r)==(0|c)&&(i[0|(c=c-1|0)]=48);else{if(g+16>>>0>=c>>>0)break a;for(;i[0|(c=c-1|0)]=48,g+16>>>0<c>>>0;);}if(ie(f,c,r-c|0),!(W>>>0>=(s=s+4|0)>>>0))break}if(H&&ie(f,1684,1),(0|G)<=0|n>>>0<=s>>>0)break r;for(;;){if((c=kA(b[s>>2],0,r))>>>0>g+16>>>0)for(;i[0|(c=c-1|0)]=48,g+16>>>0<c>>>0;);if(ie(f,c,(0|G)>=9?9:G),c=G-9|0,n>>>0<=(s=s+4|0)>>>0)break i;if(I=(0|G)>9,G=c,!I)break}break i}a:if(!((0|G)<0))for(W=n>>>0>s>>>0?n:s+4|0,I=g+16|9,n=s;;){(0|I)==(0|(c=kA(b[n>>2],0,I)))&&(i[0|(c=c-1|0)]=48);b:if((0|n)==(0|s))ie(f,c,1),c=c+1|0,r|G&&ie(f,1684,1);else{if(g+16>>>0>=c>>>0)break b;for(;i[0|(c=c-1|0)]=48,g+16>>>0<c>>>0;);}if(ie(f,C=c,(0|(c=I-c|0))<(0|G)?c:G),G=G-c|0,W>>>0<=(n=n+4|0)>>>0)break a;if(!((0|G)>=0))break}GA(f,48,G+18|0,18,0),ie(f,Y,v-Y|0);break e}c=G}GA(f,48,c+9|0,9,0)}GA(f,32,e,o,8192^a),t=(0|e)>(0|o)?e:o;break f}if(s=(o<<26>>31&9)+m|0,!(r>>>0>11)){for(c=12-r|0,w=16;w*=16,c=c-1|0;);A=45!=k[0|s]?A+w-w:-(w+(-A-w))}for((0|v)==(0|(c=kA(((c=(n=b[g+44>>2])>>31)^n)-c|0,0,v)))&&(i[0|(c=c-1|0)]=48,n=b[g+44>>2]),G=32&o,i[0|(I=c-2|0)]=o+15,i[c-1|0]=(0|n)<0?45:43,c=!(8&a)&(0|r)<=0,n=g+16|0;o=n,W=Q(A)<2147483647?~~A:-2147483648,i[0|n]=G|k[W+26048|0],c&0==(A=16*(A-+(0|W)))|1!=((n=n+1|0)-(g+16|0)|0)||(i[o+1|0]=46,n=o+2|0),0!=A;);t=-1,(2147483643-((c=v-I|0)+V|0)|0)<(0|r)||(o=(o=n)-(n=g+16|0)|0,GA(f,32,e,r=(G=r&&(o-2|0)<(0|r)?r+2|0:o)+((W=2|V)+c|0)|0,a),ie(f,s,W),GA(f,48,e,r,65536^a),ie(f,n,o),GA(f,48,G-o|0,0,0),ie(f,I,c),GA(f,32,e,r,8192^a),t=(0|e)>(0|r)?e:r)}else GA(f,32,e,r=V+3|0,-65537&a),ie(f,m,V),o&=32,ie(f,A!=A?o?1207:1435:o?1312:1476,3),GA(f,32,e,r,8192^a),t=(0|e)>(0|r)?e:r;return z=g+560|0,0|t},function(f,A){f|=0;var e,i,r,a,k,B=0,l=0,c=0,n=0,I=0,s=0,G=0,t=0,u=0,Z=0,Q=0;l=A|=0,A=b[A>>2]+7&-8,b[l>>2]=A+16,i=f,n=b[A>>2],f=b[A+4>>2],l=b[A+8>>2],r=B=b[A+12>>2],z=e=z-32|0,A=65535&B,c=B,B=l,I=l=c>>>16&32767,l-15361>>>0<=2045?(A=A<<4|B>>>28,l=B<<4|f>>>28,134217728==(0|(f&=268435455))&!!(0|n)|f>>>0>134217728?(B=A,A=(l=l+1|0)?B:B+1|0):n|134217728!=(0|f)||(A=(f=l)>>>0>(l=l+(1&l)|0)>>>0?A+1|0:A),n=(B=A>>>0>1048575)?0:l,f=B?0:A,A=0,A=(B=B+(c=I-15360|0)|0)>>>0<c>>>0?1:A):!(B|n|f|A)|32767!=(0|l)|!!(0|t)?I>>>0>17406?(n=0,f=0,B=2047,A=0):(0|(t=(u=(c=!(l|t))?15360:15361)-I|0))>112?(n=0,f=0,B=0,A=0):(l=B,A=c?A:65536|A,(0|I)!=(0|u)&&(Z=n,B=f,s=l,c=A,64&(u=128-t|0)?(I=n,B=31&(c=u+-64|0),(63&c)>>>0>=32?(c=n<<B,s=0):(c=(1<<B)-1&I>>>32-B|f<<B,s=I<<B),Z=0,B=0):u&&(Q=s,G=31&u,(63&u)>>>0>=32?(I=s<<G,Q=0):(I=(1<<G)-1&Q>>>32-G|c<<G,Q<<=G),G=Z,s=31&(c=64-u|0),(63&c)>>>0>=32?(c=0,s=B>>>s|0):(c=B>>>s|0,s=((1<<s)-1&B)<<32-s|G>>>s),s|=Q,c|=I,Q=Z,G=31&u,(63&u)>>>0>=32?(I=Z<<G,Z=0):(I=(1<<G)-1&Q>>>32-G|B<<G,Z=Q<<G),B=I),b[e+16>>2]=Z,b[e+20>>2]=B,b[e+24>>2]=s,b[e+28>>2]=c,Z=0!=(b[e+16>>2]|b[e+24>>2]|b[e+20>>2]|b[e+28>>2])),64&t?(B=l,f=31&(n=t+-64|0),(63&n)>>>0>=32?(c=0,n=A>>>f|0):(c=A>>>f|0,n=((1<<f)-1&A)<<32-f|B>>>f),f=c,l=0,A=0):t&&(I=l,c=31&(B=64-t|0),(63&B)>>>0>=32?(B=l<<c,s=0):(B=(1<<c)-1&I>>>32-c|A<<c,s=I<<c),c=n,n=31&t,(63&t)>>>0>=32?(I=0,f=f>>>n|0):(I=f>>>n|0,f=((1<<n)-1&f)<<32-n|c>>>n),n=s|f,f=B|I,c=l,l=31&t,(63&t)>>>0>=32?(B=0,l=A>>>l|0):(B=A>>>l|0,l=((1<<l)-1&A)<<32-l|c>>>l),A=B),b[e>>2]=n,b[e+4>>2]=f,b[e+8>>2]=l,b[e+12>>2]=A,n=(f=b[e+8>>2])<<4|(l=b[e+4>>2])>>>28,f=b[e+12>>2]<<4|f>>>28,134217728==(0|(B=268435455&l))&!!(0|(A=b[e>>2]|Z))|B>>>0>134217728?f=(n=n+1|0)?f:f+1|0:A|134217728!=(0|B)||(A=f,f=(f=n)>>>0>(n=n+(1&n)|0)>>>0?A+1|0:A),f=(B=f>>>0>1048575)?1048576^f:f,A=0):(n=B<<4|f>>>28,f=524288|(c=A<<4|B>>>28),B=2047,A=0),z=e+32|0,o(0,0|n),o(1,f|-2147483648&r|B<<20),a=i,k=+g(),C[a>>3]=k},function(f,A,e){A|=0,e|=0;var r,a,k=0,B=0,o=0;return r=b[(f|=0)+84>>2],B=b[r>>2],k=b[r+4>>2],a=b[f+28>>2],(o=k>>>0<(o=b[f+20>>2]-a|0)>>>0?k:o)&&(ce(B,a,o),B=o+b[r>>2]|0,b[r>>2]=B,k=b[r+4>>2]-o|0,b[r+4>>2]=k),(k=e>>>0>k>>>0?k:e)&&(ce(B,A,k),B=k+b[r>>2]|0,b[r>>2]=B,b[r+4>>2]=b[r+4>>2]-k),i[0|B]=0,A=b[f+44>>2],b[f+28>>2]=A,b[f+20>>2]=A,0|e},function(f){f|=0,p(),M(f+128|0),I()},function(f){N(),I()},ue,function(f,A,e){A|=0,e|=0;var i,r=0,a=0,k=0,B=0,o=0,g=0;z=i=z-32|0,r=b[(f|=0)+28>>2],b[i+16>>2]=r,a=b[f+20>>2],b[i+28>>2]=e,b[i+24>>2]=A,A=a-r|0,b[i+20>>2]=A,a=A+e|0,o=2,A=i+16|0;f:{for(;;){A:{e:{i:{if(!Ae(0|m(b[f+60>>2],0|A,0|o,i+12|0))){if((0|(k=b[i+12>>2]))==(0|a))break i;if((0|k)>=0)break e;break A}if(-1!=(0|a))break A}A=b[f+44>>2],b[f+28>>2]=A,b[f+20>>2]=A,b[f+16>>2]=A+b[f+48>>2],f=e;break f}B=k-((g=(B=b[A+4>>2])>>>0<k>>>0)?B:0)|0,b[(r=(g?8:0)+A|0)>>2]=B+b[r>>2],b[(A=(g?12:4)+A|0)>>2]=b[A>>2]-B,a=a-k|0,o=o-g|0,A=r;continue}break}b[f+28>>2]=0,b[f+16>>2]=0,b[f+20>>2]=0,b[f>>2]=32|b[f>>2],f=0,2!=(0|o)&&(f=e-b[A+4>>2]|0)}return z=i+32|0,0|f},function(f,A,e,i){var r;return A|=0,e|=0,i|=0,z=r=z-16|0,f=Ae(0|X(b[(f|=0)+60>>2],0|A,0|e,255&i,r+8|0)),z=r+16|0,T=f?-1:b[r+12>>2],0|(f?-1:b[r+8>>2])},ue,function(f,A,e,i){return T=0,0}];function We(){return e.byteLength>>16}return{r:Object.create(Object.prototype,{grow:{value:function(f){f|=0;var r=0|We(),B=r+f|0;if(r<B&&B<65536&&B<=32768){var o=new ArrayBuffer(B<<16);new Int8Array(o).set(i),i=new Int8Array(o),a=new Int16Array(o),b=new Int32Array(o),k=new Uint8Array(o),s=new Uint16Array(o),G=new Uint32Array(o),t=new Float32Array(o),C=new Float64Array(o),e=o,A=k}return r}},buffer:{get:function(){return e}}}),s:function(){for(var f=0,A=0,e=0;e=(A=f<<4)+26400|0,b[A+26404>>2]=e,b[A+26408>>2]=e,64!=(0|(f=f+1|0)););Ef(48),z=f=z-16|0,0|K(f+12|0,f+8|0)||(A=ge(4+(b[f+12>>2]<<2)|0),b[6860]=A,A&&(!(A=ge(b[f+8>>2]))||(e=b[6860],b[e+(b[f+12>>2]<<2)>>2]=0,0|S(0|e,0|A)))&&(b[6860]=0)),z=f+16|0,b[6875]=8192,b[6873]=94240,b[6867]=42,b[6874]=65536},t:ge,u:hf,v:function(f,A,e,r,a,B){f|=0,A|=0,e|=0,r|=0,a|=0,B|=0;var o,g=0,l=0,I=0,s=0,G=0,t=0,C=0,W=0,w=0,V=0,H=0,Y=Z(0),v=0,m=0,E=0,X=Z(0),h=0,D=0,M=0,p=Z(0),N=Z(0),S=Z(0),K=0,j=0,P=0,L=0,O=0,q=Z(0),_=0,$=0,ff=0;z=o=z-8320|0,b[o+64>>2]=0,s=2;f:{A:if(176622093!=(0|(g=b[f>>2]))){if(1375686655!=(0|g)){if(!(201326592!=(0|g)|538988650!=b[f+4>>2])&176622093==b[f+8>>2])break A;F(1101),s=1;break f}s=0}G=0;A:if(g=DA(1,96)){b[g+76>>2]=1;e:{i:{r:switch(0|s){case 0:if(b[g+88>>2]=68,b[g+84>>2]=69,b[g+80>>2]=70,b[g+16>>2]=71,b[g+4>>2]=72,b[g+28>>2]=73,b[g+24>>2]=74,b[g+20>>2]=75,b[g>>2]=76,b[g+92>>2]=77,b[g+44>>2]=78,b[g+40>>2]=79,b[g+36>>2]=80,b[g+32>>2]=81,b[g+12>>2]=82,b[g+8>>2]=83,I=pf(),b[g+48>>2]=I,I)break i;break e;case 2:break r;default:break e}b[g+88>>2]=84,b[g+84>>2]=85,b[g+80>>2]=86,b[g+16>>2]=87,b[g+4>>2]=88,b[g+92>>2]=89,b[g+44>>2]=90,b[g+40>>2]=91,b[g+36>>2]=92,b[g+32>>2]=93,b[g+28>>2]=94,b[g+24>>2]=95,b[g+20>>2]=96,b[g+12>>2]=97,b[g+8>>2]=98,b[g>>2]=99;r:{if(I=DA(1,136)){if(G=pf(),b[I>>2]=G,G&&(i[I+124|0]=0,b[I+116>>2]=0,b[I+120>>2]=0,b[I+108>>2]=0,b[I+112>>2]=0,G=EA(),b[I+4>>2]=G,G&&(G=EA(),b[I+8>>2]=G,G)))break r;Mf(I)}I=0}if(b[g+48>>2]=I,!I)break e}b[g+72>>2]=1,b[g+64>>2]=1,b[g+60>>2]=0,b[g+52>>2]=0,b[g+56>>2]=0,b[g+68>>2]=1,G=g;break A}hf(g),G=0}if((g=G)&&(b[g+60>>2]=0,b[g+72>>2]=100),g&&(b[g+56>>2]=0,b[g+68>>2]=101),g&&(b[g+52>>2]=0,b[g+64>>2]=102),(I=o+68|0)&&(c(I,0,8248),b[I+8248>>2]=0,b[I+8200>>2]=-1,b[I+8204>>2]=-1),r&&(b[o+8316>>2]=1|b[o+8316>>2]),b[o+60>>2]=A,b[o+56>>2]=f,b[o+52>>2]=f,s=1,A=0,(I=o+52|0)&&((f=DA(1,72))?(b[f+64>>2]=1048576,G=ke(1048576),b[f+32>>2]=G,G?(b[f+36>>2]=G,b[f+28>>2]=2,b[f+24>>2]=3,b[f+20>>2]=4,b[f+16>>2]=5,b[f+44>>2]=6,b[f+40>>2]=8,b[f+68>>2]=2|b[f+68>>2]):(hf(f),f=0)):f=0,f&&(f&&(b[f+4>>2]=0,b[f>>2]=I),f&&(b[f+8>>2]=b[I+8>>2],b[f+12>>2]=0),!f|!(2&k[f+68|0])||(b[f+16>>2]=64),f&&(b[f+24>>2]=66),f&&(b[f+28>>2]=67),A=f)),!g|!(f=o+68|0)?f=0:b[g+76>>2]?(Qe[b[g+24>>2]](b[g+48>>2],f),f=1):(xf(g+52|0,1,9902,0),f=0),f)if(!A|!g?f=0:b[g+76>>2]?f=0|Qe[b[g>>2]](A,b[g+48>>2],o- -64|0,g+52|0):(xf(g+52|0,1,9983,0),f=0),f)if(!B||(f=g?0|Qe[b[g+40>>2]](b[g+48>>2],B,g+52|0):0))if(f=b[o+64>>2],(f=!b[g+76>>2]|!g|!A?0:0|Qe[b[g+4>>2]](b[g+48>>2],A,f,g+52|0))&&(f=!b[g+76>>2]|!g|!A?0:0|Qe[b[g+16>>2]](b[g+48>>2],A,g+52|0))){yA(A),hA(g),t=b[o+64>>2],(f=b[t+28>>2])&&(hf(f),t=b[o+64>>2],b[t+28>>2]=0,b[t+32>>2]=0),E=b[t+16>>2];A:{e:{if(!e){if(!(!a|4!=(0|E))){w=1,E=4;break A}i:{if(!(3==(0|(A=b[t+20>>2]))|3!=(0|E))){if(f=b[t+24>>2],b[f>>2]!=b[f+4>>2]|1==b[f+52>>2])break i;b[t+20>>2]=3;break e}if(!(E>>>0>2)){b[t+20>>2]=2;break A}}i:switch(A-3|0){case 2:if(E>>>0<4||(A=b[t+24>>2],(0|(f=b[A>>2]))!=b[A+52>>2]|(0|f)!=b[A+104>>2]|(0|f)!=b[A+156>>2]||(0|(f=b[A+4>>2]))!=b[A+56>>2]|(0|f)!=b[A+108>>2]||(0|f)!=b[A+160>>2])){b[o+20>>2]=1053,b[o+16>>2]=1373,MA(26072,8179,o+16|0);break A}for(B=u(b[A+12>>2],b[A+8>>2]),p=Z(Z(1)/Z(~(-1<<b[A+180>>2])>>>0)),N=Z(Z(1)/Z(~(-1<<b[A+128>>2])>>>0)),X=Z(Z(1)/Z(~(-1<<b[A+76>>2])>>>0)),q=Z(Z(1)/Z(~(-1<<b[A+24>>2])>>>0)),f=0;(0|f)!=(0|B);)g=(e=f<<2)+b[A+148>>2]|0,I=b[g>>2],G=e+b[A+96>>2]|0,s=b[G>>2],C=e+b[A+44>>2]|0,Y=Z(Z(1)-Z(p*Z(b[e+b[A+200>>2]>>2]))),S=Z(Z(Z(Z(1)-Z(q*Z(b[C>>2])))*Z(255))*Y),e=Z(Q(S))<Z(2147483648)?~~S:-2147483648,b[C>>2]=e,S=Z(Z(Z(Z(1)-Z(X*Z(0|s)))*Z(255))*Y),e=Z(Q(S))<Z(2147483648)?~~S:-2147483648,b[G>>2]=e,Y=Z(Z(Z(Z(1)-Z(N*Z(0|I)))*Z(255))*Y),e=Z(Q(Y))<Z(2147483648)?~~Y:-2147483648,b[g>>2]=e,f=f+1|0;for(hf(b[A+200>>2]),f=b[t+24>>2],b[f+128>>2]=8,b[f+76>>2]=8,b[f+24>>2]=8,b[f+200>>2]=0,b[t+20>>2]=1,f=b[t+16>>2]-1|0,b[t+16>>2]=f,l=3;;){if(f>>>0<=l>>>0)break A;n(f=b[t+24>>2]+u(l,52)|0,f+52|0,52),l=l+1|0,f=b[t+16>>2]}case 0:break e;case 1:break i;default:break A}if(A=b[t+24>>2],(0|(f=b[A>>2]))!=b[A+52>>2]|(0|f)!=b[A+104>>2]||(0|(f=b[A+4>>2]))!=b[A+56>>2]||(0|f)!=b[A+108>>2]){b[o+36>>2]=1115,b[o+32>>2]=1373,MA(26072,8221,o+32|0);break A}for(e=~(-1<<(f=b[A+24>>2])),f=1<<f-1,g=b[A+136>>2]?0:f,I=b[A+84>>2]?0:f,G=u(b[A+12>>2],b[A+8>>2]),f=0;(0|f)!=(0|G);)s=(B=f<<2)+b[A+44>>2]|0,C=B+b[A+148>>2]|0,Y=Z(b[C>>2]-g|0),l=B+b[A+96>>2]|0,p=Z(b[l>>2]-I|0),N=Z(b[s>>2]),X=Z(Z(Z(Y*Z(1.4019900560379028))+Z(Z(p*Z(-3680000008898787e-20))+N))+Z(.5)),B=Z(Q(X))<Z(2147483648)?~~X:-2147483648,b[s>>2]=(0|e)<(0|B)?e:(0|B)>0?B:0,X=Z(Z(Z(Y*Z(-.7141128182411194))+Z(Z(N*Z(1.0003000497817993))+Z(p*Z(-.34412500262260437))))+Z(.5)),B=Z(Q(X))<Z(2147483648)?~~X:-2147483648,b[l>>2]=(0|e)<(0|B)?e:(0|B)>0?B:0,Y=Z(Z(Z(Y*Z(-7999999979801942e-21))+Z(Z(N*Z(.9998229742050171))+Z(p*Z(1.7720400094985962))))+Z(.5)),B=Z(Q(Y))<Z(2147483648)?~~Y:-2147483648,b[C>>2]=(0|e)<(0|B)?e:(0|B)>0?B:0,f=f+1|0;b[t+20>>2]=1;break A}E=e>>>0>E>>>0?E:e,w=1;break A}e:{i:if(e=b[t+24>>2],1==b[e>>2]){r:switch(b[e+52>>2]-1|0){case 1:if(2!=b[e+104>>2])break i;if(!(1!=b[e+4>>2]|2!=b[e+56>>2]|2!=b[e+108>>2])){if(A=b[e+24>>2],l=b[e+148>>2],f=b[e+96>>2],s=b[e+44>>2],K=b[e+60>>2],V=b[e+8>>2],B=b[e+12>>2],!(!(g=se(e=u(V,B)<<2))|!(I=se(e))|!(G=se(e)))){if(C=~(-1<<A),W=1<<A-1,L=B-(A=1&b[t+4>>2])|0,h=V-(P=1&b[t>>2])|0,!A){e=G,B=I,A=g;break e}for(e=G,B=I,A=g;;){if((0|w)==(0|V))break e;_f(W,C,b[s>>2],0,0,A,B,e),w=w+1|0,e=e+4|0,B=B+4|0,A=A+4|0,s=s+4|0}}hf(g),hf(I),hf(G);break A}if(1!=b[e+4>>2]|1!=b[e+56>>2]|1!=b[e+108>>2])break i;if(f=b[e+24>>2],B=b[e+148>>2],A=b[e+96>>2],l=b[e+44>>2],v=b[e+60>>2],g=b[e+8>>2],h=b[e+12>>2],!(!(I=se(e=u(g,h)<<2))|!(G=se(e))|!(C=se(e)))){for(W=~(-1<<f),H=1<<f-1,K=1&(f=g-(D=1&b[t>>2])|0),m=f>>>1|0,j=-2&f,f=C,s=G,e=I;(0|V)!=(0|h);){for(D&&(_f(H,W,b[l>>2],0,0,e,s,f),s=s+4|0,e=e+4|0,l=l+4|0,f=f+4|0),g=0;g>>>0<j>>>0;)_f(H,W,b[l>>2],b[A>>2],b[B>>2],e,s,f),_f(H,W,b[l+4>>2],b[A>>2],b[B>>2],e+4|0,s+4|0,f+4|0),g=g+2|0,B=B+4|0,A=A+4|0,f=f+8|0,s=s+8|0,e=e+8|0,l=l+8|0;K&&(g=b[l>>2],(0|v)!=(0|m)?_f(H,W,g,b[A>>2],b[B>>2],e,s,f):_f(H,W,g,0,0,e,s,f),f=f+4|0,s=s+4|0,e=e+4|0,l=l+4|0,v>>>0<=m>>>0||(B=B+4|0,A=A+4|0)),V=V+1|0}hf(b[b[t+24>>2]+44>>2]),f=b[t+24>>2],b[f+44>>2]=I,hf(b[f+96>>2]),f=b[t+24>>2],b[f+96>>2]=G,hf(b[f+148>>2]),f=b[t+24>>2],b[f+148>>2]=C,A=b[f+8>>2],b[f+112>>2]=A,b[f+60>>2]=A,A=b[f+12>>2],b[f+116>>2]=A,b[f+64>>2]=A,A=b[f>>2],b[f+104>>2]=A,b[f+52>>2]=A,A=b[f+4>>2],b[f+108>>2]=A,b[f+56>>2]=A,b[t+20>>2]=1;break A}hf(I),hf(G),hf(C);break A;case 0:break r;default:break i}if(!(1!=b[e+104>>2]|1!=b[e+4>>2]|1!=b[e+56>>2]|1!=b[e+108>>2])){if(A=b[e+24>>2],l=b[e+148>>2],f=b[e+96>>2],s=b[e+44>>2],!(!(I=se(e=(W=u(b[e+12>>2],b[e+8>>2]))<<2))|!(G=se(e))|!(C=se(e)))){for(V=~(-1<<A),H=1<<A-1,e=0,B=C,A=G,g=I;(0|e)!=(0|W);)_f(H,V,b[s>>2],b[f>>2],b[l>>2],g,A,B),e=e+1|0,B=B+4|0,A=A+4|0,g=g+4|0,l=l+4|0,f=f+4|0,s=s+4|0;hf(b[b[t+24>>2]+44>>2]),f=b[t+24>>2],b[f+44>>2]=I,hf(b[f+96>>2]),f=b[t+24>>2],b[f+96>>2]=G,hf(b[f+148>>2]),b[b[t+24>>2]+148>>2]=C,b[t+20>>2]=1;break A}hf(I),hf(G),hf(C);break A}}b[o+4>>2]=463,b[o>>2]=1373,MA(26072,8264,o);break A}for(j=h>>>1|0,D=-2&h,_=-2&L,m=V<<2;O>>>0<_>>>0;){for(w=e+m|0,H=B+m|0,V=A+m|0,v=s+m|0,P&&(_f(W,C,b[s>>2],0,0,A,B,e),_f(W,C,b[v>>2],b[f>>2],b[l>>2],V,H,w),w=w+4|0,H=H+4|0,V=V+4|0,v=v+4|0,e=e+4|0,B=B+4|0,s=s+4|0,A=A+4|0),M=0;D>>>0>M>>>0;)_f(W,C,b[s>>2],b[f>>2],b[l>>2],A,B,e),_f(W,C,b[s+4>>2],b[f>>2],b[l>>2],A+4|0,B+4|0,e+4|0),_f(W,C,b[v>>2],b[f>>2],b[l>>2],V,H,w),_f(W,C,b[v+4>>2],b[f>>2],b[l>>2],V+4|0,H+4|0,w+4|0),M=M+2|0,l=l+4|0,f=f+4|0,w=w+8|0,H=H+8|0,V=V+8|0,v=v+8|0,e=e+8|0,B=B+8|0,A=A+8|0,s=s+8|0;(0|h)!=(0|D)&&(M=b[s>>2],(0|K)!=(0|j)?(_f(W,C,M,b[f>>2],b[l>>2],A,B,e),_f(W,C,b[v>>2],b[f>>2],b[l>>2],V,H,w)):(_f(W,C,M,0,0,A,B,e),_f(W,C,b[v>>2],0,0,V,H,w)),e=e+4|0,B=B+4|0,A=A+4|0,s=s+4|0,K>>>0<=j>>>0||(l=l+4|0,f=f+4|0)),O=O+2|0,e=e+m|0,B=B+m|0,A=A+m|0,s=s+m|0}if(1&L){for(P&&(_f(W,C,b[s>>2],0,0,A,B,e),e=e+4|0,B=B+4|0,s=s+4|0,A=A+4|0),w=0;w>>>0<D>>>0;)_f(W,C,b[s>>2],b[f>>2],b[l>>2],A,B,e),_f(W,C,b[s+4>>2],b[f>>2],b[l>>2],A+4|0,B+4|0,e+4|0),w=w+2|0,l=l+4|0,f=f+4|0,e=e+8|0,B=B+8|0,A=A+8|0,s=s+8|0;(0|h)!=(0|D)&&(s=b[s>>2],(0|K)!=(0|j)?_f(W,C,s,b[f>>2],b[l>>2],A,B,e):_f(W,C,s,0,0,A,B,e))}hf(b[b[t+24>>2]+44>>2]),f=b[t+24>>2],b[f+44>>2]=g,hf(b[f+96>>2]),f=b[t+24>>2],b[f+96>>2]=I,hf(b[f+148>>2]),f=b[t+24>>2],b[f+148>>2]=G,A=b[f+8>>2],b[f+112>>2]=A,b[f+60>>2]=A,A=b[f+12>>2],b[f+116>>2]=A,b[f+64>>2]=A,A=b[f>>2],b[f+104>>2]=A,b[f+52>>2]=A,A=b[f+4>>2],b[f+108>>2]=A,b[f+56>>2]=A,b[t+20>>2]=1,w=0}e=b[o+64>>2];A:if(!r)for(A=0;;){if((0|A)==(0|E))break A;if(f=b[e+24>>2]+u(A,52)|0,8!=(0|(r=b[f+24>>2]))){e:{if(r>>>0<=7){if(B=u(b[f+12>>2],b[f+8>>2]),g=b[f+44>>2],b[f+32>>2])for(I=1<<r-1,l=0;;){if((0|B)==(0|l))break e;$=C=r=g+(l<<2)|0,ff=cA((r=b[r>>2])<<7,G=r>>31<<7|r>>>25,I,0),b[$>>2]=ff,l=l+1|0}for(r=~(-1<<r),l=0;;){if((0|B)==(0|l))break e;G=be(tA(b[(I=g+(l<<2)|0)>>2],0,255),T,r,0),b[I>>2]=G,l=l+1|0}}if(r=r-8|0,B=u(b[f+12>>2],b[f+8>>2]),g=b[f+44>>2],l=0,b[f+32>>2])for(;;){if((0|B)==(0|l))break e;b[(I=g+(l<<2)|0)>>2]=b[I>>2]>>r,l=l+1|0}for(;;){if((0|B)==(0|l))break e;b[(I=g+(l<<2)|0)>>2]=b[I>>2]>>>r,l=l+1|0}}b[f+24>>2]=8}A=A+1|0}f=b[e+24>>2],A=u(b[f+12>>2],b[f+8>>2]);A:if(w){e:switch(E-1|0){case 0:R(b[f+44>>2],0|A);break A;case 2:d(b[f+44>>2],b[f+96>>2],b[f+148>>2],0|A);break A;case 3:break e;default:break A}y(b[f+44>>2],b[f+96>>2],b[f+148>>2],b[f+200>>2],0|A)}else{if(2==b[e+20>>2]){if(1==b[e+16>>2]){x(b[f+44>>2],0|A);break A}if(!a)break A;U(b[f+44>>2],b[f+96>>2],0|A);break A}J(b[f+44>>2],b[f+96>>2],b[f+148>>2],0|A)}lA(b[o+64>>2]),s=0}else F(1316),hA(g),yA(A),lA(b[o+64>>2]);else F(1116),yA(A),hA(g),lA(b[o+64>>2]);else F(1181),yA(A),hA(g),lA(b[o+64>>2]);else F(1153),yA(A),hA(g)}return z=o+8320|0,0|s},w:function(f,A){A=+A;var e,i,r=0,a=0,k=0,B=0,o=0,g=0;i=(r=(f|=0)<<3)+28640|0,0!=(e=C[r+28672>>3])&&(a=C[i>>3],(A=(B=V(a,A))-a)<0x10000000000000000&A>=0?(k=~~A>>>0,r=Q(A)>=1?~~(A>0?w(H(2.3283064365386963e-10*A),4294967295):Y(2.3283064365386963e-10*(A-+(~~A>>>0>>>0))))>>>0:0):r=0,e<0x10000000000000000&e>=0?(g=~~e>>>0,o=Q(e)>=1?~~(e>0?w(H(2.3283064365386963e-10*e),4294967295):Y(2.3283064365386963e-10*(e-+(~~e>>>0>>>0))))>>>0:0):o=0,r=be(k,r,g,o),k=T,B=(a=(+((r=r+1|0)>>>0)+4294967296*+((k=r?k:k+1|0)>>>0))*e+a)-B),C[i>>3]=a,h(0|f,+B),f=(r=2==(0|f)?27:1==(0|f)?26:14)-1|0,b[6892]>>>f&1?b[6894]=b[6894]|1<<f:(f=b[25312+(r<<2)>>2])&&Qe[0|f](r)}}}(f)}(A)},instantiate:function(f,A){return{then:function(e){var i=new k.Module(f);e({instance:new k.Instance(i,A)})}}},RuntimeError:Error,isWasm2js:!0};k.isWasm2js;var B,o,g,l=!1;var c,n,I,s,G,t=!1;function C(){var f=z.buffer;I=new Int8Array(f),new Int16Array(f),G=new Uint8Array(f),new Uint16Array(f),n=new Int32Array(f),s=new Uint32Array(f),new Float32Array(f),new Float64Array(f)}class u{name="ExitStatus";constructor(f){this.message=`Program terminated with exit(${f})`,this.status=f}}var Z=f=>{for(;f.length>0;)f.shift()(A)},Q=[],W=f=>Q.push(f),w=[],V=f=>w.push(f),H=!0,Y=0,v={},F=f=>{if(f instanceof u||"unwind"==f)return B;i(0,f)},m=()=>H||Y>0,E=f=>{B=f,m()||(A.onExit?.(f),l=!0),i(0,new u(f))},y=(f,A)=>{B=f,E(f)},d=f=>{if(!l)try{return f()}catch(f){F(f)}finally{(()=>{if(!m())try{y(B)}catch(f){F(f)}})()}};var R=(f,A)=>Math.ceil(f/A)*A,J=f=>{var A=(f-z.buffer.byteLength+65535)/65536|0;try{return z.grow(A),C(),1}catch(f){}},U={},X=()=>{if(!X.strings){var f={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:e||"./this.program"};for(var A in U)void 0===U[A]?delete f[A]:f[A]=U[A];var i=[];for(var A in f)i.push(`${A}=${f[A]}`);X.strings=i}return X.strings},h=(f,A,e)=>((f,A,e,i)=>{if(!(i>0))return 0;for(var r=e,a=e+i-1,b=0;b<f.length;++b){var k=f.codePointAt(b);if(k<=127){if(e>=a)break;A[e++]=k}else if(k<=2047){if(e+1>=a)break;A[e++]=192|k>>6,A[e++]=128|63&k}else if(k<=65535){if(e+2>=a)break;A[e++]=224|k>>12,A[e++]=128|k>>6&63,A[e++]=128|63&k}else{if(e+3>=a)break;A[e++]=240|k>>18,A[e++]=128|k>>12&63,A[e++]=128|k>>6&63,A[e++]=128|63&k,b++}}return A[e]=0,e-r})(f,G,A,e),D=f=>{for(var A=0,e=0;e<f.length;++e){var i=f.charCodeAt(e);i<=127?A++:i<=2047?A+=2:i>=55296&&i<=57343?(A+=4,++e):A+=3}return A};var M=[null,[],[]],p=new TextDecoder,N=(f,A,e,i)=>{var r=A+e;if(i)return r;for(;f[A]&&!(A>=r);)++A;return A},S=(f,A)=>{var e=M[f];0===A||10===A?((1===f?a:b)(((f,A=0,e,i)=>{var r=N(f,A,e,i);return p.decode(f.buffer?f.subarray(A,r):new Uint8Array(f.slice(A,r)))})(e)),e.length=0):e.push(A)},K=(f,A,e)=>{if(!f)return"";var i=N(G,f,A,e);return p.decode(G.subarray(f,i))};var x,z;if(A.noExitRuntime&&(H=A.noExitRuntime),A.print&&(a=A.print),A.printErr&&(b=A.printErr),A.wasmBinary&&A.wasmBinary,A.arguments&&A.arguments,A.thisProgram&&(e=A.thisProgram),A.preInit)for("function"==typeof A.preInit&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.shift()();A.writeArrayToMemory=(f,A)=>{I.set(f,A)};var j,P={n:()=>function(f){A.onAbort?.(f),b(f=`Aborted(${f})`),l=!0,f+=". Build with -sASSERTIONS for more info.";var e=new k.RuntimeError(f);throw g?.(e),e}(""),m:()=>{H=!1,Y=0},j:(f,A)=>{if(v[f]&&(clearTimeout(v[f].id),delete v[f]),!A)return 0;var e=setTimeout(()=>{delete v[f],d(()=>x(f,performance.now()))},A);return v[f]={id:e,timeout_ms:A},0},f:function(f,e){f>>=2;const i=A.imageData=new Uint8ClampedArray(e),r=n.subarray(f,f+e);i.set(r)},e:function(f,e,i,r){f>>=2,e>>=2,i>>=2;const a=A.imageData=new Uint8ClampedArray(3*r),b=n.subarray(f,f+r),k=n.subarray(e,e+r),B=n.subarray(i,i+r);for(let f=0;f<r;f++)a[3*f]=b[f],a[3*f+1]=k[f],a[3*f+2]=B[f]},d:function(f,e,i,r,a){f>>=2,e>>=2,i>>=2,r>>=2;const b=A.imageData=new Uint8ClampedArray(4*a),k=n.subarray(f,f+a),B=n.subarray(e,e+a),o=n.subarray(i,i+a),g=n.subarray(r,r+a);for(let f=0;f<a;f++)b[4*f]=k[f],b[4*f+1]=B[f],b[4*f+2]=o[f],b[4*f+3]=g[f]},k:f=>{var A=G.length,e=2147483648;if((f>>>=0)>e)return!1;for(var i=1;i<=4;i*=2){var r=A*(1+.2/i);r=Math.min(r,f+100663296);var a=Math.min(e,R(Math.max(f,r),65536));if(J(a))return!0}return!1},o:(f,A)=>{var e=0,i=0;for(var r of X()){var a=A+e;s[f+i>>2]=a,e+=h(r,a,1/0)+1,i+=4}return 0},p:(f,A)=>{var e=X();s[f>>2]=e.length;var i=0;for(var r of e)i+=D(r)+1;return s[A>>2]=i,0},i:function(f,A,e,i,r){return 70},b:(f,A,e,i)=>{for(var r=0,a=0;a<e;a++){var b=s[A>>2],k=s[A+4>>2];A+=8;for(var B=0;B<k;B++)S(f,G[b+B]);r+=k}return s[i>>2]=r,0},q:function(f,e){f>>=2;const i=A.imageData=new Uint8ClampedArray(4*e),r=n.subarray(f,f+e);for(let f=0;f<e;f++)i[4*f]=i[4*f+1]=i[4*f+2]=r[f],i[4*f+3]=255},h:function(f,e,i){f>>=2,e>>=2;const r=A.imageData=new Uint8ClampedArray(4*i),a=n.subarray(f,f+i),b=n.subarray(e,e+i);for(let f=0;f<i;f++)r[4*f]=r[4*f+1]=r[4*f+2]=a[f],r[4*f+3]=b[f]},c:function(f){const e=K(f);(A.warn||console.warn)(`OpenJPEG: ${e}`)},l:E,g:function(f,e,i,r){f>>=2,e>>=2,i>>=2;const a=A.imageData=new Uint8ClampedArray(4*r),b=n.subarray(f,f+r),k=n.subarray(e,e+r),B=n.subarray(i,i+r);for(let f=0;f<r;f++)a[4*f]=b[f],a[4*f+1]=k[f],a[4*f+2]=B[f],a[4*f+3]=255},a:function(f){const e=K(f);A.errorMessages?A.errorMessages+="\n"+e:A.errorMessages=e}};return j=function(){function f(f,e){return function(f){A._malloc=f.t,A._free=f.u,A._jp2_decode=f.v,x=f.w,f.dynCall_iji,f.dynCall_jji,f.dynCall_iiji,f.dynCall_jiji,z=f.r,f.__indirect_function_table}(j=f.exports),C(),j}var e={a:P};return A.instantiateWasm?new Promise((i,r)=>{A.instantiateWasm(e,(A,e)=>{i(f(A))})}):(c??=void 0,f(function(f,A){var e;return e=new k.Module(void 0),[new k.Instance(e,A),e]}(0,e)[0]))}(),function(){function f(){A.calledRun=!0,l||(t=!0,j.s(),o?.(A),A.onRuntimeInitialized?.(),function(){if(A.postRun)for("function"==typeof A.postRun&&(A.postRun=[A.postRun]);A.postRun.length;)W(A.postRun.shift());Z(Q)}())}!function(){if(A.preRun)for("function"==typeof A.preRun&&(A.preRun=[A.preRun]);A.preRun.length;)V(A.preRun.shift());Z(w)}(),A.setStatus?(A.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>A.setStatus(""),1),f()},1)):f()}(),t?A:new Promise((f,A)=>{o=f,g=A})}export default OpenJPEG;