diff --git a/Apps/Sandcastle/gallery/3D Tiles Formats.html b/Apps/Sandcastle/gallery/3D Tiles Formats.html index 9cca466f141f..8d45a6808936 100644 --- a/Apps/Sandcastle/gallery/3D Tiles Formats.html +++ b/Apps/Sandcastle/gallery/3D Tiles Formats.html @@ -82,6 +82,9 @@ }, { name: 'PointCloudBatched', resource: Cesium.IonResource.fromAssetId(3878) + }, { + name: 'PointCloudDraco', + resource: Cesium.IonResource.fromAssetId(4702) } ], selectedTileset: undefined, diff --git a/CHANGES.md b/CHANGES.md index ed7d1095ee53..61c118b69601 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,10 +3,13 @@ Change Log ### 1.48 - 2018-08-01 -#### Deprecated :hourglass_flowing_sand: +##### Additions :tada: +* Added support for loading Draco compressed Point Cloud tiles for 2-3x better compression. [#6559](https://github.com/AnalyticalGraphicsInc/cesium/pull/6559) + +##### Deprecated :hourglass_flowing_sand: * Support for 3D Tiles `content.url` is deprecated to reflect updates to the [3D Tiles spec](https://github.com/AnalyticalGraphicsInc/3d-tiles/pull/301). Use `content.uri instead`. Support for `content.url` will remain for backwards compatibility. [#6744](https://github.com/AnalyticalGraphicsInc/cesium/pull/6744) -#### Fixes :wrench: +##### Fixes :wrench: * Fixed bug causing billboards and labels to appear the wrong size when switching scene modes [#6745](https://github.com/AnalyticalGraphicsInc/cesium/issues/6745) ### 1.47 - 2018-07-02 diff --git a/Source/Scene/DracoLoader.js b/Source/Scene/DracoLoader.js index 55061aec646b..14bfd02b1fcb 100644 --- a/Source/Scene/DracoLoader.js +++ b/Source/Scene/DracoLoader.js @@ -203,7 +203,7 @@ define([ * Schedules decoding tasks available this frame. * @private */ - DracoLoader.decode = function(model, context) { + DracoLoader.decodeModel = function(model, context) { if (!DracoLoader.hasExtension(model)) { return when.resolve(); } @@ -245,6 +245,19 @@ define([ return when.all(decodingPromises); }; + /** + * Decodes a compressed point cloud. Returns undefined if the task cannot be scheduled. + * @private + */ + DracoLoader.decodePointCloud = function(parameters) { + var decoderTaskProcessor = DracoLoader._getDecoderTaskProcessor(); + if (!DracoLoader._taskProcessorReady) { + // The task processor is not ready to schedule tasks + return; + } + return decoderTaskProcessor.scheduleTask(parameters, [parameters.buffer.buffer]); + }; + /** * Caches a models decoded data so it doesn't need to decode more than once. * @private diff --git a/Source/Scene/Model.js b/Source/Scene/Model.js index 2c259b2350fd..bcb23f30f26d 100644 --- a/Source/Scene/Model.js +++ b/Source/Scene/Model.js @@ -4281,7 +4281,7 @@ define([ } if (!loadResources.finishedDecoding()) { - DracoLoader.decode(this, context) + DracoLoader.decodeModel(this, context) .otherwise(getFailedLoadFunction(this, 'model', this.basePath)); } diff --git a/Source/Scene/PointCloud3DTileContent.js b/Source/Scene/PointCloud3DTileContent.js index 4bb1850225ae..9720fac9e2cd 100644 --- a/Source/Scene/PointCloud3DTileContent.js +++ b/Source/Scene/PointCloud3DTileContent.js @@ -1,4 +1,5 @@ define([ + '../Core/arraySlice', '../Core/Cartesian2', '../Core/Cartesian3', '../Core/Cartesian4', @@ -35,11 +36,13 @@ define([ './Cesium3DTileFeature', './Cesium3DTileFeatureTable', './ClippingPlaneCollection', + './DracoLoader', './getClipAndStyleCode', './getClippingFunction', './SceneMode', './ShadowMode' ], function( + arraySlice, Cartesian2, Cartesian3, Cartesian4, @@ -76,6 +79,7 @@ define([ Cesium3DTileFeature, Cesium3DTileFeatureTable, ClippingPlaneCollection, + DracoLoader, getClipAndStyleCode, getClippingFunction, SceneMode, @@ -88,6 +92,13 @@ define([ return {}; } + var DecodingState = { + NEEDS_DECODE : 0, + DECODING : 1, + READY : 2, + FAILED : 3 + }; + /** * Represents the contents of a * {@link https://github.com/AnalyticalGraphicsInc/3d-tiles/blob/master/TileFormats/PointCloud/README.md|Points} @@ -113,7 +124,7 @@ define([ this._pickId = undefined; // Only defined when batchTable is undefined this._isTranslucent = false; this._styleTranslucent = false; - this._constantColor = Color.clone(Color.WHITE); + this._constantColor = Color.clone(Color.DARKGRAY); this._rtcCenter = undefined; this._batchTable = undefined; // Used when feature table contains BATCH_ID semantic @@ -126,6 +137,14 @@ define([ this._hasNormals = false; this._hasBatchIds = false; + // Draco + this._decodingState = DecodingState.READY; + this._dequantizeInShader = true; + this._isQuantizedDraco = false; + this._isOctEncodedDraco = false; + this._quantizedRange = 0.0; + this._octEncodedRange = 0.0; + // Use per-point normals to hide back-facing points. this.backFaceCulling = false; this._backFaceCulling = false; @@ -305,79 +324,130 @@ define([ throw new RuntimeError('Feature table global property: POINTS_LENGTH must be defined'); } - // Get the positions + var rtcCenter = featureTable.getGlobalProperty('RTC_CENTER', ComponentDatatype.FLOAT, 3); + if (defined(rtcCenter)) { + content._rtcCenter = Cartesian3.unpack(rtcCenter); + } + var positions; + var colors; + var normals; + var batchIds; + + var hasPositions = false; + var hasColors = false; + var hasNormals = false; + var hasBatchIds = false; + var isQuantized = false; + var isTranslucent = false; + var isRGB565 = false; + var isOctEncoded16P = false; - if (defined(featureTableJson.POSITION)) { - positions = featureTable.getPropertyArray('POSITION', ComponentDatatype.FLOAT, 3); - var rtcCenter = featureTable.getGlobalProperty('RTC_CENTER', ComponentDatatype.FLOAT, 3); - if (defined(rtcCenter)) { - content._rtcCenter = Cartesian3.unpack(rtcCenter); - } - } else if (defined(featureTableJson.POSITION_QUANTIZED)) { - positions = featureTable.getPropertyArray('POSITION_QUANTIZED', ComponentDatatype.UNSIGNED_SHORT, 3); - isQuantized = true; + var dracoBuffer; + var dracoFeatureTableProperties; + var dracoBatchTableProperties; - var quantizedVolumeScale = featureTable.getGlobalProperty('QUANTIZED_VOLUME_SCALE', ComponentDatatype.FLOAT, 3); - if (!defined(quantizedVolumeScale)) { - throw new RuntimeError('Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.'); - } - content._quantizedVolumeScale = Cartesian3.unpack(quantizedVolumeScale); + var featureTableDraco = defined(featureTableJson.extensions) ? featureTableJson.extensions['3DTILES_draco_point_compression'] : undefined; + var batchTableDraco = (defined(batchTableJson) && defined(batchTableJson.extensions)) ? batchTableJson.extensions['3DTILES_draco_point_compression'] : undefined; - var quantizedVolumeOffset = featureTable.getGlobalProperty('QUANTIZED_VOLUME_OFFSET', ComponentDatatype.FLOAT, 3); - if (!defined(quantizedVolumeOffset)) { - throw new RuntimeError('Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.'); + if (defined(batchTableDraco)) { + dracoBatchTableProperties = batchTableDraco.properties; + } + + if (defined(featureTableDraco)) { + dracoFeatureTableProperties = featureTableDraco.properties; + var dracoByteOffset = featureTableDraco.byteOffset; + var dracoByteLength = featureTableDraco.byteLength; + if (!defined(dracoFeatureTableProperties) || !defined(dracoByteOffset) || !defined(dracoByteLength)) { + throw new RuntimeError('Draco properties, byteOffset, and byteLength must be defined'); } - content._quantizedVolumeOffset = Cartesian3.unpack(quantizedVolumeOffset); + dracoBuffer = arraySlice(featureTableBinary, dracoByteOffset, dracoByteOffset + dracoByteLength); + hasPositions = defined(dracoFeatureTableProperties.POSITION); + hasColors = defined(dracoFeatureTableProperties.RGB) || defined(dracoFeatureTableProperties.RGBA); + hasNormals = defined(dracoFeatureTableProperties.NORMAL); + hasBatchIds = defined(dracoFeatureTableProperties.BATCH_ID); + isTranslucent = defined(dracoFeatureTableProperties.RGBA); + content._decodingState = DecodingState.NEEDS_DECODE; + } + + var draco; + if (defined(dracoBuffer)) { + draco = { + buffer : dracoBuffer, + featureTableProperties : dracoFeatureTableProperties, + batchTableProperties : dracoBatchTableProperties, + properties : combine(dracoFeatureTableProperties, dracoBatchTableProperties), + dequantizeInShader : content._dequantizeInShader + }; } - if (!defined(positions)) { - throw new RuntimeError('Either POSITION or POSITION_QUANTIZED must be defined.'); + if (!hasPositions) { + if (defined(featureTableJson.POSITION)) { + positions = featureTable.getPropertyArray('POSITION', ComponentDatatype.FLOAT, 3); + hasPositions = true; + } else if (defined(featureTableJson.POSITION_QUANTIZED)) { + positions = featureTable.getPropertyArray('POSITION_QUANTIZED', ComponentDatatype.UNSIGNED_SHORT, 3); + isQuantized = true; + hasPositions = true; + + var quantizedVolumeScale = featureTable.getGlobalProperty('QUANTIZED_VOLUME_SCALE', ComponentDatatype.FLOAT, 3); + if (!defined(quantizedVolumeScale)) { + throw new RuntimeError('Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.'); + } + content._quantizedVolumeScale = Cartesian3.unpack(quantizedVolumeScale); + + var quantizedVolumeOffset = featureTable.getGlobalProperty('QUANTIZED_VOLUME_OFFSET', ComponentDatatype.FLOAT, 3); + if (!defined(quantizedVolumeOffset)) { + throw new RuntimeError('Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.'); + } + content._quantizedVolumeOffset = Cartesian3.unpack(quantizedVolumeOffset); + } } - // Get the colors - var colors; - var isTranslucent = false; - var isRGB565 = false; + if (!hasColors) { + if (defined(featureTableJson.RGBA)) { + colors = featureTable.getPropertyArray('RGBA', ComponentDatatype.UNSIGNED_BYTE, 4); + isTranslucent = true; + hasColors = true; + } else if (defined(featureTableJson.RGB)) { + colors = featureTable.getPropertyArray('RGB', ComponentDatatype.UNSIGNED_BYTE, 3); + hasColors = true; + } else if (defined(featureTableJson.RGB565)) { + colors = featureTable.getPropertyArray('RGB565', ComponentDatatype.UNSIGNED_SHORT, 1); + isRGB565 = true; + hasColors = true; + } + } - if (defined(featureTableJson.RGBA)) { - colors = featureTable.getPropertyArray('RGBA', ComponentDatatype.UNSIGNED_BYTE, 4); - isTranslucent = true; - } else if (defined(featureTableJson.RGB)) { - colors = featureTable.getPropertyArray('RGB', ComponentDatatype.UNSIGNED_BYTE, 3); - } else if (defined(featureTableJson.RGB565)) { - colors = featureTable.getPropertyArray('RGB565', ComponentDatatype.UNSIGNED_SHORT, 1); - isRGB565 = true; - } else if (defined(featureTableJson.CONSTANT_RGBA)) { - var constantRGBA = featureTable.getGlobalProperty('CONSTANT_RGBA', ComponentDatatype.UNSIGNED_BYTE, 4); - content._constantColor = Color.fromBytes(constantRGBA[0], constantRGBA[1], constantRGBA[2], constantRGBA[3], content._constantColor); - } else { - // Use a default constant color - content._constantColor = Color.clone(Color.DARKGRAY, content._constantColor); + if (!hasNormals) { + if (defined(featureTableJson.NORMAL)) { + normals = featureTable.getPropertyArray('NORMAL', ComponentDatatype.FLOAT, 3); + hasNormals = true; + } else if (defined(featureTableJson.NORMAL_OCT16P)) { + normals = featureTable.getPropertyArray('NORMAL_OCT16P', ComponentDatatype.UNSIGNED_BYTE, 2); + isOctEncoded16P = true; + hasNormals = true; + } } - content._isTranslucent = isTranslucent; + if (!hasBatchIds) { + if (defined(featureTableJson.BATCH_ID)) { + batchIds = featureTable.getPropertyArray('BATCH_ID', ComponentDatatype.UNSIGNED_SHORT, 1); + hasBatchIds = true; + } + } - // Get the normals - var normals; - var isOctEncoded16P = false; + if (!hasPositions) { + throw new RuntimeError('Either POSITION or POSITION_QUANTIZED must be defined.'); + } - if (defined(featureTableJson.NORMAL)) { - normals = featureTable.getPropertyArray('NORMAL', ComponentDatatype.FLOAT, 3); - } else if (defined(featureTableJson.NORMAL_OCT16P)) { - normals = featureTable.getPropertyArray('NORMAL_OCT16P', ComponentDatatype.UNSIGNED_BYTE, 2); - isOctEncoded16P = true; + if (defined(featureTableJson.CONSTANT_RGBA)) { + var constantRGBA = featureTable.getGlobalProperty('CONSTANT_RGBA', ComponentDatatype.UNSIGNED_BYTE, 4); + content._constantColor = Color.fromBytes(constantRGBA[0], constantRGBA[1], constantRGBA[2], constantRGBA[3], content._constantColor); } - // Get the batchIds and batch table. BATCH_ID does not need to be defined when the point cloud has per-point properties. - var batchIds; - if (defined(featureTableJson.BATCH_ID)) { - batchIds = featureTable.getPropertyArray('BATCH_ID', ComponentDatatype.UNSIGNED_SHORT, 1); - if (ComponentDatatype.fromTypedArray(batchIds) === ComponentDatatype.UNSIGNED_INT) { - // WebGL does not support UNSIGNED_INT vertex attributes. Convert these to FLOAT. - batchIds = new Float32Array(batchIds); - } + if (hasBatchIds) { var batchLength = featureTable.getGlobalProperty('BATCH_LENGTH'); if (!defined(batchLength)) { throw new RuntimeError('Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.'); @@ -392,21 +462,8 @@ define([ // If points are not batched and there are per-point properties, use these properties for styling purposes var styleableProperties; - if (!defined(batchIds) && defined(batchTableBinary)) { + if (!hasBatchIds && defined(batchTableBinary)) { styleableProperties = Cesium3DTileBatchTable.getBinaryProperties(pointsLength, batchTableJson, batchTableBinary); - - // WebGL does not support UNSIGNED_INT, INT, or DOUBLE vertex attributes. Convert these to FLOAT. - for (var name in styleableProperties) { - if (styleableProperties.hasOwnProperty(name)) { - var property = styleableProperties[name]; - var typedArray = property.typedArray; - var componentDatatype = ComponentDatatype.fromTypedArray(typedArray); - if (componentDatatype === ComponentDatatype.INT || componentDatatype === ComponentDatatype.UNSIGNED_INT || componentDatatype === ComponentDatatype.DOUBLE) { - oneTimeWarning('Cast pnts property to floats', 'Point cloud property "' + name + '" will be casted to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.'); - property.typedArray = new Float32Array(typedArray); - } - } - } } content._parsedContent = { @@ -414,15 +471,17 @@ define([ colors : colors, normals : normals, batchIds : batchIds, - styleableProperties : styleableProperties + styleableProperties : styleableProperties, + draco : draco }; content._pointsLength = pointsLength; content._isQuantized = isQuantized; content._isOctEncoded16P = isOctEncoded16P; content._isRGB565 = isRGB565; - content._hasColors = defined(colors); - content._hasNormals = defined(normals); - content._hasBatchIds = defined(batchIds); + content._isTranslucent = isTranslucent; + content._hasColors = hasColors; + content._hasNormals = hasNormals; + content._hasBatchIds = hasBatchIds; // Compute an approximation for base resolution in case it isn't given. // Assume a uniform distribution of points in cubical cells throughout the @@ -433,7 +492,23 @@ define([ content._baseResolutionApproximation = CesiumMath.cbrt(sphereVolume / pointsLength); } + function prepareStyleableProperties(styleableProperties) { + // WebGL does not support UNSIGNED_INT, INT, or DOUBLE vertex attributes. Convert these to FLOAT. + for (var name in styleableProperties) { + if (styleableProperties.hasOwnProperty(name)) { + var property = styleableProperties[name]; + var typedArray = property.typedArray; + var componentDatatype = ComponentDatatype.fromTypedArray(typedArray); + if (componentDatatype === ComponentDatatype.INT || componentDatatype === ComponentDatatype.UNSIGNED_INT || componentDatatype === ComponentDatatype.DOUBLE) { + oneTimeWarning('Cast pnts property to floats', 'Point cloud property "' + name + '" will be casted to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.'); + property.typedArray = new Float32Array(typedArray); + } + } + } + } + var scratchPointSizeAndTilesetTimeAndGeometricErrorAndDepthMultiplier = new Cartesian4(); + var scratchQuantizedVolumeScaleAndOctEncodedRange = new Cartesian4(); var positionLocation = 0; var colorLocation = 1; @@ -453,7 +528,11 @@ define([ var styleableProperties = parsedContent.styleableProperties; var hasStyleableProperties = defined(styleableProperties); var isQuantized = content._isQuantized; + var isQuantizedDraco = content._isQuantizedDraco; var isOctEncoded16P = content._isOctEncoded16P; + var isOctEncodedDraco = content._isOctEncodedDraco; + var quantizedRange = content._quantizedRange; + var octEncodedRange = content._octEncodedRange; var isRGB565 = content._isRGB565; var isTranslucent = content._isTranslucent; var hasColors = content._hasColors; @@ -463,19 +542,24 @@ define([ var batchTable = content._batchTable; var hasBatchTable = defined(batchTable); + var componentsPerAttribute; + var componentDatatype; + var normalize; + var styleableVertexAttributes = []; var styleableShaderAttributes = {}; content._styleableShaderAttributes = styleableShaderAttributes; if (hasStyleableProperties) { + prepareStyleableProperties(styleableProperties); var attributeLocation = numberOfAttributes; for (var name in styleableProperties) { if (styleableProperties.hasOwnProperty(name)) { var property = styleableProperties[name]; var typedArray = property.typedArray; - var componentCount = property.componentCount; - var componentDatatype = ComponentDatatype.fromTypedArray(typedArray); + componentsPerAttribute = property.componentCount; + componentDatatype = ComponentDatatype.fromTypedArray(typedArray); var vertexBuffer = Buffer.createVertexBuffer({ context : context, @@ -488,7 +572,7 @@ define([ var vertexAttribute = { index : attributeLocation, vertexBuffer : vertexBuffer, - componentsPerAttribute : componentCount, + componentsPerAttribute : componentsPerAttribute, componentDatatype : componentDatatype, normalize : false, offsetInBytes : 0, @@ -498,7 +582,7 @@ define([ styleableVertexAttributes.push(vertexAttribute); styleableShaderAttributes[name] = { location : attributeLocation, - componentCount : componentCount + componentCount : componentsPerAttribute }; ++attributeLocation; } @@ -559,10 +643,15 @@ define([ } }; - if (isQuantized) { + if (isQuantized || isQuantizedDraco || isOctEncodedDraco) { uniformMap = combine(uniformMap, { - u_quantizedVolumeScale : function() { - return content._quantizedVolumeScale; + u_quantizedVolumeScaleAndOctEncodedRange : function() { + var scratch = scratchQuantizedVolumeScaleAndOctEncodedRange; + if (defined(content._quantizedVolumeScale)) { + Cartesian3.clone(content._quantizedVolumeScale, scratch); + } + scratch.w = content._octEncodedRange; + return scratch; } }); } @@ -596,6 +685,10 @@ define([ var batchIdsVertexBuffer; if (hasBatchIds) { + if (ComponentDatatype.fromTypedArray(batchIds) === ComponentDatatype.UNSIGNED_INT) { + // WebGL does not support UNSIGNED_INT vertex attributes. Convert these to FLOAT. + batchIds = new Float32Array(batchIds); + } batchIdsVertexBuffer = Buffer.createVertexBuffer({ context : context, typedArray : batchIds, @@ -605,27 +698,27 @@ define([ } var attributes = []; + if (isQuantized) { - attributes.push({ - index : positionLocation, - vertexBuffer : positionsVertexBuffer, - componentsPerAttribute : 3, - componentDatatype : ComponentDatatype.UNSIGNED_SHORT, - normalize : true, // Convert position to 0 to 1 before entering the shader - offsetInBytes : 0, - strideInBytes : 0 - }); + componentDatatype = ComponentDatatype.UNSIGNED_SHORT; + normalize = true; // Convert position to 0 to 1 before entering the shader + } else if (isQuantizedDraco) { + componentDatatype = (quantizedRange <= 255) ? ComponentDatatype.UNSIGNED_BYTE : ComponentDatatype.UNSIGNED_SHORT; + normalize = false; // Normalization is done in the shader based on quantizationBits } else { - attributes.push({ - index : positionLocation, - vertexBuffer : positionsVertexBuffer, - componentsPerAttribute : 3, - componentDatatype : ComponentDatatype.FLOAT, - normalize : false, - offsetInBytes : 0, - strideInBytes : 0 - }); - } + componentDatatype = ComponentDatatype.FLOAT; + normalize = false; + } + + attributes.push({ + index : positionLocation, + vertexBuffer : positionsVertexBuffer, + componentsPerAttribute : 3, + componentDatatype : componentDatatype, + normalize : normalize, + offsetInBytes : 0, + strideInBytes : 0 + }); if (hasColors) { if (isRGB565) { @@ -654,26 +747,24 @@ define([ if (hasNormals) { if (isOctEncoded16P) { - attributes.push({ - index : normalLocation, - vertexBuffer : normalsVertexBuffer, - componentsPerAttribute : 2, - componentDatatype : ComponentDatatype.UNSIGNED_BYTE, - normalize : false, - offsetInBytes : 0, - strideInBytes : 0 - }); + componentsPerAttribute = 2; + componentDatatype = ComponentDatatype.UNSIGNED_BYTE; + } else if (isOctEncodedDraco) { + componentsPerAttribute = 2; + componentDatatype = (octEncodedRange <= 255) ? ComponentDatatype.UNSIGNED_BYTE : ComponentDatatype.UNSIGNED_SHORT; } else { - attributes.push({ - index : normalLocation, - vertexBuffer : normalsVertexBuffer, - componentsPerAttribute : 3, - componentDatatype : ComponentDatatype.FLOAT, - normalize : false, - offsetInBytes : 0, - strideInBytes : 0 - }); + componentsPerAttribute = 3; + componentDatatype = ComponentDatatype.FLOAT; } + attributes.push({ + index : normalLocation, + vertexBuffer : normalsVertexBuffer, + componentsPerAttribute : componentsPerAttribute, + componentDatatype : componentDatatype, + normalize : false, + offsetInBytes : 0, + strideInBytes : 0 + }); } if (hasBatchIds) { @@ -797,7 +888,9 @@ define([ var hasBatchTable = defined(batchTable); var hasStyle = defined(style); var isQuantized = content._isQuantized; + var isQuantizedDraco = content._isQuantizedDraco; var isOctEncoded16P = content._isOctEncoded16P; + var isOctEncodedDraco = content._isOctEncodedDraco; var isRGB565 = content._isRGB565; var isTranslucent = content._isTranslucent; var hasColors = content._hasColors; @@ -853,8 +946,8 @@ define([ pointSizeStyleFunction = modifyStyleFunction(pointSizeStyleFunction); } - var usesColorSemantic = styleableProperties.indexOf('COLOR') >= 0; - var usesNormalSemantic = styleableProperties.indexOf('NORMAL') >= 0; + var usesColorSemantic = (styleableProperties.indexOf('COLOR') >= 0); + var usesNormalSemantic = (styleableProperties.indexOf('NORMAL') >= 0); // Split default properties from user properties var userProperties = styleableProperties.filter(function(property) { return defaultProperties.indexOf(property) === -1; }); @@ -948,7 +1041,7 @@ define([ } } if (hasNormals) { - if (isOctEncoded16P) { + if (isOctEncoded16P || isOctEncodedDraco) { vs += 'attribute vec2 a_normal; \n'; } else { vs += 'attribute vec3 a_normal; \n'; @@ -959,8 +1052,8 @@ define([ vs += 'attribute float a_batchId; \n'; } - if (isQuantized) { - vs += 'uniform vec3 u_quantizedVolumeScale; \n'; + if (isQuantized || isQuantizedDraco || isOctEncodedDraco) { + vs += 'uniform vec4 u_quantizedVolumeScaleAndOctEncodedRange; \n'; } if (hasColorStyle) { @@ -1004,8 +1097,8 @@ define([ vs += ' vec4 color = u_constantColor; \n'; } - if (isQuantized) { - vs += ' vec3 position = a_position * u_quantizedVolumeScale; \n'; + if (isQuantized || isQuantizedDraco) { + vs += ' vec3 position = a_position * u_quantizedVolumeScaleAndOctEncodedRange.xyz; \n'; } else { vs += ' vec3 position = a_position; \n'; } @@ -1014,6 +1107,9 @@ define([ if (hasNormals) { if (isOctEncoded16P) { vs += ' vec3 normal = czm_octDecode(a_normal); \n'; + } else if (isOctEncodedDraco) { + // Draco oct-encoding decodes to zxy order + vs += ' vec3 normal = czm_octDecode(a_normal, u_quantizedVolumeScaleAndOctEncodedRange.w).zxy; \n'; } else { vs += ' vec3 normal = a_normal; \n'; } @@ -1180,16 +1276,79 @@ define([ var scratchComputedTranslation = new Cartesian4(); var scratchComputedMatrixIn2D = new Matrix4(); + var scratchModelMatrix = new Matrix4(); + + function decodeDraco(content, context) { + if (content._decodingState === DecodingState.READY) { + return false; + } + if (content._decodingState === DecodingState.NEEDS_DECODE) { + var parsedContent = content._parsedContent; + var draco = parsedContent.draco; + var decodePromise = DracoLoader.decodePointCloud(draco, context); + if (defined(decodePromise)) { + content._decodingState = DecodingState.DECODING; + decodePromise.then(function(result) { + content._decodingState = DecodingState.READY; + var decodedPositions = defined(result.POSITION) ? result.POSITION.array : undefined; + var decodedRgb = defined(result.RGB) ? result.RGB.array : undefined; + var decodedRgba = defined(result.RGBA) ? result.RGBA.array : undefined; + var decodedNormals = defined(result.NORMAL) ? result.NORMAL.array : undefined; + var decodedBatchIds = defined(result.BATCH_ID) ? result.BATCH_ID.array : undefined; + var isQuantizedDraco = defined(decodedPositions) && defined(result.POSITION.data.quantization); + var isOctEncodedDraco = defined(decodedNormals) && defined(result.NORMAL.data.quantization); + if (isQuantizedDraco) { + var quantization = result.POSITION.data.quantization; + var scale = quantization.range / (1 << quantization.quantizationBits); + content._quantizedVolumeScale = Cartesian3.fromElements(scale, scale, scale); + content._quantizedVolumeOffset = Cartesian3.unpack(quantization.minValues); + content._quantizedRange = (1 << quantization.quantizationBits) - 1.0; + content._isQuantizedDraco = true; + } + if (isOctEncodedDraco) { + content._octEncodedRange = (1 << result.NORMAL.data.quantization.quantizationBits) - 1.0; + content._isOctEncodedDraco = true; + } + var styleableProperties = parsedContent.styleableProperties; + var batchTableProperties = draco.batchTableProperties; + for (var name in batchTableProperties) { + if (batchTableProperties.hasOwnProperty(name)) { + var property = result[name]; + if (!defined(styleableProperties)) { + styleableProperties = {}; + } + styleableProperties[name] = { + typedArray : property.array, + componentCount : property.data.componentsPerAttribute + }; + } + } + parsedContent.positions = defaultValue(decodedPositions, parsedContent.positions); + parsedContent.colors = defaultValue(defaultValue(decodedRgba, decodedRgb), parsedContent.colors); + parsedContent.normals = defaultValue(decodedNormals, parsedContent.normals); + parsedContent.batchIds = defaultValue(decodedBatchIds, parsedContent.batchIds); + parsedContent.styleableProperties = styleableProperties; + }).otherwise(function(error) { + content._decodingState = DecodingState.FAILED; + content._readyPromise.reject(error); + }); + } + } + return true; + } PointCloud3DTileContent.prototype.update = function(tileset, frameState) { + var context = frameState.context; + if (decodeDraco(this, context)) { + return; + } + var modelMatrix = this._tile.computedTransform; var modelMatrixChanged = !Matrix4.equals(this._modelMatrix, modelMatrix); var updateModelMatrix = modelMatrixChanged || this._mode !== frameState.mode; this._mode = frameState.mode; - var context = frameState.context; - if (!defined(this._drawCommand)) { createResources(this, frameState); createShaders(this, frameState, tileset.style); @@ -1226,17 +1385,17 @@ define([ if (updateModelMatrix) { Matrix4.clone(modelMatrix, this._modelMatrix); + modelMatrix = Matrix4.clone(modelMatrix, scratchModelMatrix); + if (defined(this._rtcCenter)) { - Matrix4.multiplyByTranslation(modelMatrix, this._rtcCenter, this._drawCommand.modelMatrix); - } else if (defined(this._quantizedVolumeOffset)) { - Matrix4.multiplyByTranslation(modelMatrix, this._quantizedVolumeOffset, this._drawCommand.modelMatrix); - } else { - Matrix4.clone(modelMatrix, this._drawCommand.modelMatrix); + Matrix4.multiplyByTranslation(modelMatrix, this._rtcCenter, modelMatrix); + } + if (defined(this._quantizedVolumeOffset)) { + Matrix4.multiplyByTranslation(modelMatrix, this._quantizedVolumeOffset, modelMatrix); } if (frameState.mode !== SceneMode.SCENE3D) { var projection = frameState.mapProjection; - modelMatrix = this._drawCommand.modelMatrix; var translation = Matrix4.getColumn(modelMatrix, 3, scratchComputedTranslation); if (!Cartesian4.equals(translation, Cartesian4.UNIT_W)) { Transforms.basisTo2D(projection, modelMatrix, modelMatrix); @@ -1247,6 +1406,8 @@ define([ } } + Matrix4.clone(modelMatrix, this._drawCommand.modelMatrix); + var boundingVolume; if (defined(this._tile._contentBoundingVolume)) { boundingVolume = this._mode === SceneMode.SCENE3D ? this._tile._contentBoundingVolume.boundingSphere : this._tile._contentBoundingVolume2D.boundingSphere; diff --git a/Source/ThirdParty/Workers/draco_decoder.js b/Source/ThirdParty/Workers/draco_decoder.js index 987af67d4ca4..03dda14449ef 100644 --- a/Source/ThirdParty/Workers/draco_decoder.js +++ b/Source/ThirdParty/Workers/draco_decoder.js @@ -1,21 +1,21 @@ var DracoDecoderModule = function(DracoDecoderModule) { DracoDecoderModule = DracoDecoderModule || {}; -var Module=typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:{};var isRuntimeInitialized=false;var isModuleParsed=false;Module["onRuntimeInitialized"]=(function(){isRuntimeInitialized=true;if(isModuleParsed){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}});Module["onModuleParsed"]=(function(){isModuleParsed=true;if(isRuntimeInitialized){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}});function isVersionSupported(versionString){if(typeof versionString!=="string")return false;const version=versionString.split(".");if(version.length<2||version.length>3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["fround"]){var froundBuffer=new Float32Array(1);Math["fround"]=(function(x){froundBuffer[0]=x;return froundBuffer[0]})}Math.fround=Math["fround"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+18080;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,TBIAAJQSAAAYAAAAAAAAACQSAAC7EgAATBIAANgSAAAYAAAAAAAAAEwSAAABEwAAQAAAAAAAAAAkEgAAHRMAAEwSAACxEwAAMAAAAAAAAAAkEgAA0xMAAEwSAAD4EwAAMAAAAAAAAABMEgAAjSAAAFgAAAAAAAAATBIAACgUAACQAAAAAAAAAEwSAACBFAAAoAAAAAAAAABMEgAA1RQAALAAAAAAAAAATBIAAAkVAADAAAAAAAAAACQSAAA0FQAATBIAAFgVAADYAAAAAAAAACQSAAD2FQAATBIAAJQWAADwAAAAAAAAAEwSAAAsFwAAkAAAAAAAAABMEgAAtRcAAPAAAAAAAAAATBIAAE8YAADwAAAAAAAAAEwSAADhGAAA8AAAAAAAAABMEgAAhxkAAPAAAAAAAAAATBIAACIaAADwAAAAAAAAAEwSAAC4GgAAYAEAAAAAAAAkEgAAYxsAAEwSAAAOHAAAeAEAAAAAAABMEgAAsxwAAJAAAAAAAAAATBIAAEkdAAB4AQAAAAAAAEwSAADwHQAAeAEAAAAAAABMEgAAjx4AAHgBAAAAAAAATBIAAEIfAAB4AQAAAAAAAEwSAADqHwAAeAEAAAAAAABMEgAATS0AAHAAAAAAAAAATBIAALkgAAD4AQAAAAAAAEwSAAAqIQAAoAAAAAAAAABMEgAAliEAABgCAAAAAAAAJBIAAEwiAABMEgAAAiMAADACAAAAAAAATBIAALIjAAD4AQAAAAAAAEwSAABTJAAAUAIAAAAAAAAkEgAAFiUAAEwSAADZJQAAaAIAAAAAAABMEgAAliYAAPgBAAAAAAAATBIAAEQnAACIAgAAAAAAAEwSAACoJwAAoAAAAAAAAABMEgAABygAAKgCAAAAAAAAJBIAALAoAABMEgAAWSkAAMACAAAAAAAATBIAAPwpAACIAgAAAAAAAEwSAACQKgAA4AIAAAAAAAAkEgAARisAAEwSAAD8KwAA+AIAAAAAAABMEgAArCwAAIgCAAAAAAAATBIAAHgtAABwAAAAAAAAAEwSAAAQLgAA2AMAAAAAAABMEgAAJi4AABgDAAAAAAAATBIAABQxAACQAwAAAAAAACQSAABHLgAATBIAAI8uAABgAwAAAAAAACQSAABZLwAAJBIAAHMvAABMEgAAri8AAGADAAAAAAAATBIAAFcwAABgAwAAAAAAACQSAABgMQAATBIAAI4xAACQAwAAAAAAAEwSAADkMQAAkAMAAAAAAABMEgAAUTIAABgDAAAAAAAATBIAADcyAABgAwAAAAAAACQSAABxMgAATBIAAKQzAADYAwAAAAAAAEwSAADGMwAA2AMAAAAAAABMEgAA7DMAABAEAAAAAAAAJBIAAPozAAAkEgAAnj4AAEwSAAD+PgAAMAQAAAAAAABMEgAAqz4AAEAEAAAAAAAAJBIAAMw+AABMEgAA2T4AACAEAAAAAAAATBIAAOA/AAAYBAAAAAAAAEwSAADwPwAAWAQAAAAAAABMEgAAJUAAADAEAAAAAAAATBIAAAFAAAB4BAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAACAAAAAEAAAACAAAAAQAAAAEAAAABAAAAAAAAACAAAAADAAAABAAAAAIAAAACAAAAAgAAAAAAAAAwAAAABQAAAAYAAAABAAAAAwAAAAQAAAAFAAAAAwAAAAQAAAAGAAAAAQAAAAcAAAAFAAAAAAAAAEgAAAAHAAAACAAAAAEAAAADAAAABAAAAAUAAAADAAAABAAAAAYAAAAIAAAACQAAAAYAAAAAAAAAWAAAAAkAAAAKAAAAAgAAAAoAAAADAAAABAAAAAsAAAAMAAAABQAAAP////8AAAAAYAAAAAsAAAAMAAAAAQAAAA0AAAAOAAAABQAAAAMAAAAEAAAADwAAABAAAAARAAAABwAAAAEAAAAAAAAAcAAAAA0AAAAOAAAABgAAAAoAAAADAAAABAAAABIAAAAMAAAABwAAAAgAAAABAAAACAAAABMAAAAAAAAAkAAAAA8AAAAQAAAAAQAAAAkAAAABAAAACgAAABQAAAAVAAAACwAAAAwAAAAWAAAAAQAAAAAAAACAAAAADwAAABEAAAANAAAACQAAAA4AAAAKAAAAFAAAABUAAAALAAAADAAAABYAAAABAAAAAAAAAEABAAAPAAAAEgAAAA8AAAAJAAAAEAAAAAoAAAAUAAAAFQAAAAsAAAAMAAAAFgAAAAIAAAAAAAAAMAEAAA8AAAATAAAAEQAAAAkAAAASAAAACgAAABQAAAAVAAAACwAAAAwAAAAWAAAAAwAAAAAAAAAgAQAAFAAAABUAAAATAAAACQAAABQAAAAKAAAAFAAAABUAAAALAAAADAAAABcAAAAEAAAAAAAAABABAAAWAAAAFwAAABUAAAAJAAAAFgAAABcAAAAYAAAAGQAAAAsAAAAMAAAAGgAAAAUAAAAAAAAAAAEAABgAAAAZAAAAGAAAAAkAAAAZAAAAGgAAABsAAAAcAAAACwAAAAwAAAAdAAAABgAAAAAAAADgAAAAGgAAABsAAAAbAAAACQAAABwAAAAdAAAAHgAAAB8AAAALAAAADAAAACAAAAAHAAAAAAAAAMgAAAAcAAAAHQAAACEAAAAeAAAAAgAAAAAAAADIAQAADwAAAB4AAAAfAAAACQAAACAAAAAKAAAAFAAAABUAAAALAAAADAAAABYAAAAIAAAAAAAAALgBAAAPAAAAHwAAACEAAAAJAAAAIgAAAAoAAAAUAAAAFQAAAAsAAAAMAAAAFgAAAAkAAAAAAAAAqAEAACAAAAAhAAAAIwAAAAkAAAAkAAAACgAAABQAAAAVAAAACwAAAAwAAAAiAAAACgAAAAAAAACYAQAAIgAAACMAAAAlAAAACQAAACYAAAAnAAAAIwAAACQAAAALAAAADAAAACUAAAALAAAAAAAAAIgBAAAkAAAAJQAAACgAAAAJAAAAKQAAACoAAAAmAAAAJwAAAAsAAAAMAAAAKAAAAAwAAAAAAAAAaAEAACYAAAAnAAAAKwAAAAkAAAAsAAAALQAAACkAAAAqAAAACwAAAAwAAAArAAAADQAAAAAAAABQAQAAKAAAACkAAAAsAAAALgAAAAMAAAAAAAAA2AEAAA0AAAAqAAAACQAAAAoAAAADAAAACgAAABIAAAAMAAAABwAAAAsAAAACAAAALwAAAC0AAAAAAAAAeAIAACsAAAAsAAAAMAAAADEAAAAyAAAAMwAAAC4AAAAvAAAANAAAADUAAAAwAAAADgAAAAAAAADoAQAAKwAAAC0AAAA2AAAANwAAADgAAAA5AAAAMQAAADIAAAA6AAAAOwAAADMAAAAPAAAAAAAAAFgCAAAuAAAALwAAADwAAAA3AAAAPQAAAD4AAAA0AAAANQAAADoAAAA7AAAANgAAABAAAAAAAAAAQAIAADAAAAAxAAAANwAAAD8AAAAEAAAAAAAAACACAAAyAAAAMwAAAEAAAAA3AAAAQQAAAEIAAAA4AAAAOQAAADoAAAA7AAAAOgAAABEAAAAAAAAACAIAADQAAAA1AAAAOwAAAEMAAAAFAAAAAAAAAOgCAAA2AAAANwAAAEQAAAAxAAAARQAAAEYAAAA8AAAAPQAAADQAAAA1AAAAPgAAABIAAAAAAAAA0AIAADgAAAA5AAAAPwAAAEcAAAAGAAAAAAAAALACAAA6AAAAOwAAAEgAAAAxAAAASQAAAEoAAABAAAAAQQAAADQAAAA1AAAAQgAAABMAAAAAAAAAmAIAADwAAAA9AAAAQwAAAEsAAAAHAAAAAAAAAAgDAAA+AAAAPwAAAAwAAAAKAAAAAwAAAA0AAAASAAAADAAAAAcAAAAOAAAAAQAAAAgAAABEAAAATAAAAEUAAAAAAAAAGAMAAEAAAABBAAAATQAAAE4AAAABAAAATwAAAFAAAABRAAAAUgAAAFMAAABGAAAARwAAAAEAAAAAAAAAKAMAAEIAAABDAAAATQAAAFQAAABIAAAATwAAAFAAAABRAAAAVQAAAFYAAABJAAAASgAAAFcAAAAAAAAAOAMAAEQAAABFAAAASwAAAEwAAABNAAAATgAAAFgAAABZAAAAWgAAAFsAAAD/////AAAAAFADAABGAAAARwAAAE8AAABcAAAAAAAAAEgDAABIAAAASQAAAEoAAAD/////AAAAAHADAABLAAAATAAAAFAAAABdAAAAAAAAAGgDAABNAAAATgAAAE8AAAAAAAAAgAMAAFAAAABRAAAAUQAAAF4AAAAAAAAAmAMAAFIAAABTAAAAUgAAAFMAAABUAAAAVQAAAF8AAABgAAAAYQAAAGIAAAAAAAAAqAMAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAGMAAABkAAAAZQAAAGYAAAAAAAAAAQAAAAMAAAAFAAAABwAAAAAAAAC4AwAAQAAAAFYAAABNAAAATgAAAFoAAABPAAAAUAAAAFEAAABSAAAAUwAAAEYAAABHAAAAZwAAAAAAAADIAwAAVwAAAFgAAABbAAAAaAAAAAAAAADYAwAAQAAAAFkAAABpAAAATgAAAAEAAABqAAAAUAAAAFEAAABSAAAAAAAAAOADAABAAAAAWgAAAGkAAABOAAAAXAAAAGsAAABQAAAAUQAAAFIAAAAAAAAA8AMAAEAAAABbAAAAaQAAAE4AAABdAAAAbAAAAFAAAABRAAAAUgAAAP//////////AAAAAAAEAABcAAAAXQAAAAgAAAADAAAA/////wAAAAAQBAAAXgAAAF8AAAAJAAAABAAAACwOAAAFAAAAAAAAAAAAAABtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAEAAAAJBCAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArA4AAAUAAAAAAAAAAAAAAG0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAQAAAAmEIAAAAEAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAr/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAAUAAAAHAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB/AAAAgwAAAIkAAACLAAAAlQAAAJcAAACdAAAAowAAAKcAAACtAAAAswAAALUAAAC/AAAAwQAAAMUAAADHAAAA0wAAAAEAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8AAABTAAAAWQAAAGEAAABlAAAAZwAAAGsAAABtAAAAcQAAAHkAAAB/AAAAgwAAAIkAAACLAAAAjwAAAJUAAACXAAAAnQAAAKMAAACnAAAAqQAAAK0AAACzAAAAtQAAALsAAAC/AAAAwQAAAMUAAADHAAAA0QAAAAIAAAAAAAAAIAQAAGAAAABhAAAAYgAAAGMAAAATAAAAAQAAAAEAAAADAAAAAAAAAEgEAABgAAAAZAAAAGIAAABjAAAAEwAAAAIAAAACAAAABAAAAAAAAABYBAAAZQAAAGYAAABuAAAAAAAAAGgEAABlAAAAZwAAAG4AAABONWRyYWNvMjhBdHRyaWJ1dGVPY3RhaGVkcm9uVHJhbnNmb3JtRQBONWRyYWNvMThBdHRyaWJ1dGVUcmFuc2Zvcm1FAE41ZHJhY28zMEF0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybUUATjVkcmFjbzE3QXR0cmlidXRlc0RlY29kZXJFAE41ZHJhY28yNkF0dHJpYnV0ZXNEZWNvZGVySW50ZXJmYWNlRQBLZFRyZWVBdHRyaWJ1dGVzRGVjb2RlcjogY29tcHJlc3Npb24gbGV2ZWwgJWkgbm90IHN1cHBvcnRlZC4KAE1ldGhvZCBub3Qgc3VwcG9ydGVkLiAKAFZlcnNpb24gbm90IHN1cHBvcnRlZC4gCgBONWRyYWNvMjNLZFRyZWVBdHRyaWJ1dGVzRGVjb2RlckUATjVkcmFjbzI2U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJFAE41ZHJhY28zN1NlcXVlbnRpYWxBdHRyaWJ1dGVEZWNvZGVyc0NvbnRyb2xsZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzM3UHJlZGljdGlvblNjaGVtZVR5cGVkRGVjb2RlckludGVyZmFjZUlpaUVFAE41ZHJhY28zMlByZWRpY3Rpb25TY2hlbWVEZWNvZGVySW50ZXJmYWNlRQBONWRyYWNvMjVQcmVkaWN0aW9uU2NoZW1lSW50ZXJmYWNlRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0RlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzMzU2VxdWVudGlhbEludGVnZXJBdHRyaWJ1dGVEZWNvZGVyRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzMyU2VxdWVudGlhbE5vcm1hbEF0dHJpYnV0ZURlY29kZXJFAE41ZHJhY28zOFNlcXVlbnRpYWxRdWFudGl6YXRpb25BdHRyaWJ1dGVEZWNvZGVyRQBVbnN1cHBvcnRlZCBlbmNvZGluZyBtZXRob2QuAElucHV0IGlzIG5vdCBhIG1lc2guAElucHV0IGlzIG5vdCBhIHBvaW50IGNsb3VkLgBza2lwX2F0dHJpYnV0ZV90cmFuc2Zvcm0ATjVkcmFjbzExTWVzaERlY29kZXJFAE41ZHJhY28yMk1lc2hFZGdlQnJlYWtlckRlY29kZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjBFZGdlQnJlYWtlclRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMTVQb2ludHNTZXF1ZW5jZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yNVByZWRpY3Rpb25EZWdyZWVUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVFRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjBFZGdlQnJlYWtlclRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRU5TXzE5RWRnZUJyZWFrZXJPYnNlcnZlckVFRUVFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckRlY29kZXJJbXBsSU5TXzMxTWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsRGVjb2RlckVFRQBONWRyYWNvMzVNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbEludGVyZmFjZUUATjVkcmFjbzI2TWVzaEVkZ2VCcmVha2VyRGVjb2RlckltcGxJTlNfNDFNZXNoRWRnZUJyZWFrZXJUcmF2ZXJzYWxQcmVkaWN0aXZlRGVjb2RlckVFRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbElOU18zOE1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbFZhbGVuY2VEZWNvZGVyRUVFAE41ZHJhY28xNUxpbmVhclNlcXVlbmNlckUATjVkcmFjbzIxTWVzaFNlcXVlbnRpYWxEZWNvZGVyRQBONWRyYWNvMTdQb2ludENsb3VkRGVjb2RlckUARmFpbGVkIHRvIHBhcnNlIERyYWNvIGhlYWRlci4ARFJBQ08ATm90IGEgRHJhY28gZmlsZS4ARmFpbGVkIHRvIGRlY29kZSBtZXRhZGF0YS4AVXNpbmcgaW5jb21wYXRpYmxlIGRlY29kZXIgZm9yIHRoZSBpbnB1dCBnZW9tZXRyeS4AVW5rbm93biBtYWpvciB2ZXJzaW9uLgBVbmtub3duIG1pbm9yIHZlcnNpb24uAEZhaWxlZCB0byBpbml0aWFsaXplIHRoZSBkZWNvZGVyLgBGYWlsZWQgdG8gZGVjb2RlIGdlb21ldHJ5IGRhdGEuAEZhaWxlZCB0byBkZWNvZGUgcG9pbnQgYXR0cmlidXRlcy4ATjVkcmFjbzIzUG9pbnRDbG91ZEtkVHJlZURlY29kZXJFAE41ZHJhY28yN1BvaW50Q2xvdWRTZXF1ZW50aWFsRGVjb2RlckUATjVkcmFjbzRNZXNoRQBONWRyYWNvMTBQb2ludENsb3VkRQBGbG9hdFBvaW50c1RyZWVEZWNvZGVyOiBjb21wcmVzc2lvbiBsZXZlbCAlaSBub3Qgc3VwcG9ydGVkLgoAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAwMTIzNDU2Nzg5QUJDREVGLgBUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AACVkAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXM6ICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXMAdGVybWluYXRpbmcgd2l0aCAlcyBmb3JlaWduIGV4Y2VwdGlvbgB0ZXJtaW5hdGluZwB1bmNhdWdodABTdDlleGNlcHRpb24ATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAU3Q5dHlwZV9pbmZvAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAcHRocmVhZF9vbmNlIGZhaWx1cmUgaW4gX19jeGFfZ2V0X2dsb2JhbHNfZmFzdCgpAGNhbm5vdCBjcmVhdGUgcHRocmVhZCBrZXkgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAY2Fubm90IHplcm8gb3V0IHRocmVhZCB2YWx1ZSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQB0ZXJtaW5hdGVfaGFuZGxlciB1bmV4cGVjdGVkbHkgcmV0dXJuZWQAU3QxMWxvZ2ljX2Vycm9yAFN0MTJsZW5ndGhfZXJyb3IATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19wYmFzZV90eXBlX2luZm9F";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffers){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=(function(title){document.title=title})}else{throw new Error("not compiled for this environment")}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["fround"]){var froundBuffer=new Float32Array(1);Math["fround"]=(function(x){froundBuffer[0]=x;return froundBuffer[0]})}Math.fround=Math["fround"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+17904;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,8BIAADgTAAAYAAAAAAAAAMgSAABfEwAA8BIAAHwTAAAYAAAAAAAAAPASAAClEwAAQAAAAAAAAADIEgAAwRMAAPASAABVFAAAMAAAAAAAAADIEgAAdxQAAPASAACcFAAAMAAAAAAAAADwEgAAMSEAAFgAAAAAAAAA8BIAAMwUAACQAAAAAAAAAPASAAAlFQAAoAAAAAAAAADwEgAAeRUAALAAAAAAAAAA8BIAAK0VAADAAAAAAAAAAMgSAADYFQAA8BIAAPwVAADYAAAAAAAAAMgSAACaFgAA8BIAADgXAADwAAAAAAAAAPASAADQFwAAkAAAAAAAAADwEgAAWRgAAPAAAAAAAAAA8BIAAPMYAADwAAAAAAAAAPASAACFGQAA8AAAAAAAAADwEgAAKxoAAPAAAAAAAAAA8BIAAMYaAADwAAAAAAAAAPASAABcGwAAYAEAAAAAAADIEgAABxwAAPASAACyHAAAeAEAAAAAAADwEgAAVx0AAJAAAAAAAAAA8BIAAO0dAAB4AQAAAAAAAPASAACUHgAAeAEAAAAAAADwEgAAMx8AAHgBAAAAAAAA8BIAAOYfAAB4AQAAAAAAAPASAACOIAAAeAEAAAAAAADwEgAA8S0AAHAAAAAAAAAA8BIAAF0hAAD4AQAAAAAAAPASAADOIQAAoAAAAAAAAADwEgAAOiIAABgCAAAAAAAAyBIAAPAiAADwEgAApiMAADACAAAAAAAA8BIAAFYkAAD4AQAAAAAAAPASAAD3JAAAUAIAAAAAAADIEgAAuiUAAPASAAB9JgAAaAIAAAAAAADwEgAAOicAAPgBAAAAAAAA8BIAAOgnAACIAgAAAAAAAPASAABMKAAAoAAAAAAAAADwEgAAqygAAKgCAAAAAAAAyBIAAFQpAADwEgAA/SkAAMACAAAAAAAA8BIAAKAqAACIAgAAAAAAAPASAAA0KwAA4AIAAAAAAADIEgAA6isAAPASAACgLAAA+AIAAAAAAADwEgAAUC0AAIgCAAAAAAAA8BIAABwuAABwAAAAAAAAAPASAAC0LgAA2AMAAAAAAADwEgAAyi4AABgDAAAAAAAA8BIAALgxAACQAwAAAAAAAMgSAADrLgAA8BIAADMvAABgAwAAAAAAAMgSAAD9LwAAyBIAABcwAADwEgAAUjAAAGADAAAAAAAA8BIAAPswAABgAwAAAAAAAMgSAAAEMgAA8BIAADIyAACQAwAAAAAAAPASAACIMgAAkAMAAAAAAADwEgAA9TIAABgDAAAAAAAA8BIAANsyAABgAwAAAAAAAMgSAAAVMwAA8BIAAEg0AADYAwAAAAAAAPASAABqNAAA2AMAAAAAAADwEgAAkDQAABAEAAAAAAAAyBIAAJ40AADIEgAAsT4AAPASAAARPwAAMAQAAAAAAADwEgAAvj4AAEAEAAAAAAAAyBIAAN8+AADwEgAA7D4AACAEAAAAAAAA8BIAADM/AAAYBAAAAAAAAPASAABDPwAAWAQAAAAAAADwEgAAeD8AADAEAAAAAAAA8BIAAFQ/AAB4BAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAACAAAAAEAAAACAAAAAQAAAAEAAAABAAAAAAAAACAAAAADAAAABAAAAAIAAAACAAAAAgAAAAAAAAAwAAAABQAAAAYAAAABAAAAAwAAAAQAAAAFAAAAAwAAAAQAAAAGAAAAAQAAAAcAAAAFAAAAAAAAAEgAAAAHAAAACAAAAAEAAAADAAAABAAAAAUAAAADAAAABAAAAAYAAAAIAAAACQAAAAYAAAAAAAAAWAAAAAkAAAAKAAAAAgAAAAoAAAADAAAABAAAAAsAAAAMAAAABQAAAP////8AAAAAYAAAAAsAAAAMAAAAAQAAAA0AAAAOAAAABQAAAAMAAAAEAAAADwAAABAAAAARAAAABwAAAAEAAAAAAAAAcAAAAA0AAAAOAAAABgAAAAoAAAADAAAABAAAABIAAAAMAAAABwAAAAgAAAABAAAACAAAABMAAAAAAAAAkAAAAA8AAAAQAAAAAQAAAAkAAAABAAAACgAAABQAAAAVAAAACwAAAAwAAAAWAAAAAQAAAAAAAACAAAAADwAAABEAAAANAAAACQAAAA4AAAAKAAAAFAAAABUAAAALAAAADAAAABYAAAABAAAAAAAAAEABAAAPAAAAEgAAAA8AAAAJAAAAEAAAAAoAAAAUAAAAFQAAAAsAAAAMAAAAFgAAAAIAAAAAAAAAMAEAAA8AAAATAAAAEQAAAAkAAAASAAAACgAAABQAAAAVAAAACwAAAAwAAAAWAAAAAwAAAAAAAAAgAQAAFAAAABUAAAATAAAACQAAABQAAAAKAAAAFAAAABUAAAALAAAADAAAABcAAAAEAAAAAAAAABABAAAWAAAAFwAAABUAAAAJAAAAFgAAABcAAAAYAAAAGQAAAAsAAAAMAAAAGgAAAAUAAAAAAAAA8AAAAA8AAAAYAAAAAQAAAAkAAAABAAAACgAAABQAAAAVAAAACwAAAAwAAAAWAAAAAQAAAAAAAADgAAAAGQAAABoAAAAYAAAACQAAABkAAAAaAAAAGwAAABwAAAALAAAADAAAAB0AAAAGAAAAAAAAANgAAAAbAAAAHAAAAAEAAAAbAAAAAQAAAAAAAADIAAAAGwAAAB0AAAAeAAAAGwAAAAIAAAAAAAAAAAEAAB4AAAAfAAAAHAAAAAkAAAAdAAAAHgAAAB8AAAAgAAAACwAAAAwAAAAhAAAABwAAAAAAAADIAQAADwAAACAAAAAfAAAACQAAACAAAAAKAAAAFAAAABUAAAALAAAADAAAABYAAAAIAAAAAAAAALgBAAAPAAAAIQAAACEAAAAJAAAAIgAAAAoAAAAUAAAAFQAAAAsAAAAMAAAAFgAAAAkAAAAAAAAAqAEAACIAAAAjAAAAIwAAAAkAAAAkAAAACgAAABQAAAAVAAAACwAAAAwAAAAiAAAACgAAAAAAAACYAQAAJAAAACUAAAAlAAAACQAAACYAAAAnAAAAIwAAACQAAAALAAAADAAAACUAAAALAAAAAAAAAHgBAAAPAAAAJgAAAAEAAAAJAAAAAQAAAAoAAAAUAAAAFQAAAAsAAAAMAAAAFgAAAAEAAAAAAAAAaAEAACcAAAAoAAAAKAAAAAkAAAApAAAAKgAAACYAAAAnAAAACwAAAAwAAAAoAAAADAAAAAAAAABgAQAAKQAAACoAAAABAAAAKwAAAAEAAAAAAAAAUAEAACkAAAArAAAAKQAAACsAAAADAAAAAAAAAIgBAAAsAAAALQAAACwAAAAJAAAALQAAAC4AAAAqAAAAKwAAAAsAAAAMAAAALAAAAA0AAAAAAAAA2AEAAA0AAAAuAAAACQAAAAoAAAADAAAACgAAABIAAAAMAAAABwAAAAsAAAACAAAALwAAAC0AAAAAAAAAeAIAAC8AAAAwAAAAMAAAADEAAAAyAAAAMwAAAC4AAAAvAAAANAAAADUAAAAwAAAADgAAAAAAAADoAQAALwAAADEAAAA2AAAANwAAADgAAAA5AAAAMQAAADIAAAA6AAAAOwAAADMAAAAPAAAAAAAAAFgCAAAyAAAAMwAAADwAAAA3AAAAPQAAAD4AAAA0AAAANQAAADoAAAA7AAAANgAAABAAAAAAAAAAQAIAADQAAAA1AAAANwAAAD8AAAAEAAAAAAAAACACAAA2AAAANwAAAEAAAAA3AAAAQQAAAEIAAAA4AAAAOQAAADoAAAA7AAAAOgAAABEAAAAAAAAACAIAADgAAAA5AAAAOwAAAEMAAAAFAAAAAAAAAOgCAAA6AAAAOwAAAEQAAAAxAAAARQAAAEYAAAA8AAAAPQAAADQAAAA1AAAAPgAAABIAAAAAAAAA0AIAADwAAAA9AAAAPwAAAEcAAAAGAAAAAAAAALACAAA+AAAAPwAAAEgAAAAxAAAASQAAAEoAAABAAAAAQQAAADQAAAA1AAAAQgAAABMAAAAAAAAAmAIAAEAAAABBAAAAQwAAAEsAAAAHAAAAAAAAAAgDAABCAAAAQwAAAAwAAAAKAAAAAwAAAA0AAAASAAAADAAAAAcAAAAOAAAAAQAAAAgAAABEAAAATAAAAEUAAAAAAAAAGAMAAEQAAABFAAAATQAAAE4AAAABAAAATwAAAFAAAABRAAAAUgAAAFMAAABGAAAARwAAAAEAAAAAAAAAKAMAAEYAAABHAAAATQAAAFQAAABIAAAATwAAAFAAAABRAAAAVQAAAFYAAABJAAAASgAAAFcAAAAAAAAAOAMAAEgAAABJAAAASwAAAEwAAABNAAAATgAAAFgAAABZAAAAWgAAAFsAAAD/////AAAAAFADAABKAAAASwAAAE8AAABcAAAAAAAAAEgDAABMAAAATQAAAE4AAAD/////AAAAAHADAABPAAAAUAAAAFAAAABdAAAAAAAAAGgDAABRAAAAUgAAAFMAAAAAAAAAgAMAAFQAAABVAAAAUQAAAF4AAAAAAAAAmAMAAFYAAABXAAAAUgAAAFMAAABUAAAAVQAAAF8AAABgAAAAYQAAAGIAAAAAAAAAqAMAAFgAAABZAAAAVgAAAFcAAABYAAAAWQAAAGMAAABkAAAAZQAAAGYAAAAAAAAAAQAAAAMAAAAFAAAABwAAAAAAAAC4AwAARAAAAFoAAABNAAAATgAAAFoAAABPAAAAUAAAAFEAAABSAAAAUwAAAEYAAABHAAAAZwAAAAAAAADIAwAAWwAAAFwAAABbAAAAaAAAAAAAAADYAwAARAAAAF0AAABpAAAATgAAAAEAAABqAAAAUAAAAFEAAABSAAAAAAAAAOADAABEAAAAXgAAAGkAAABOAAAAXAAAAGsAAABQAAAAUQAAAFIAAAAAAAAA8AMAAEQAAABfAAAAaQAAAE4AAABdAAAAbAAAAFAAAABRAAAAUgAAAP//////////AAAAAAAEAABgAAAAYQAAAAgAAAADAAAA/////wAAAAAQBAAAYgAAAGMAAAAJAAAABAAAANQOAAAFAAAAAAAAAAAAAABtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAEAAAAOBBAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVA8AAAUAAAAAAAAAAAAAAG0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAQAAAA6EEAAAAEAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAr/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4QQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAAUAAAAHAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB/AAAAgwAAAIkAAACLAAAAlQAAAJcAAACdAAAAowAAAKcAAACtAAAAswAAALUAAAC/AAAAwQAAAMUAAADHAAAA0wAAAAEAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8AAABTAAAAWQAAAGEAAABlAAAAZwAAAGsAAABtAAAAcQAAAHkAAAB/AAAAgwAAAIkAAACLAAAAjwAAAJUAAACXAAAAnQAAAKMAAACnAAAAqQAAAK0AAACzAAAAtQAAALsAAAC/AAAAwQAAAMUAAADHAAAA0QAAAAAAAAAgBAAAZAAAAGUAAABmAAAAZwAAABMAAAABAAAAAQAAAAMAAAAAAAAASAQAAGQAAABoAAAAZgAAAGcAAAATAAAAAgAAAAIAAAAEAAAAAAAAAFgEAABpAAAAagAAAG4AAAAAAAAAaAQAAGkAAABrAAAAbgAAAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUATjVkcmFjbzMwQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtRQBONWRyYWNvMTdBdHRyaWJ1dGVzRGVjb2RlckUATjVkcmFjbzI2QXR0cmlidXRlc0RlY29kZXJJbnRlcmZhY2VFAEtkVHJlZUF0dHJpYnV0ZXNEZWNvZGVyOiBjb21wcmVzc2lvbiBsZXZlbCAlaSBub3Qgc3VwcG9ydGVkLgoATWV0aG9kIG5vdCBzdXBwb3J0ZWQuIAoAVmVyc2lvbiBub3Qgc3VwcG9ydGVkLiAKAE41ZHJhY28yM0tkVHJlZUF0dHJpYnV0ZXNEZWNvZGVyRQBONWRyYWNvMjZTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlckUATjVkcmFjbzM3U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJzQ29udHJvbGxlckUATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMzdQcmVkaWN0aW9uU2NoZW1lVHlwZWREZWNvZGVySW50ZXJmYWNlSWlpRUUATjVkcmFjbzMyUHJlZGljdGlvblNjaGVtZURlY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNVByZWRpY3Rpb25TY2hlbWVJbnRlcmZhY2VFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0RlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzNTZXF1ZW50aWFsSW50ZWdlckF0dHJpYnV0ZURlY29kZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzJTZXF1ZW50aWFsTm9ybWFsQXR0cmlidXRlRGVjb2RlckUATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZURlY29kZXJFAFVuc3VwcG9ydGVkIGVuY29kaW5nIG1ldGhvZC4ASW5wdXQgaXMgbm90IGEgbWVzaC4ASW5wdXQgaXMgbm90IGEgcG9pbnQgY2xvdWQuAHNraXBfYXR0cmlidXRlX3RyYW5zZm9ybQBONWRyYWNvMTFNZXNoRGVjb2RlckUATjVkcmFjbzIyTWVzaEVkZ2VCcmVha2VyRGVjb2RlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRU5TXzE5RWRnZUJyZWFrZXJPYnNlcnZlckVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzI1UHJlZGljdGlvbkRlZ3JlZVRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRUVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFTlNfMTlFZGdlQnJlYWtlck9ic2VydmVyRUVFRUUATjVkcmFjbzI2TWVzaEVkZ2VCcmVha2VyRGVjb2RlckltcGxJTlNfMzFNZXNoRWRnZUJyZWFrZXJUcmF2ZXJzYWxEZWNvZGVyRUVFAE41ZHJhY28zNU1lc2hFZGdlQnJlYWtlckRlY29kZXJJbXBsSW50ZXJmYWNlRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbElOU180MU1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbFByZWRpY3RpdmVEZWNvZGVyRUVFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckRlY29kZXJJbXBsSU5TXzM4TWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsVmFsZW5jZURlY29kZXJFRUUATjVkcmFjbzE1TGluZWFyU2VxdWVuY2VyRQBONWRyYWNvMjFNZXNoU2VxdWVudGlhbERlY29kZXJFAE41ZHJhY28xN1BvaW50Q2xvdWREZWNvZGVyRQBGYWlsZWQgdG8gcGFyc2UgRHJhY28gaGVhZGVyLgBEUkFDTwBOb3QgYSBEcmFjbyBmaWxlLgBGYWlsZWQgdG8gZGVjb2RlIG1ldGFkYXRhLgBVc2luZyBpbmNvbXBhdGlibGUgZGVjb2RlciBmb3IgdGhlIGlucHV0IGdlb21ldHJ5LgBVbmtub3duIG1ham9yIHZlcnNpb24uAFVua25vd24gbWlub3IgdmVyc2lvbi4ARmFpbGVkIHRvIGluaXRpYWxpemUgdGhlIGRlY29kZXIuAEZhaWxlZCB0byBkZWNvZGUgZ2VvbWV0cnkgZGF0YS4ARmFpbGVkIHRvIGRlY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBONWRyYWNvMjNQb2ludENsb3VkS2RUcmVlRGVjb2RlckUATjVkcmFjbzI3UG9pbnRDbG91ZFNlcXVlbnRpYWxEZWNvZGVyRQBONWRyYWNvNE1lc2hFAE41ZHJhY28xMFBvaW50Q2xvdWRFAEZsb2F0UG9pbnRzVHJlZURlY29kZXI6IGNvbXByZXNzaW9uIGxldmVsICVpIG5vdCBzdXBwb3J0ZWQuCgBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOADAxMjM0NTY3ODlBQkNERUYuAFQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAJWQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQ==";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_allocate_exception(size){return _malloc(size)}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___gxx_personality_v0(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffers){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=value;return value}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} +"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=0;var x=0;var y=0;var z=0;var A=global.NaN,B=global.Infinity;var C=0,D=0,E=0,F=0,G=0.0;var H=0;var I=global.Math.floor;var J=global.Math.abs;var K=global.Math.sqrt;var L=global.Math.pow;var M=global.Math.cos;var N=global.Math.sin;var O=global.Math.tan;var P=global.Math.acos;var Q=global.Math.asin;var R=global.Math.atan;var S=global.Math.atan2;var T=global.Math.exp;var U=global.Math.log;var V=global.Math.ceil;var W=global.Math.imul;var X=global.Math.min;var Y=global.Math.max;var Z=global.Math.clz32;var _=global.Math.fround;var $=env.abort;var aa=env.assert;var ba=env.enlargeMemory;var ca=env.getTotalMemory;var da=env.abortOnCannotGrowMemory;var ea=env.invoke_ii;var fa=env.invoke_iii;var ga=env.invoke_iiii;var ha=env.invoke_iiiiiii;var ia=env.invoke_v;var ja=env.invoke_vi;var ka=env.invoke_vii;var la=env.invoke_viii;var ma=env.invoke_viiii;var na=env.invoke_viiiii;var oa=env.invoke_viiiiii;var pa=env.__ZSt18uncaught_exceptionv;var qa=env.___cxa_allocate_exception;var ra=env.___cxa_find_matching_catch;var sa=env.___cxa_pure_virtual;var ta=env.___cxa_throw;var ua=env.___gxx_personality_v0;var va=env.___resumeException;var wa=env.___setErrNo;var xa=env.___syscall140;var ya=env.___syscall146;var za=env.___syscall54;var Aa=env.___syscall6;var Ba=env._abort;var Ca=env._emscripten_memcpy_big;var Da=env._llvm_ceil_f32;var Ea=env._llvm_floor_f64;var Fa=env._llvm_trap;var Ga=env.flush_NO_FILESYSTEM;var Ha=_(0);const Ia=_(0);function Ja(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function Ac(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=u;u=u+32|0;j=i+12|0;k=i;f[c+40>>2]=e;e=c+32|0;f[e>>2]=g;f[c+4>>2]=h;gc(a,g,j);if(f[a>>2]|0){u=i;return}g=a+4|0;h=g+11|0;if((b[h>>0]|0)<0)ip(f[g>>2]|0);l=b[j+7>>0]|0;if((Pa[f[(f[c>>2]|0)+8>>2]&127](c)|0)!=(l&255|0)){m=Vk(64)|0;f[k>>2]=m;f[k+8>>2]=-2147483584;f[k+4>>2]=50;n=m;o=13022;p=n+50|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[m+50>>0]=0;f[a>>2]=-1;zh(g,k);if((b[k+11>>0]|0)<0)ip(f[k>>2]|0);u=i;return}m=b[j+5>>0]|0;b[c+36>>0]=m;q=b[j+6>>0]|0;b[c+37>>0]=q;if((m+-1&255)>1){r=Vk(32)|0;f[k>>2]=r;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=r;o=13073;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[r+22>>0]=0;f[a>>2]=-5;zh(g,k);if((b[k+11>>0]|0)<0)ip(f[k>>2]|0);u=i;return}r=q&255;if(m<<24>>24==2&(l<<24>>24==0?3:2)>>>0>>0){l=Vk(32)|0;f[k>>2]=l;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=l;o=13096;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[l+22>>0]=0;f[a>>2]=-5;zh(g,k);if((b[k+11>>0]|0)<0)ip(f[k>>2]|0);u=i;return}l=((m&255)<<8|r)&65535;d[(f[e>>2]|0)+38>>1]=l;if((l&65535)>258?(d[j+10>>1]|0)<0:0){Od(a,c);if(f[a>>2]|0){u=i;return}if((b[h>>0]|0)<0)ip(f[g>>2]|0)}if(!(Pa[f[(f[c>>2]|0)+12>>2]&127](c)|0)){h=Vk(48)|0;f[k>>2]=h;f[k+8>>2]=-2147483600;f[k+4>>2]=33;n=h;o=13119;p=n+33|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+33>>0]=0;f[a>>2]=-1;zh(g,k);if((b[k+11>>0]|0)<0)ip(f[k>>2]|0);u=i;return}if(!(Pa[f[(f[c>>2]|0)+20>>2]&127](c)|0)){h=Vk(32)|0;f[k>>2]=h;f[k+8>>2]=-2147483616;f[k+4>>2]=31;n=h;o=13153;p=n+31|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+31>>0]=0;f[a>>2]=-1;zh(g,k);if((b[k+11>>0]|0)<0)ip(f[k>>2]|0);u=i;return}if(Pa[f[(f[c>>2]|0)+24>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=i;return}c=Vk(48)|0;f[k>>2]=c;f[k+8>>2]=-2147483600;f[k+4>>2]=34;n=c;o=13185;p=n+34|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[c+34>>0]=0;f[a>>2]=-1;zh(g,k);if((b[k+11>>0]|0)<0)ip(f[k>>2]|0);u=i;return}function Bc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+16|0;h=c;i=a+16|0;j=f[i>>2]|0;if(j|0){k=f[b>>2]|0;l=i;m=j;a:while(1){j=m;while(1){if((f[j+16>>2]|0)>=(k|0))break;n=f[j+4>>2]|0;if(!n){o=l;break a}else j=n}m=f[j>>2]|0;if(!m){o=j;break}else l=j}if((o|0)!=(i|0)?(k|0)>=(f[o+16>>2]|0):0){p=o;q=p+20|0;u=c;return q|0}}Jn(g);f[h>>2]=f[b>>2];b=h+4|0;f[h+8>>2]=0;o=h+12|0;f[o>>2]=0;k=h+8|0;f[b>>2]=k;l=f[g>>2]|0;m=g+4|0;if((l|0)!=(m|0)){n=k;r=l;while(1){l=r+16|0;f[e>>2]=n;f[d>>2]=f[e>>2];Mf(b,d,l,l)|0;l=f[r+4>>2]|0;if(!l){s=r+8|0;t=f[s>>2]|0;if((f[t>>2]|0)==(r|0))v=t;else{t=s;do{s=f[t>>2]|0;t=s+8|0;w=f[t>>2]|0}while((f[w>>2]|0)!=(s|0));v=w}}else{t=l;while(1){j=f[t>>2]|0;if(!j)break;else t=j}v=t}if((v|0)==(m|0))break;else r=v}}v=a+12|0;r=f[i>>2]|0;do if(r){d=f[h>>2]|0;e=a+16|0;n=r;while(1){l=f[n+16>>2]|0;if((d|0)<(l|0)){j=f[n>>2]|0;if(!j){x=23;break}else{y=n;z=j}}else{if((l|0)>=(d|0)){x=27;break}A=n+4|0;l=f[A>>2]|0;if(!l){x=26;break}else{y=A;z=l}}e=y;n=z}if((x|0)==23){B=n;C=n;break}else if((x|0)==26){B=n;C=A;break}else if((x|0)==27){B=n;C=e;break}}else{B=i;C=i}while(0);i=f[C>>2]|0;if(!i){x=Vk(32)|0;f[x+16>>2]=f[h>>2];A=x+20|0;f[A>>2]=f[b>>2];z=x+24|0;y=f[h+8>>2]|0;f[z>>2]=y;r=f[o>>2]|0;f[x+28>>2]=r;if(!r)f[A>>2]=z;else{f[y+8>>2]=z;f[b>>2]=k;f[k>>2]=0;f[o>>2]=0}f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=B;f[C>>2]=x;B=f[f[v>>2]>>2]|0;if(!B)D=x;else{f[v>>2]=B;D=f[C>>2]|0}Ed(f[a+16>>2]|0,D);D=a+20|0;f[D>>2]=(f[D>>2]|0)+1;E=x}else E=i;Qh(h+4|0,f[k>>2]|0);Qh(g,f[m>>2]|0);p=E;q=p+20|0;u=c;return q|0}function Cc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=d-e|0;l=g+(e+4)|0;m=c}else{k=i;l=g;m=i}switch(k|0){case 3:{n=h[l+2>>0]<<16^m;o=6;break}case 2:{n=m;o=6;break}case 1:{p=m;o=7;break}default:q=m}if((o|0)==6){p=h[l+1>>0]<<8^n;o=7}if((o|0)==7)q=X(p^h[l>>0],1540483477)|0;l=X(q>>>13^q,1540483477)|0;q=l>>>15^l;l=f[a+4>>2]|0;if(!l){r=0;return r|0}p=l+-1|0;n=(p&l|0)==0;if(!n)if(q>>>0>>0)s=q;else s=(q>>>0)%(l>>>0)|0;else s=q&p;m=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!m){r=0;return r|0}a=f[m>>2]|0;if(!a){r=0;return r|0}m=(i|0)==0;if(n){n=a;a:while(1){k=f[n+4>>2]|0;c=(q|0)==(k|0);if(!(c|(k&p|0)==(s|0))){r=0;o=40;break}do if(c?(k=n+8|0,e=b[k+11>>0]|0,d=e<<24>>24<0,j=e&255,((d?f[n+12>>2]|0:j)|0)==(i|0)):0){e=f[k>>2]|0;t=d?e:k;if(d){if(m){r=n;o=40;break a}if(!($i(t,g,i)|0)){r=n;o=40;break a}else break}if(m){r=n;o=40;break a}if((b[g>>0]|0)==(e&255)<<24>>24){e=k;k=j;j=g;do{k=k+-1|0;e=e+1|0;if(!k){r=n;o=40;break a}j=j+1|0}while((b[e>>0]|0)==(b[j>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=40;break}}if((o|0)==40)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;do if((q|0)==(a|0)){n=u+8|0;p=b[n+11>>0]|0;c=p<<24>>24<0;j=p&255;if(((c?f[u+12>>2]|0:j)|0)==(i|0)){p=f[n>>2]|0;e=c?p:n;if(c){if(m){r=u;o=40;break b}if(!($i(e,g,i)|0)){r=u;o=40;break b}else break}if(m){r=u;o=40;break b}if((b[g>>0]|0)==(p&255)<<24>>24){p=n;n=j;j=g;do{n=n+-1|0;p=p+1|0;if(!n){r=u;o=40;break b}j=j+1|0}while((b[p>>0]|0)==(b[j>>0]|0))}}}else{if(a>>>0>>0)v=a;else v=(a>>>0)%(l>>>0)|0;if((v|0)!=(s|0)){r=0;o=40;break b}}while(0);u=f[u>>2]|0;if(!u){r=0;o=40;break}}if((o|0)==40)return r|0;return 0}function Dc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=d-e|0;l=g+(e+4)|0;m=c}else{k=i;l=g;m=i}switch(k|0){case 3:{n=h[l+2>>0]<<16^m;o=6;break}case 2:{n=m;o=6;break}case 1:{p=m;o=7;break}default:q=m}if((o|0)==6){p=h[l+1>>0]<<8^n;o=7}if((o|0)==7)q=X(p^h[l>>0],1540483477)|0;l=X(q>>>13^q,1540483477)|0;q=l>>>15^l;l=f[a+4>>2]|0;if(!l){r=0;return r|0}p=l+-1|0;n=(p&l|0)==0;if(!n)if(q>>>0>>0)s=q;else s=(q>>>0)%(l>>>0)|0;else s=q&p;m=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!m){r=0;return r|0}a=f[m>>2]|0;if(!a){r=0;return r|0}m=(i|0)==0;if(n){n=a;a:while(1){k=f[n+4>>2]|0;c=(k|0)==(q|0);if(!(c|(k&p|0)==(s|0))){r=0;o=40;break}do if(c?(k=n+8|0,e=b[k+11>>0]|0,d=e<<24>>24<0,j=e&255,((d?f[n+12>>2]|0:j)|0)==(i|0)):0){e=f[k>>2]|0;t=d?e:k;if(d){if(m){r=n;o=40;break a}if(!($i(t,g,i)|0)){r=n;o=40;break a}else break}if(m){r=n;o=40;break a}if((b[g>>0]|0)==(e&255)<<24>>24){e=k;k=j;j=g;do{k=k+-1|0;e=e+1|0;if(!k){r=n;o=40;break a}j=j+1|0}while((b[e>>0]|0)==(b[j>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=40;break}}if((o|0)==40)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;do if((a|0)==(q|0)){n=u+8|0;p=b[n+11>>0]|0;c=p<<24>>24<0;j=p&255;if(((c?f[u+12>>2]|0:j)|0)==(i|0)){p=f[n>>2]|0;e=c?p:n;if(c){if(m){r=u;o=40;break b}if(!($i(e,g,i)|0)){r=u;o=40;break b}else break}if(m){r=u;o=40;break b}if((b[g>>0]|0)==(p&255)<<24>>24){p=n;n=j;j=g;do{n=n+-1|0;p=p+1|0;if(!n){r=u;o=40;break b}j=j+1|0}while((b[p>>0]|0)==(b[j>>0]|0))}}}else{if(a>>>0>>0)v=a;else v=(a>>>0)%(l>>>0)|0;if((v|0)!=(s|0)){r=0;o=40;break b}}while(0);u=f[u>>2]|0;if(!u){r=0;o=40;break}}if((o|0)==40)return r|0;return 0}function Ec(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=a+4|0;i=f[c>>2]|0;c=i;do if((i|0)!=(h|0)){j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=b[g+11>>0]|0;n=k<<24>>24<0;o=n?f[g+4>>2]|0:k&255;k=m>>>0>>0;p=k?m:o;if((p|0)!=0?(q=$i(n?f[g>>2]|0:g,l?f[j>>2]|0:j,p)|0,(q|0)!=0):0){if((q|0)<0)break}else r=4;if((r|0)==4?o>>>0>>0:0)break;q=o>>>0>>0?o:m;if((q|0)!=0?(m=$i(l?f[j>>2]|0:j,n?f[g>>2]|0:g,q)|0,(m|0)!=0):0){if((m|0)>=0)r=37}else r=21;if((r|0)==21?!k:0)r=37;if((r|0)==37){f[d>>2]=c;f[e>>2]=c;s=e;return s|0}k=f[i+4>>2]|0;m=(k|0)==0;if(m){q=i+8|0;j=f[q>>2]|0;if((f[j>>2]|0)==(i|0))t=j;else{j=q;do{q=f[j>>2]|0;j=q+8|0;l=f[j>>2]|0}while((f[l>>2]|0)!=(q|0));t=l}}else{j=k;while(1){l=f[j>>2]|0;if(!l)break;else j=l}t=j}do if((t|0)!=(h|0)){k=t+16|0;l=b[k+11>>0]|0;q=l<<24>>24<0;p=q?f[t+20>>2]|0:l&255;l=p>>>0>>0?p:o;if((l|0)!=0?(u=$i(n?f[g>>2]|0:g,q?f[k>>2]|0:k,l)|0,(u|0)!=0):0){if((u|0)<0)break}else r=31;if((r|0)==31?o>>>0

>>0:0)break;s=cf(a,d,g)|0;return s|0}while(0);if(m){f[d>>2]=c;s=i+4|0;return s|0}else{f[d>>2]=t;s=t;return s|0}}while(0);t=f[i>>2]|0;do if((f[a>>2]|0)==(i|0))v=c;else{if(!t){h=i;while(1){e=f[h+8>>2]|0;if((f[e>>2]|0)==(h|0))h=e;else{w=e;break}}}else{h=t;while(1){m=f[h+4>>2]|0;if(!m){w=h;break}else h=m}}h=w;m=w+16|0;e=b[g+11>>0]|0;o=e<<24>>24<0;n=o?f[g+4>>2]|0:e&255;e=b[m+11>>0]|0;j=e<<24>>24<0;p=j?f[w+20>>2]|0:e&255;e=n>>>0

>>0?n:p;if((e|0)!=0?(u=$i(j?f[m>>2]|0:m,o?f[g>>2]|0:g,e)|0,(u|0)!=0):0){if((u|0)<0){v=h;break}}else r=13;if((r|0)==13?p>>>0>>0:0){v=h;break}s=cf(a,d,g)|0;return s|0}while(0);if(!t){f[d>>2]=i;s=i;return s|0}else{f[d>>2]=v;s=v+4|0;return s|0}return 0}function Fc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;e=b+12|0;g=f[e>>2]|0;h=(f[c>>2]|0)-g|0;i=c+4|0;j=(f[i>>2]|0)-g|0;k=c;f[k>>2]=h;f[k+4>>2]=j;k=(h|0)>-1;l=(j|0)>-1;m=f[e>>2]|0;n=((l?j:0-j|0)+(k?h:0-h|0)|0)<=(m|0);if(n){o=h;p=j}else{if(k)if(!l)if((h|0)<1){q=-1;r=-1}else s=6;else{q=1;r=1}else if((j|0)<1){q=-1;r=-1}else s=6;if((s|0)==6){q=(h|0)>0?1:-1;r=(j|0)>0?1:-1}l=X(m,q)|0;k=X(m,r)|0;m=(h<<1)-l|0;f[c>>2]=m;h=(j<<1)-k|0;f[i>>2]=h;if((X(q,r)|0)>-1){r=0-h|0;f[c>>2]=r;t=0-m|0;u=r}else{f[c>>2]=h;t=m;u=h}h=(u+l|0)/2|0;f[c>>2]=h;l=(t+k|0)/2|0;f[i>>2]=l;o=h;p=l}if(!o)v=(p|0)==0;else v=(o|0)<0&(p|0)<1;if(!o)w=(p|0)==0?0:(p|0)>0?3:1;else w=(o|0)>0?(p>>31)+2|0:(p|0)<1?0:3;if(v){x=1;y=o;z=p}else{switch(w|0){case 1:{A=p;B=0-o|0;break}case 2:{A=0-o|0;B=0-p|0;break}case 3:{A=0-p|0;B=o;break}default:{A=o;B=p}}p=c;f[p>>2]=A;f[p+4>>2]=B;x=0;y=A;z=B}B=(f[d>>2]|0)+y|0;f[a>>2]=B;y=(f[d+4>>2]|0)+z|0;z=a+4|0;f[z>>2]=y;d=f[e>>2]|0;if((d|0)>=(B|0))if((B|0)<(0-d|0))C=(f[b+4>>2]|0)+B|0;else C=B;else C=B-(f[b+4>>2]|0)|0;f[a>>2]=C;if((d|0)>=(y|0))if((y|0)<(0-d|0))D=(f[b+4>>2]|0)+y|0;else D=y;else D=y-(f[b+4>>2]|0)|0;f[z>>2]=D;if(x){E=C;F=D}else{switch((4-w|0)%4|0|0){case 1:{G=D;H=0-C|0;break}case 2:{G=0-C|0;H=0-D|0;break}case 3:{G=0-D|0;H=C;break}default:{G=C;H=D}}D=a;f[D>>2]=G;f[D+4>>2]=H;E=G;F=H}if(n){I=E;J=F;K=I+g|0;L=J+g|0;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}if((E|0)>-1)if((F|0)<=-1)if((E|0)<1){Q=-1;R=-1}else s=42;else{Q=1;R=1}else if((F|0)<1){Q=-1;R=-1}else s=42;if((s|0)==42){Q=(E|0)>0?1:-1;R=(F|0)>0?1:-1}s=X(d,Q)|0;n=X(d,R)|0;d=(E<<1)-s|0;f[a>>2]=d;E=(F<<1)-n|0;f[z>>2]=E;if((X(Q,R)|0)>-1){R=0-E|0;f[a>>2]=R;S=0-d|0;T=R}else{f[a>>2]=E;S=d;T=E}E=(T+s|0)/2|0;f[a>>2]=E;s=(S+n|0)/2|0;f[z>>2]=s;I=E;J=s;K=I+g|0;L=J+g|0;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}function Gc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=u;u=u+64|0;i=g;j=i;k=j+40|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(Xc(i,d)|0?vd(i,d)|0:0){j=(a|0)==0;if(!j){if(!(f[i+12>>2]|0)){l=0;break}Ef(d,0,0)|0;if(!j){j=i+48|0;k=i+44|0;m=i+40|0;n=i+16|0;o=i+28|0;p=(c|0)>0;q=d+36|0;r=d+32|0;s=d+24|0;t=d+28|0;v=0;w=0;x=f[j>>2]|0;while(1){b:do if(x>>>0<16384){y=f[k>>2]|0;z=x;while(1){if((y|0)<=0){A=z;break b}B=f[m>>2]|0;y=y+-1|0;f[k>>2]=y;C=z<<8|h[B+y>>0];f[j>>2]=C;if(C>>>0>=16384){A=C;break}else z=C}}else A=x;while(0);z=A&4095;y=f[(f[n>>2]|0)+(z<<2)>>2]|0;C=f[o>>2]|0;x=(X(f[C+(y<<3)>>2]|0,A>>>12)|0)+z-(f[C+(y<<3)+4>>2]|0)|0;f[j>>2]=x;c:do if(p){if((y|0)>0){D=0;E=w}else{C=(b[q>>0]|0)==0;z=0;B=w;while(1){if(C){l=0;break a}F=B+1|0;f[e+(B<<2)>>2]=0;z=z+1|0;if((z|0)>=(c|0)){G=F;break c}else B=F}}while(1){if(!(b[q>>0]|0)){l=0;break a}B=f[s>>2]|0;z=f[t>>2]|0;C=0;F=0;H=f[r>>2]|0;while(1){I=B+(H>>>3)|0;if(I>>>0>>0){J=(h[I>>0]|0)>>>(H&7)&1;I=H+1|0;f[r>>2]=I;K=J;L=I}else{K=0;L=H}C=K<>2]=C;D=D+1|0;if((D|0)>=(c|0)){G=H;break}else E=H}}else G=w;while(0);v=v+c|0;if(v>>>0>=a>>>0)break;else w=G}}}else Ef(d,0,0)|0;Wj(d);l=1}else l=0;while(0);d=f[i+28>>2]|0;if(d|0){G=i+32|0;a=f[G>>2]|0;if((a|0)!=(d|0))f[G>>2]=a+(~((a+-8-d|0)>>>3)<<3);ip(d)}d=f[i+16>>2]|0;if(d|0){a=i+20|0;G=f[a>>2]|0;if((G|0)!=(d|0))f[a>>2]=G+(~((G+-4-d|0)>>>2)<<2);ip(d)}d=f[i>>2]|0;if(!d){u=g;return l|0}G=i+4|0;i=f[G>>2]|0;if((i|0)!=(d|0))f[G>>2]=i+(~((i+-4-d|0)>>>2)<<2);ip(d);u=g;return l|0}function Hc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (I=n,o)|0}else{if(!m){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (I=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(_(l|0)|0)-(_(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}r=j-1|0;if(r&j|0){s=(_(j|0)|0)+33-(_(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (I=n,o)|0}else{r=pk(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (I=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (I=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (I=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((pk(l|0)|0)>>>0);return (I=n,o)|0}r=(_(l|0)|0)-(_(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=Rl(b|0,c|0,-1,-1)|0;k=I;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Tl(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Tl(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=I;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (I=n,o)|0}function Ic(a,b){a=a|0;b=b|0;var c=0;if(!(Bd(a,b)|0)){c=0;return c|0}if(!(Bd(a+16|0,b)|0)){c=0;return c|0}if(!(Bd(a+32|0,b)|0)){c=0;return c|0}if(!(Bd(a+48|0,b)|0)){c=0;return c|0}if(!(Bd(a+64|0,b)|0)){c=0;return c|0}if(!(Bd(a+80|0,b)|0)){c=0;return c|0}if(!(Bd(a+96|0,b)|0)){c=0;return c|0}if(!(Bd(a+112|0,b)|0)){c=0;return c|0}if(!(Bd(a+128|0,b)|0)){c=0;return c|0}if(!(Bd(a+144|0,b)|0)){c=0;return c|0}if(!(Bd(a+160|0,b)|0)){c=0;return c|0}if(!(Bd(a+176|0,b)|0)){c=0;return c|0}if(!(Bd(a+192|0,b)|0)){c=0;return c|0}if(!(Bd(a+208|0,b)|0)){c=0;return c|0}if(!(Bd(a+224|0,b)|0)){c=0;return c|0}if(!(Bd(a+240|0,b)|0)){c=0;return c|0}if(!(Bd(a+256|0,b)|0)){c=0;return c|0}if(!(Bd(a+272|0,b)|0)){c=0;return c|0}if(!(Bd(a+288|0,b)|0)){c=0;return c|0}if(!(Bd(a+304|0,b)|0)){c=0;return c|0}if(!(Bd(a+320|0,b)|0)){c=0;return c|0}if(!(Bd(a+336|0,b)|0)){c=0;return c|0}if(!(Bd(a+352|0,b)|0)){c=0;return c|0}if(!(Bd(a+368|0,b)|0)){c=0;return c|0}if(!(Bd(a+384|0,b)|0)){c=0;return c|0}if(!(Bd(a+400|0,b)|0)){c=0;return c|0}if(!(Bd(a+416|0,b)|0)){c=0;return c|0}if(!(Bd(a+432|0,b)|0)){c=0;return c|0}if(!(Bd(a+448|0,b)|0)){c=0;return c|0}if(!(Bd(a+464|0,b)|0)){c=0;return c|0}if(!(Bd(a+480|0,b)|0)){c=0;return c|0}if(!(Bd(a+496|0,b)|0)){c=0;return c|0}c=Bd(a+512|0,b)|0;return c|0}function Jc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)ip(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;_m(d,13388);f[d>>2]=4744;va(d|0,1128,101)}d=Vk(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)ip(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){b:do if(h){e=k;c=l;i=m;while(1){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0))break;o=(f[a>>2]|0)+(n<<2)|0;if(!(f[o>>2]|0)){p=d;q=i;r=n;s=o;break b}o=d+8|0;t=d;while(1){u=f[t>>2]|0;if(!u)break;if((f[o>>2]|0)==(f[u+8>>2]|0))t=u;else break}f[i>>2]=u;f[t>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;o=f[e>>2]|0;if(!o){v=37;break a}else d=o}c=f[d>>2]|0;if(!c){v=37;break a}else{e=d;i=d}}}else{i=k;e=l;c=m;while(1){o=e;while(1){w=f[o+4>>2]|0;if(w>>>0>>0)x=w;else x=(w>>>0)%(b>>>0)|0;if((x|0)==(j|0))break;w=(f[a>>2]|0)+(x<<2)|0;if(!(f[w>>2]|0)){p=o;q=c;r=x;s=w;break b}w=o+8|0;y=o;while(1){z=f[y>>2]|0;if(!z)break;if((f[w>>2]|0)==(f[z+8>>2]|0))y=z;else break}f[c>>2]=z;f[y>>2]=f[f[(f[a>>2]|0)+(x<<2)>>2]>>2];f[f[(f[a>>2]|0)+(x<<2)>>2]>>2]=o;w=f[i>>2]|0;if(!w){v=37;break a}else o=w}e=f[o>>2]|0;if(!e){v=37;break a}else{i=o;c=o}}}while(0);f[s>>2]=q;l=f[p>>2]|0;if(!l){v=37;break}else{j=r;k=p;m=p}}if((v|0)==37)return}function Kc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+32|0;e=d+24|0;g=d+20|0;h=d+8|0;i=d+4|0;j=d;f[e>>2]=0;Ph(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){k=0;while(1){k=k+1|0;if(!(Zc(a,c)|0)){l=0;break}if(k>>>0>=(f[e>>2]|0)>>>0)break a}u=d;return l|0}while(0);f[g>>2]=0;Ph(g,f[a>>2]|0)|0;b:do if(!(f[g>>2]|0))m=1;else{e=h+11|0;k=0;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;o=f[a>>2]|0;p=o+8|0;q=f[p+4>>2]|0;r=o+16|0;s=r;t=f[s>>2]|0;v=f[s+4>>2]|0;do if((q|0)>(v|0)|((q|0)==(v|0)?(f[p>>2]|0)>>>0>t>>>0:0)){s=b[(f[o>>2]|0)+t>>0]|0;w=Rl(t|0,v|0,1,0)|0;x=r;f[x>>2]=w;f[x+4>>2]=I;x=s&255;Th(h,x,0);if(s<<24>>24){w=f[a>>2]|0;y=Cj(h,0)|0;z=w+8|0;A=f[z>>2]|0;B=f[z+4>>2]|0;z=w+16|0;C=z;D=f[C>>2]|0;E=s&255;s=Rl(D|0,f[C+4>>2]|0,E|0,0)|0;C=I;if((B|0)<(C|0)|(B|0)==(C|0)&A>>>0>>0){F=1;break}Jf(y|0,(f[w>>2]|0)+D|0,x|0)|0;x=z;D=Rl(f[x>>2]|0,f[x+4>>2]|0,E|0,0)|0;E=z;f[E>>2]=D;f[E+4>>2]=I}E=Vk(40)|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;n[E+16>>2]=$(1.0);D=E+20|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;n[E+36>>2]=$(1.0);f[i>>2]=E;if(Kc(a,E)|0){E=f[i>>2]|0;f[i>>2]=0;f[j>>2]=E;of(c,h,j)|0;Zg(j);G=0}else G=1;Zg(i);F=G}else F=1;while(0);if((b[e>>0]|0)<0)ip(f[h>>2]|0);k=k+1|0;if(F|0){m=0;break b}if(k>>>0>=(f[g>>2]|0)>>>0){m=1;break}}}while(0);l=m;u=d;return l|0}function Lc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+176|0;g=e+136|0;h=e+64|0;i=e;j=e+32|0;k=f[(f[c+4>>2]|0)+44>>2]|0;l=Vk(88)|0;f[l+4>>2]=0;f[l>>2]=3216;m=l+12|0;f[m>>2]=3196;n=l+64|0;f[n>>2]=0;f[l+68>>2]=0;f[l+72>>2]=0;o=l+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[l+76>>2]=k;f[l+80>>2]=d;f[l+84>>2]=0;q=l;r=h+4|0;f[r>>2]=3196;s=h+56|0;f[s>>2]=0;t=h+60|0;f[t>>2]=0;f[h+64>>2]=0;o=h+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=f[c+8>>2]|0;f[i>>2]=3196;c=i+4|0;p=c+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;p=o;f[c>>2]=p;c=((f[p+4>>2]|0)-(f[o>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;Nf(i+8|0,c,g);Ua[f[(f[i>>2]|0)+8>>2]&127](i);Be(j,i);Be(g,j);f[h>>2]=f[g+4>>2];c=h+4|0;Se(c,g)|0;f[g>>2]=3196;p=f[g+20>>2]|0;if(p|0)ip(p);p=f[g+8>>2]|0;if(p|0)ip(p);f[h+36>>2]=o;f[h+40>>2]=d;f[h+44>>2]=k;f[h+48>>2]=l;f[j>>2]=3196;k=f[j+20>>2]|0;if(k|0)ip(k);k=f[j+8>>2]|0;if(k|0)ip(k);f[l+8>>2]=f[h>>2];Se(m,c)|0;c=l+44|0;l=h+36|0;f[c>>2]=f[l>>2];f[c+4>>2]=f[l+4>>2];f[c+8>>2]=f[l+8>>2];f[c+12>>2]=f[l+12>>2];b[c+16>>0]=b[l+16>>0]|0;We(n,f[s>>2]|0,f[t>>2]|0);f[a>>2]=q;f[i>>2]=3196;q=f[i+20>>2]|0;if(q|0)ip(q);q=f[i+8>>2]|0;if(q|0)ip(q);q=f[s>>2]|0;if(q|0){s=f[t>>2]|0;if((s|0)!=(q|0))f[t>>2]=s+(~((s+-4-q|0)>>>2)<<2);ip(q)}f[r>>2]=3196;r=f[h+24>>2]|0;if(r|0)ip(r);r=f[h+12>>2]|0;if(!r){u=e;return}ip(r);u=e;return}function Mc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=a+8|0;f[g>>2]=e;h=a+32|0;i=a+36|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=e>>>0)if(l>>>0>e>>>0?(j=m+(e<<2)|0,(j|0)!=(k|0)):0){f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2);n=e}else n=e;else{Ng(h,e-l|0);n=f[g>>2]|0}l=e>>>0>1073741823?-1:e<<2;h=fp(l)|0;Dh(h|0,0,l|0)|0;if((n|0)>0){l=a+16|0;j=a+32|0;k=a+12|0;i=0;do{m=f[h+(i<<2)>>2]|0;o=f[l>>2]|0;if((m|0)>(o|0)){p=f[j>>2]|0;f[p+(i<<2)>>2]=o;q=p}else{p=f[k>>2]|0;o=f[j>>2]|0;f[o+(i<<2)>>2]=(m|0)<(p|0)?p:m;q=o}i=i+1|0;r=f[g>>2]|0}while((i|0)<(r|0));if((r|0)>0){i=a+20|0;j=0;do{o=(f[b+(j<<2)>>2]|0)+(f[q+(j<<2)>>2]|0)|0;m=c+(j<<2)|0;f[m>>2]=o;if((o|0)<=(f[l>>2]|0)){if((o|0)<(f[k>>2]|0)){s=(f[i>>2]|0)+o|0;t=18}}else{s=o-(f[i>>2]|0)|0;t=18}if((t|0)==18){t=0;f[m>>2]=s}j=j+1|0;m=f[g>>2]|0}while((j|0)<(m|0));u=m}else u=r}else u=n;if((e|0)>=(d|0)){gp(h);return 1}n=0-e|0;r=a+16|0;j=a+32|0;s=a+12|0;i=a+20|0;a=e;k=u;while(1){u=c+(a<<2)|0;l=u+(n<<2)|0;q=b+(a<<2)|0;if((k|0)>0){m=0;do{o=f[l+(m<<2)>>2]|0;p=f[r>>2]|0;if((o|0)>(p|0)){v=f[j>>2]|0;f[v+(m<<2)>>2]=p;w=v}else{v=f[s>>2]|0;p=f[j>>2]|0;f[p+(m<<2)>>2]=(o|0)<(v|0)?v:o;w=p}m=m+1|0;x=f[g>>2]|0}while((m|0)<(x|0));if((x|0)>0){m=0;do{l=(f[q+(m<<2)>>2]|0)+(f[w+(m<<2)>>2]|0)|0;p=u+(m<<2)|0;f[p>>2]=l;if((l|0)<=(f[r>>2]|0)){if((l|0)<(f[s>>2]|0)){y=(f[i>>2]|0)+l|0;t=33}}else{y=l-(f[i>>2]|0)|0;t=33}if((t|0)==33){t=0;f[p>>2]=y}m=m+1|0;p=f[g>>2]|0}while((m|0)<(p|0));z=p}else z=x}else z=k;a=a+e|0;if((a|0)>=(d|0))break;else k=z}gp(h);return 1}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+16|0;e=d;g=a+68|0;f[g>>2]=(f[g>>2]|0)+1;g=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;h=g>>2;if((g|0)<=0){u=d;return}g=a+4|0;i=a+56|0;j=a+72|0;k=f[c>>2]|0;c=k+4|0;l=k+8|0;m=a+76|0;n=0;o=f[a+44+(b<<2)>>2]|0;while(1){b=(o|0)==-1;p=b?-1:(o>>>0)/3|0;q=(f[i>>2]|0)+(p>>>5<<2)|0;f[q>>2]=f[q>>2]|1<<(p&31);f[j>>2]=(f[j>>2]|0)+1;do if(n){if(b)r=-1;else r=f[(f[(f[a>>2]|0)+96>>2]|0)+(((o|0)/3|0)*12|0)+(((o|0)%3|0)<<2)>>2]|0;f[m>>2]=r;f[e>>2]=r;p=f[c>>2]|0;if(p>>>0<(f[l>>2]|0)>>>0){f[p>>2]=r;f[c>>2]=p+4}else dh(k,e);if(!(n&1)){p=o+1|0;if(b){s=-1;break}t=((p>>>0)%3|0|0)==0?o+-2|0:p;v=35;break}if(!b)if(!((o>>>0)%3|0)){t=o+2|0;v=35;break}else{t=o+-1|0;v=35;break}else s=-1}else{if(b)w=-1;else w=f[(f[(f[a>>2]|0)+96>>2]|0)+(((o|0)/3|0)*12|0)+(((o|0)%3|0)<<2)>>2]|0;f[e>>2]=w;p=f[c>>2]|0;if(p>>>0<(f[l>>2]|0)>>>0){f[p>>2]=w;f[c>>2]=p+4}else dh(k,e);p=o+1|0;if(!b?(q=((p>>>0)%3|0|0)==0?o+-2|0:p,(q|0)!=-1):0)x=f[(f[(f[a>>2]|0)+96>>2]|0)+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;else x=-1;f[e>>2]=x;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=x;f[c>>2]=q+4}else dh(k,e);if(!b?(q=(((o>>>0)%3|0|0)==0?2:-1)+o|0,(q|0)!=-1):0)y=f[(f[(f[a>>2]|0)+96>>2]|0)+(((q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]|0;else y=-1;f[m>>2]=y;f[e>>2]=y;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=y;f[c>>2]=q+4}else dh(k,e);t=o;v=35}while(0);if((v|0)==35){v=0;if((t|0)==-1)s=-1;else s=f[(f[(f[g>>2]|0)+12>>2]|0)+(t<<2)>>2]|0}n=n+1|0;if((n|0)>=(h|0))break;else o=s}u=d;return}function Oc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c=a+148|0;d=f[b>>2]|0;b=(d|0)==-1;e=d+1|0;do if(!b){g=((e>>>0)%3|0|0)==0?d+-2|0:e;if(!((d>>>0)%3|0)){h=d+2|0;i=g;break}else{h=d+-1|0;i=g;break}}else{h=-1;i=-1}while(0);g=a+184|0;j=f[g>>2]|0;switch(j|0){case 1:case 0:{if((i|0)==-1)k=-1;else k=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;l=f[a+156>>2]|0;m=l+(k<<2)|0;f[m>>2]=(f[m>>2]|0)+1;if((h|0)==-1){n=1;o=-1;p=l;q=28}else{n=1;o=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;p=l;q=28}break}case 5:{if(b)r=-1;else r=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;l=f[a+156>>2]|0;m=l+(r<<2)|0;f[m>>2]=(f[m>>2]|0)+1;if((i|0)==-1)s=-1;else s=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;m=l+(s<<2)|0;f[m>>2]=(f[m>>2]|0)+1;if((h|0)==-1){n=2;o=-1;p=l;q=28}else{n=2;o=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;p=l;q=28}break}case 3:{if(b)t=-1;else t=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;l=f[a+156>>2]|0;m=l+(t<<2)|0;f[m>>2]=(f[m>>2]|0)+1;if((i|0)==-1)u=-1;else u=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;m=l+(u<<2)|0;f[m>>2]=(f[m>>2]|0)+2;if((h|0)==-1){n=1;o=-1;p=l;q=28}else{n=1;o=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;p=l;q=28}break}case 7:{if(b)v=-1;else v=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;l=f[a+156>>2]|0;m=l+(v<<2)|0;f[m>>2]=(f[m>>2]|0)+2;if((i|0)==-1)w=-1;else w=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;i=l+(w<<2)|0;f[i>>2]=(f[i>>2]|0)+2;if((h|0)==-1){n=2;o=-1;p=l;q=28}else{n=2;o=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;p=l;q=28}break}default:x=j}if((q|0)==28){q=p+(o<<2)|0;f[q>>2]=(f[q>>2]|0)+n;x=f[g>>2]|0}switch(x|0){case 5:case 0:break;default:{f[a+188>>2]=-1;return}}x=f[c>>2]|0;if(!b?(b=((e>>>0)%3|0|0)==0?d+-2|0:e,(b|0)!=-1):0)y=f[(f[x>>2]|0)+(b<<2)>>2]|0;else y=-1;f[a+188>>2]=(f[(f[a+156>>2]|0)+(y<<2)>>2]|0)<6?5:0;return}function Pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+16|0;e=d+8|0;g=d;h=d+4|0;if(!(Ch(a,b)|0)){i=0;u=d;return i|0}j=b+96|0;k=b+100|0;b=f[k>>2]|0;l=f[j>>2]|0;if((b|0)==(l|0)){i=1;u=d;return i|0}m=a+56|0;n=a+8|0;o=a+12|0;p=a+20|0;q=a+24|0;r=a+32|0;s=a+36|0;t=a+68|0;v=a+76|0;w=f[c>>2]|0;c=w+4|0;x=w+8|0;y=a+72|0;z=w;A=0;B=l;l=b;while(1){if(!(f[(f[m>>2]|0)+(A>>>5<<2)>>2]&1<<(A&31))){b=A*3|0;f[g>>2]=b;f[e>>2]=f[g>>2];vc(a,0,e);C=(f[o>>2]|0)-(f[n>>2]|0)>>2;f[g>>2]=b+1;f[e>>2]=f[g>>2];vc(a,1,e);D=(f[q>>2]|0)-(f[p>>2]|0)>>2;E=D>>>0>C>>>0;f[g>>2]=b+2;f[e>>2]=f[g>>2];vc(a,2,e);b=(f[s>>2]|0)-(f[r>>2]|0)>>2>>>0>(E?D:C)>>>0?2:E?1:((C|0)==0)<<31>>31;if((f[t>>2]|0)>0){C=f[v>>2]|0;f[e>>2]=C;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=C;f[c>>2]=E+4}else dh(w,e);E=f[a+44+(b<<2)>>2]|0;if((E|0)==-1)F=-1;else F=f[(f[(f[a>>2]|0)+96>>2]|0)+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;f[e>>2]=F;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=F;f[c>>2]=E+4}else dh(w,e);E=(f[y>>2]|0)+2|0;f[y>>2]=E;if(E&1|0){f[e>>2]=F;E=f[c>>2]|0;if(E>>>0<(f[x>>2]|0)>>>0){f[E>>2]=F;f[c>>2]=E+4}else dh(w,e);f[y>>2]=(f[y>>2]|0)+1}}f[h>>2]=z;f[e>>2]=f[h>>2];Nc(a,b,e);G=f[k>>2]|0;H=f[j>>2]|0}else{G=l;H=B}A=A+1|0;if(A>>>0>=((G-H|0)/12|0)>>>0){i=1;break}else{B=H;l=G}}u=d;return i|0}function Qc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Rl(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Rl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Ng(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Rl(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Rl(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=Sf(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Rc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Rl(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Rl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Ng(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Rl(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Rl(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=Vf(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Sc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Rl(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Rl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Ng(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Rl(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Rl(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=Wf(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Tc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Rl(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Rl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Ng(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Rl(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Rl(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=Yf(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Uc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Rl(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Rl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Ng(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Rl(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Rl(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=Zf(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Vc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;c=a+148|0;d=f[b>>2]|0;b=(d|0)==-1;e=d+1|0;do if(!b){g=((e>>>0)%3|0|0)==0?d+-2|0:e;if(!((d>>>0)%3|0)){h=d+2|0;i=g;break}else{h=d+-1|0;i=g;break}}else{h=-1;i=-1}while(0);switch(f[a+168>>2]|0){case 1:case 0:{if((i|0)==-1)j=-1;else j=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(j<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((h|0)==-1){k=1;l=-1;m=e;n=28}else{k=1;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=e;n=28}break}case 5:{if(b)o=-1;else o=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(o<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((i|0)==-1)p=-1;else p=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;g=e+(p<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((h|0)==-1){k=2;l=-1;m=e;n=28}else{k=2;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=e;n=28}break}case 3:{if(b)q=-1;else q=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;e=f[a+156>>2]|0;g=e+(q<<2)|0;f[g>>2]=(f[g>>2]|0)+1;if((i|0)==-1)r=-1;else r=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;g=e+(r<<2)|0;f[g>>2]=(f[g>>2]|0)+2;if((h|0)==-1){k=1;l=-1;m=e;n=28}else{k=1;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=e;n=28}break}case 7:{if(b)s=-1;else s=f[(f[f[c>>2]>>2]|0)+(d<<2)>>2]|0;d=f[a+156>>2]|0;b=d+(s<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((i|0)==-1)t=-1;else t=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;b=d+(t<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((h|0)==-1){k=2;l=-1;m=d;n=28}else{k=2;l=f[(f[f[c>>2]>>2]|0)+(h<<2)>>2]|0;m=d;n=28}break}default:{}}if((n|0)==28){n=m+(l<<2)|0;f[n>>2]=(f[n>>2]|0)+k}if((i|0)==-1)u=-1;else u=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;i=f[(f[a+156>>2]|0)+(u<<2)>>2]|0;u=f[a+176>>2]|0;if((i|0)<(u|0)){v=u;w=v-u|0;x=a+172|0;f[x>>2]=w;return}c=f[a+180>>2]|0;v=(i|0)>(c|0)?c:i;w=v-u|0;x=a+172|0;f[x>>2]=w;return}function Wc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Rl(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Rl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Ng(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Rl(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Rl(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=$f(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Xc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Rl(n|0,f[m+4>>2]|0,4,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=Rl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=I;p=n;break}}else if(Ph(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[e>>2]|0;o=f[a>>2]|0;k=n-o>>2;j=o;o=n;if(p>>>0<=k>>>0)if(p>>>0>>0?(n=j+(p<<2)|0,(n|0)!=(o|0)):0){f[e>>2]=o+(~((o+-4-n|0)>>>2)<<2);q=p}else q=p;else{Ng(a,p-k|0);q=f[i>>2]|0}if(!q){g=1;return g|0}k=c+8|0;p=c+16|0;n=0;o=q;a:while(1){q=k;e=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&e>>>0>m>>>0)){g=0;r=23;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=Rl(m|0,l|0,1,0)|0;l=I;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=o>>>0){g=0;r=23;break a}Dh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&e>>>0>l>>>0)){g=0;r=23;break a}t=b[q+l>>0]|0;l=Rl(l|0,m|0,1,0)|0;m=I;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if((v|0)>=(u|0)){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;o=f[i>>2]|0;if(n>>>0>=o>>>0){r=22;break}}if((r|0)==22){g=ag(a+16|0,f[a>>2]|0,o)|0;return g|0}else if((r|0)==23)return g|0;return 0}function Yc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;f[a+72>>2]=e;f[a+64>>2]=g;g=fp(e>>>0>1073741823?-1:e<<2)|0;j=a+68|0;k=f[j>>2]|0;f[j>>2]=g;if(k|0)gp(k);k=a+8|0;f[k>>2]=e;g=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[g>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(m|0)!=(n|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else Ng(g,e-o|0);o=a+56|0;g=f[o>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){u=d;return 1}l=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;if((m|0)==(n|0)){t=g;zo(t)}else{v=0;w=n}while(1){f[i>>2]=f[w+(v<<2)>>2];f[h>>2]=f[i>>2];kc(a,h,c,v);n=X(v,e)|0;g=f[j>>2]|0;m=b+(n<<2)|0;x=c+(n<<2)|0;if((f[k>>2]|0)>0){n=0;do{y=f[g+(n<<2)>>2]|0;z=f[l>>2]|0;if((y|0)>(z|0)){A=f[q>>2]|0;f[A+(n<<2)>>2]=z;B=A}else{A=f[r>>2]|0;z=f[q>>2]|0;f[z+(n<<2)>>2]=(y|0)<(A|0)?A:y;B=z}n=n+1|0;C=f[k>>2]|0}while((n|0)<(C|0));if((C|0)>0){n=0;do{g=(f[m+(n<<2)>>2]|0)+(f[B+(n<<2)>>2]|0)|0;z=x+(n<<2)|0;f[z>>2]=g;if((g|0)<=(f[l>>2]|0)){if((g|0)<(f[r>>2]|0)){D=(f[s>>2]|0)+g|0;E=22}}else{D=g-(f[s>>2]|0)|0;E=22}if((E|0)==22){E=0;f[z>>2]=D}n=n+1|0}while((n|0)<(f[k>>2]|0))}}v=v+1|0;if((v|0)>=(p|0)){E=10;break}n=f[o>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=v>>>0){t=n;E=11;break}}if((E|0)==10){u=d;return 1}else if((E|0)==11)zo(t);return 0}function Zc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=f[a>>2]|0;j=i+8|0;k=f[j+4>>2]|0;l=i+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;do if((k|0)>(o|0)|((k|0)==(o|0)?(f[j>>2]|0)>>>0>n>>>0:0)){m=b[(f[i>>2]|0)+n>>0]|0;p=Rl(n|0,o|0,1,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I;q=m&255;Th(e,q,0);if(m<<24>>24){p=f[a>>2]|0;r=Cj(e,0)|0;s=p+8|0;t=f[s>>2]|0;v=f[s+4>>2]|0;s=p+16|0;w=s;x=f[w>>2]|0;y=m&255;m=Rl(x|0,f[w+4>>2]|0,y|0,0)|0;w=I;if((v|0)<(w|0)|(v|0)==(w|0)&t>>>0>>0){z=0;break}Jf(r|0,(f[p>>2]|0)+x|0,q|0)|0;q=s;x=Rl(f[q>>2]|0,f[q+4>>2]|0,y|0,0)|0;y=s;f[y>>2]=x;f[y+4>>2]=I}f[g>>2]=0;y=(Ph(g,f[a>>2]|0)|0)^1;x=f[g>>2]|0;if((x|0)==0|y)A=0;else{f[h>>2]=0;y=h+4|0;f[y>>2]=0;f[h+8>>2]=0;if((x|0)<0)zo(h);s=Vk(x)|0;f[y>>2]=s;f[h>>2]=s;f[h+8>>2]=s+x;q=x;x=s;do{b[x>>0]=0;x=(f[y>>2]|0)+1|0;f[y>>2]=x;q=q+-1|0}while((q|0)!=0);q=f[g>>2]|0;x=f[a>>2]|0;s=x+8|0;p=f[s>>2]|0;r=f[s+4>>2]|0;s=x+16|0;m=s;t=f[m>>2]|0;w=Rl(t|0,f[m+4>>2]|0,q|0,0)|0;m=I;if((r|0)<(m|0)|(r|0)==(m|0)&p>>>0>>0)B=0;else{Jf(f[h>>2]|0,(f[x>>2]|0)+t|0,q|0)|0;t=s;x=Rl(f[t>>2]|0,f[t+4>>2]|0,q|0,0)|0;q=s;f[q>>2]=x;f[q+4>>2]=I;xk(c,e,h);B=1}q=f[h>>2]|0;if(q|0){if((f[y>>2]|0)!=(q|0))f[y>>2]=q;ip(q)}A=B}z=A}else z=0;while(0);if((b[e+11>>0]|0)>=0){u=d;return z|0}ip(f[e>>2]|0);u=d;return z|0}function _c(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+16|0;h=d+4|0;i=d;f[a+72>>2]=e;f[a+64>>2]=g;g=fp(e>>>0>1073741823?-1:e<<2)|0;j=a+68|0;k=f[j>>2]|0;f[j>>2]=g;if(k|0)gp(k);k=a+8|0;f[k>>2]=e;g=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[g>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(m|0)!=(n|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else Ng(g,e-o|0);o=a+56|0;g=f[o>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){u=d;return 1}l=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;if((m|0)==(n|0)){t=g;zo(t)}else{v=0;w=n}while(1){f[i>>2]=f[w+(v<<2)>>2];f[h>>2]=f[i>>2];ic(a,h,c,v);n=X(v,e)|0;g=f[j>>2]|0;m=b+(n<<2)|0;x=c+(n<<2)|0;if((f[k>>2]|0)>0){n=0;do{y=f[g+(n<<2)>>2]|0;z=f[l>>2]|0;if((y|0)>(z|0)){A=f[q>>2]|0;f[A+(n<<2)>>2]=z;B=A}else{A=f[r>>2]|0;z=f[q>>2]|0;f[z+(n<<2)>>2]=(y|0)<(A|0)?A:y;B=z}n=n+1|0;C=f[k>>2]|0}while((n|0)<(C|0));if((C|0)>0){n=0;do{g=(f[m+(n<<2)>>2]|0)+(f[B+(n<<2)>>2]|0)|0;z=x+(n<<2)|0;f[z>>2]=g;if((g|0)<=(f[l>>2]|0)){if((g|0)<(f[r>>2]|0)){D=(f[s>>2]|0)+g|0;E=22}}else{D=g-(f[s>>2]|0)|0;E=22}if((E|0)==22){E=0;f[z>>2]=D}n=n+1|0}while((n|0)<(f[k>>2]|0))}}v=v+1|0;if((v|0)>=(p|0)){E=10;break}n=f[o>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=v>>>0){t=n;E=11;break}}if((E|0)==10){u=d;return 1}else if((E|0)==11)zo(t);return 0}function $c(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=Na,t=Na,u=Na,v=0,w=0,x=0,y=0,z=0;c=f[b>>2]|0;b=a+4|0;d=f[b>>2]|0;e=(d|0)==0;a:do if(!e){g=d+-1|0;h=(g&d|0)==0;if(!h)if(c>>>0>>0)i=c;else i=(c>>>0)%(d>>>0)|0;else i=g&c;j=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!j)k=i;else{if(h){h=j;while(1){l=f[h>>2]|0;if(!l){k=i;break a}m=f[l+4>>2]|0;if(!((m|0)==(c|0)|(m&g|0)==(i|0))){k=i;break a}if((f[l+8>>2]|0)==(c|0)){o=l;break}else h=l}p=o+12|0;return p|0}else q=j;while(1){h=f[q>>2]|0;if(!h){k=i;break a}g=f[h+4>>2]|0;if((g|0)!=(c|0)){if(g>>>0>>0)r=g;else r=(g>>>0)%(d>>>0)|0;if((r|0)!=(i|0)){k=i;break a}}if((f[h+8>>2]|0)==(c|0)){o=h;break}else q=h}p=o+12|0;return p|0}}else k=0;while(0);q=Vk(16)|0;f[q+8>>2]=c;f[q+12>>2]=0;f[q+4>>2]=c;f[q>>2]=0;i=a+12|0;s=$(((f[i>>2]|0)+1|0)>>>0);t=$(d>>>0);u=$(n[a+16>>2]);do if(e|$(u*t)>>0<3|(d+-1&d|0)!=0)&1;j=~~$(W($(s/u)))>>>0;xg(a,r>>>0>>0?j:r);r=f[b>>2]|0;j=r+-1|0;if(!(j&r)){v=r;w=j&c;break}if(c>>>0>>0){v=r;w=c}else{v=r;w=(c>>>0)%(r>>>0)|0}}else{v=d;w=k}while(0);k=(f[a>>2]|0)+(w<<2)|0;w=f[k>>2]|0;if(!w){d=a+8|0;f[q>>2]=f[d>>2];f[d>>2]=q;f[k>>2]=d;d=f[q>>2]|0;if(d|0){k=f[d+4>>2]|0;d=v+-1|0;if(d&v)if(k>>>0>>0)x=k;else x=(k>>>0)%(v>>>0)|0;else x=k&d;y=(f[a>>2]|0)+(x<<2)|0;z=30}}else{f[q>>2]=f[w>>2];y=w;z=30}if((z|0)==30)f[y>>2]=q;f[i>>2]=(f[i>>2]|0)+1;o=q;p=o+12|0;return p|0}function ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=f[c>>2];d=c+4|0;f[a+4>>2]=f[d>>2];e=c+8|0;f[a+8>>2]=f[e>>2];g=c+12|0;f[a+12>>2]=f[g>>2];f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;g=c+16|0;f[a+16>>2]=f[g>>2];e=c+20|0;f[a+20>>2]=f[e>>2];d=c+24|0;f[a+24>>2]=f[d>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;b[a+28>>0]=b[c+28>>0]|0;d=a+32|0;e=c+32|0;f[d>>2]=0;g=a+36|0;f[g>>2]=0;f[a+40>>2]=0;f[d>>2]=f[e>>2];d=c+36|0;f[g>>2]=f[d>>2];g=c+40|0;f[a+40>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;e=a+44|0;d=c+44|0;f[e>>2]=0;g=a+48|0;f[g>>2]=0;f[a+52>>2]=0;f[e>>2]=f[d>>2];e=c+48|0;f[g>>2]=f[e>>2];g=c+52|0;f[a+52>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+56|0;e=c+56|0;f[d>>2]=0;g=a+60|0;f[g>>2]=0;f[a+64>>2]=0;f[d>>2]=f[e>>2];d=c+60|0;f[g>>2]=f[d>>2];g=c+64|0;f[a+64>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+68>>2]=f[c+68>>2];f[a+72>>2]=f[c+72>>2];e=a+76|0;d=c+76|0;f[e>>2]=0;g=a+80|0;f[g>>2]=0;f[a+84>>2]=0;f[e>>2]=f[d>>2];e=c+80|0;f[g>>2]=f[e>>2];g=c+84|0;f[a+84>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+88|0;e=c+88|0;f[d>>2]=0;g=a+92|0;f[g>>2]=0;f[a+96>>2]=0;f[d>>2]=f[e>>2];d=c+92|0;f[g>>2]=f[d>>2];g=c+96|0;f[a+96>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;b[a+100>>0]=b[c+100>>0]|0;e=a+104|0;d=c+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;f[e>>2]=f[d>>2];e=c+108|0;f[g>>2]=f[e>>2];g=c+112|0;f[a+112>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+116|0;e=c+116|0;f[d>>2]=0;g=a+120|0;f[g>>2]=0;f[a+124>>2]=0;f[d>>2]=f[e>>2];d=c+120|0;f[g>>2]=f[d>>2];g=c+124|0;f[a+124>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+128>>2]=f[c+128>>2];e=a+132|0;d=c+132|0;f[e>>2]=0;g=a+136|0;f[g>>2]=0;f[a+140>>2]=0;f[e>>2]=f[d>>2];e=c+136|0;f[g>>2]=f[e>>2];g=c+140|0;f[a+140>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;return}function bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+32|0;g=e+8|0;i=e;switch(d|0){case 2:{d=f[b+12>>2]|0;j=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;a:do if((c|0)==-2){k=0;l=8}else{m=f[(f[(f[j+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((Pa[f[(f[j>>2]|0)+8>>2]&127](j)|0)==1){Id(i,j,c,d,g,((h[j+36>>0]|0)<<8|(h[j+37>>0]|0))&65535);n=f[i>>2]|0;if(!n){f[i>>2]=0;break}else{o=i;p=n;break a}}while(0);n=Vk(24)|0;f[n+4>>2]=m;q=n+8|0;f[q>>2]=f[g>>2];f[q+4>>2]=f[g+4>>2];f[q+8>>2]=f[g+8>>2];f[q+12>>2]=f[g+12>>2];f[n>>2]=2436;k=n;l=8}while(0);if((l|0)==8){f[i>>2]=k;o=i;p=k}f[a>>2]=p;f[o>>2]=0;u=e;return}case 3:{o=f[b+12>>2]|0;p=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;b:do if((c|0)==-2){r=0;l=16}else{b=f[(f[(f[p+4>>2]|0)+8>>2]|0)+(o<<2)>>2]|0;do if((Pa[f[(f[p>>2]|0)+8>>2]&127](p)|0)==1){Hd(i,p,c,o,g,((h[p+36>>0]|0)<<8|(h[p+37>>0]|0))&65535);k=f[i>>2]|0;if(!k){f[i>>2]=0;break}else{s=i;t=k;break b}}while(0);m=Vk(24)|0;f[m+4>>2]=b;k=m+8|0;f[k>>2]=f[g>>2];f[k+4>>2]=f[g+4>>2];f[k+8>>2]=f[g+8>>2];f[k+12>>2]=f[g+12>>2];f[m>>2]=2492;r=m;l=16}while(0);if((l|0)==16){f[i>>2]=r;s=i;t=r}f[a>>2]=t;f[s>>2]=0;u=e;return}default:{f[a>>2]=0;u=e;return}}}function cd(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=X(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Ne(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;f[l+8>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)zo(l);else{q=o<<1;e=Vk(q)|0;f[l>>2]=e;s=e+(o<<1)|0;f[l+8>>2]=s;Dh(e|0,0,q|0)|0;f[g>>2]=s;break}while(0);Ne(h,0,0+(a<<1)|0);a:do if(!p)t=1;else{a=c+84|0;s=c+68|0;if(n<<24>>24>0){v=0;w=0}else{q=0;while(1){if(!(b[a>>0]|0))x=f[(f[s>>2]|0)+(q<<2)>>2]|0;else x=q;e=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Fb(c,j,y,e)|0)){t=0;break a}q=q+1|0;if(q>>>0>=p>>>0){t=1;break a}}}while(1){if(!(b[a>>0]|0))z=f[(f[s>>2]|0)+(w<<2)>>2]|0;else z=w;q=f[l>>2]|0;f[k>>2]=z;e=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Fb(c,j,e,q)|0)){t=0;break a}q=f[l>>2]|0;e=f[h>>2]|0;y=0;A=v;while(1){d[e+(A<<1)>>1]=d[q+(y<<1)>>1]|0;y=y+1|0;if((y|0)==(o|0))break;else A=A+1|0}w=w+1|0;if(w>>>0>=p>>>0){t=1;break}else v=v+o|0}}while(0);o=f[l>>2]|0;if(o|0){l=f[g>>2]|0;if((l|0)!=(o|0))f[g>>2]=l+(~((l+-2-o|0)>>>1)<<1);ip(o)}r=t;u=i;return r|0}function dd(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=X(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Ne(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;f[l+8>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)zo(l);else{q=o<<1;e=Vk(q)|0;f[l>>2]=e;s=e+(o<<1)|0;f[l+8>>2]=s;Dh(e|0,0,q|0)|0;f[g>>2]=s;break}while(0);Ne(h,0,0+(a<<1)|0);a:do if(!p)t=1;else{a=c+84|0;s=c+68|0;if(n<<24>>24>0){v=0;w=0}else{q=0;while(1){if(!(b[a>>0]|0))x=f[(f[s>>2]|0)+(q<<2)>>2]|0;else x=q;e=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Gb(c,j,y,e)|0)){t=0;break a}q=q+1|0;if(q>>>0>=p>>>0){t=1;break a}}}while(1){if(!(b[a>>0]|0))z=f[(f[s>>2]|0)+(w<<2)>>2]|0;else z=w;q=f[l>>2]|0;f[k>>2]=z;e=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Gb(c,j,e,q)|0)){t=0;break a}q=f[l>>2]|0;e=f[h>>2]|0;y=0;A=v;while(1){d[e+(A<<1)>>1]=d[q+(y<<1)>>1]|0;y=y+1|0;if((y|0)==(o|0))break;else A=A+1|0}w=w+1|0;if(w>>>0>=p>>>0){t=1;break}else v=v+o|0}}while(0);o=f[l>>2]|0;if(o|0){l=f[g>>2]|0;if((l|0)!=(o|0))f[g>>2]=l+(~((l+-2-o|0)>>>1)<<1);ip(o)}r=t;u=i;return r|0}function ed(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Oe(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)zo(k);else{p=n<<2;d=Vk(p)|0;f[k>>2]=d;r=d+(n<<2)|0;f[k+8>>2]=r;Dh(d|0,0,p|0)|0;f[e>>2]=r;break}while(0);Oe(g,0,0+(a<<2)|0);a:do if(!o)s=1;else{a=c+84|0;r=c+68|0;if(m<<24>>24>0){t=0;v=0}else{p=0;while(1){if(!(b[a>>0]|0))w=f[(f[r>>2]|0)+(p<<2)>>2]|0;else w=p;d=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Hb(c,i,x,d)|0)){s=0;break a}p=p+1|0;if(p>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[r>>2]|0)+(v<<2)>>2]|0;else y=v;p=f[k>>2]|0;f[j>>2]=y;d=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Hb(c,i,d,p)|0)){s=0;break a}p=f[k>>2]|0;d=f[g>>2]|0;x=0;z=t;while(1){f[d+(z<<2)>>2]=f[p+(x<<2)>>2];x=x+1|0;if((x|0)==(n|0))break;else z=z+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){k=f[e>>2]|0;if((k|0)!=(n|0))f[e>>2]=k+(~((k+-4-n|0)>>>2)<<2);ip(n)}q=s;u=h;return q|0}function fd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Oe(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)zo(k);else{p=n<<2;d=Vk(p)|0;f[k>>2]=d;r=d+(n<<2)|0;f[k+8>>2]=r;Dh(d|0,0,p|0)|0;f[e>>2]=r;break}while(0);Oe(g,0,0+(a<<2)|0);a:do if(!o)s=1;else{a=c+84|0;r=c+68|0;if(m<<24>>24>0){t=0;v=0}else{p=0;while(1){if(!(b[a>>0]|0))w=f[(f[r>>2]|0)+(p<<2)>>2]|0;else w=p;d=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Ib(c,i,x,d)|0)){s=0;break a}p=p+1|0;if(p>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[r>>2]|0)+(v<<2)>>2]|0;else y=v;p=f[k>>2]|0;f[j>>2]=y;d=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Ib(c,i,d,p)|0)){s=0;break a}p=f[k>>2]|0;d=f[g>>2]|0;x=0;z=t;while(1){f[d+(z<<2)>>2]=f[p+(x<<2)>>2];x=x+1|0;if((x|0)==(n|0))break;else z=z+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){k=f[e>>2]|0;if((k|0)!=(n|0))f[e>>2]=k+(~((k+-4-n|0)>>>2)<<2);ip(n)}q=s;u=h;return q|0}function gd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c+8|0;g=f[e+4>>2]|0;h=c+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[c>>2]|0)+j>>0]|0;g=Rl(j|0,k|0,1,0)|0;k=h;f[k>>2]=g;f[k+4>>2]=I;do switch(e<<24>>24){case 1:{l=he(a,c,d)|0;return l|0}case 2:{l=he(a,c,d)|0;return l|0}case 3:{l=he(a,c,d)|0;return l|0}case 4:{l=he(a,c,d)|0;return l|0}case 5:{l=he(a,c,d)|0;return l|0}case 6:{l=he(a,c,d)|0;return l|0}case 7:{l=he(a,c,d)|0;return l|0}case 8:{l=he(a,c,d)|0;return l|0}case 9:{l=ge(a,c,d)|0;return l|0}case 10:{l=fe(a,c,d)|0;return l|0}case 11:{l=ee(a,c,d)|0;return l|0}case 12:{l=de(a,c,d)|0;return l|0}case 13:{l=ce(a,c,d)|0;return l|0}case 14:{l=be(a,c,d)|0;return l|0}case 15:{l=be(a,c,d)|0;return l|0}case 16:{l=be(a,c,d)|0;return l|0}case 17:{l=be(a,c,d)|0;return l|0}case 18:{l=be(a,c,d)|0;return l|0}default:{l=0;return l|0}}while(0);return 0}function hd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;gf(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;if(m<<24>>24){if(m<<24>>24<0)zo(k);p=Vk(n)|0;f[e>>2]=p;f[k>>2]=p;f[k+8>>2]=p+n;d=n;r=p;do{b[r>>0]=0;r=(f[e>>2]|0)+1|0;f[e>>2]=r;d=d+-1|0}while((d|0)!=0)}gf(g,0,0+a|0);a:do if(!o)s=1;else{a=c+84|0;d=c+68|0;if(m<<24>>24>0){t=0;v=0}else{r=0;while(1){if(!(b[a>>0]|0))w=f[(f[d>>2]|0)+(r<<2)>>2]|0;else w=r;p=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Jb(c,i,x,p)|0)){s=0;break a}r=r+1|0;if(r>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[d>>2]|0)+(v<<2)>>2]|0;else y=v;r=f[k>>2]|0;f[j>>2]=y;p=b[l>>0]|0;f[i>>2]=f[j>>2];if(Jb(c,i,p,r)|0){z=0;A=t}else{s=0;break a}while(1){b[(f[g>>2]|0)+A>>0]=b[(f[k>>2]|0)+z>>0]|0;z=z+1|0;if((z|0)==(n|0))break;else A=A+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){if((f[e>>2]|0)!=(n|0))f[e>>2]=n;ip(n)}q=s;u=h;return q|0}function id(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=X(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;gf(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;f[k+8>>2]=0;if(m<<24>>24){if(m<<24>>24<0)zo(k);p=Vk(n)|0;f[e>>2]=p;f[k>>2]=p;f[k+8>>2]=p+n;d=n;r=p;do{b[r>>0]=0;r=(f[e>>2]|0)+1|0;f[e>>2]=r;d=d+-1|0}while((d|0)!=0)}gf(g,0,0+a|0);a:do if(!o)s=1;else{a=c+84|0;d=c+68|0;if(m<<24>>24>0){t=0;v=0}else{r=0;while(1){if(!(b[a>>0]|0))w=f[(f[d>>2]|0)+(r<<2)>>2]|0;else w=r;p=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Kb(c,i,x,p)|0)){s=0;break a}r=r+1|0;if(r>>>0>=o>>>0){s=1;break a}}}while(1){if(!(b[a>>0]|0))y=f[(f[d>>2]|0)+(v<<2)>>2]|0;else y=v;r=f[k>>2]|0;f[j>>2]=y;p=b[l>>0]|0;f[i>>2]=f[j>>2];if(Kb(c,i,p,r)|0){z=0;A=t}else{s=0;break a}while(1){b[(f[g>>2]|0)+A>>0]=b[(f[k>>2]|0)+z>>0]|0;z=z+1|0;if((z|0)==(n|0))break;else A=A+1|0}v=v+1|0;if(v>>>0>=o>>>0){s=1;break}else t=t+n|0}}while(0);n=f[k>>2]|0;if(n|0){if((f[e>>2]|0)!=(n|0))f[e>>2]=n;ip(n)}q=s;u=h;return q|0}function jd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[k>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(m|0)!=(n|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else Ng(k,e-o|0);o=a+56|0;k=f[o>>2]|0;m=f[k+4>>2]|0;n=f[k>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){u=d;return 1}l=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;if((m|0)==(n|0)){t=k;zo(t)}else{v=0;w=n}while(1){f[i>>2]=f[w+(v<<2)>>2];f[h>>2]=f[i>>2];Nb(j,h,c,v);n=X(v,e)|0;k=b+(n<<2)|0;m=c+(n<<2)|0;if((f[g>>2]|0)>0){n=0;do{x=f[a+68+(n<<2)>>2]|0;y=f[l>>2]|0;if((x|0)>(y|0)){z=f[q>>2]|0;f[z+(n<<2)>>2]=y;A=z}else{z=f[r>>2]|0;y=f[q>>2]|0;f[y+(n<<2)>>2]=(x|0)<(z|0)?z:x;A=y}n=n+1|0;B=f[g>>2]|0}while((n|0)<(B|0));if((B|0)>0){n=0;do{y=(f[k+(n<<2)>>2]|0)+(f[A+(n<<2)>>2]|0)|0;x=m+(n<<2)|0;f[x>>2]=y;if((y|0)<=(f[l>>2]|0)){if((y|0)<(f[r>>2]|0)){C=(f[s>>2]|0)+y|0;D=20}}else{C=y-(f[s>>2]|0)|0;D=20}if((D|0)==20){D=0;f[x>>2]=C}n=n+1|0}while((n|0)<(f[g>>2]|0))}}v=v+1|0;if((v|0)>=(p|0)){D=8;break}n=f[o>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=v>>>0){t=n;D=9;break}}if((D|0)==8){u=d;return 1}else if((D|0)==9)zo(t);return 0}function kd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;e=b+12|0;g=f[e>>2]|0;h=(f[c>>2]|0)-g|0;i=c+4|0;j=(f[i>>2]|0)-g|0;k=c;f[k>>2]=h;f[k+4>>2]=j;k=(h|0)>-1;l=(j|0)>-1;m=f[e>>2]|0;if(((l?j:0-j|0)+(k?h:0-h|0)|0)>(m|0)){if(k)if(!l)if((h|0)<1){n=-1;o=-1}else p=6;else{n=1;o=1}else if((j|0)<1){n=-1;o=-1}else p=6;if((p|0)==6){n=(h|0)>0?1:-1;o=(j|0)>0?1:-1}l=X(m,n)|0;k=X(m,o)|0;q=(h<<1)-l|0;f[c>>2]=q;r=(j<<1)-k|0;f[i>>2]=r;if((X(n,o)|0)>-1){o=0-r|0;f[c>>2]=o;s=0-q|0;t=o}else{f[c>>2]=r;s=q;t=r}r=(t+l|0)/2|0;f[c>>2]=r;c=(s+k|0)/2|0;f[i>>2]=c;u=0;v=r;w=c;x=f[e>>2]|0}else{u=1;v=h;w=j;x=m}m=(f[d>>2]|0)+v|0;f[a>>2]=m;v=(f[d+4>>2]|0)+w|0;w=a+4|0;f[w>>2]=v;if((x|0)>=(m|0))if((m|0)<(0-x|0))y=(f[b+4>>2]|0)+m|0;else y=m;else y=m-(f[b+4>>2]|0)|0;f[a>>2]=y;if((x|0)>=(v|0))if((v|0)<(0-x|0))z=(f[b+4>>2]|0)+v|0;else z=v;else z=v-(f[b+4>>2]|0)|0;f[w>>2]=z;if(u){A=y;B=z;C=A+g|0;D=B+g|0;E=a;F=E;f[F>>2]=C;G=E+4|0;H=G;f[H>>2]=D;return}if((y|0)>-1)if((z|0)<=-1)if((y|0)<1){I=-1;J=-1}else p=24;else{I=1;J=1}else if((z|0)<1){I=-1;J=-1}else p=24;if((p|0)==24){I=(y|0)>0?1:-1;J=(z|0)>0?1:-1}p=X(x,I)|0;u=X(x,J)|0;x=(y<<1)-p|0;f[a>>2]=x;y=(z<<1)-u|0;f[w>>2]=y;if((X(I,J)|0)>-1){J=0-y|0;f[a>>2]=J;K=0-x|0;L=J}else{f[a>>2]=y;K=x;L=y}y=(L+p|0)/2|0;f[a>>2]=y;p=(K+u|0)/2|0;f[w>>2]=p;A=y;B=p;C=A+g|0;D=B+g|0;E=a;F=E;f[F>>2]=C;G=E+4|0;H=G;f[H>>2]=D;return}function ld(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=f[b>>2]|0;g=f[b+4>>2]|0;h=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-g|0;c=e;if((h|0)<=0){i=d+4|0;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}if(!g){e=d+4|0;m=h;n=e;o=f[e>>2]|0;p=c}else{e=32-g|0;q=(h|0)<(e|0)?h:e;r=-1>>>(e-q|0)&-1<>2];e=d+4|0;s=f[e>>2]|0;t=32-s|0;u=t>>>0>>0?t:q;v=f[d>>2]|0;w=f[v>>2]&~(-1>>>(t-u|0)&-1<>2]=w;s=f[e>>2]|0;f[v>>2]=(s>>>0>g>>>0?r<>>(g-s|0))|w;w=(f[e>>2]|0)+u|0;s=v+(w>>>5<<2)|0;f[d>>2]=s;v=w&31;f[e>>2]=v;w=q-u|0;if((w|0)>0){f[s>>2]=f[s>>2]&~(-1>>>(32-w|0))|r>>>(g+u|0);f[e>>2]=w;x=w}else x=v;v=c+4|0;f[b>>2]=v;m=h-q|0;n=e;o=x;p=v}v=32-o|0;x=-1<31){o=~x;e=f[d>>2]|0;q=~m;h=m+((q|0)>-64?q:-64)+32|0;q=(h>>>5)+1|0;c=m+-32-(h&-32)|0;h=m;w=p;u=f[e>>2]|0;g=e;while(1){r=f[w>>2]|0;s=u&o;f[g>>2]=s;f[g>>2]=s|r<>2];g=g+4|0;u=f[g>>2]&x|r>>>v;f[g>>2]=u;if((h|0)<=63)break;else{h=h+-32|0;w=w+4|0}}w=p+(q<<2)|0;f[b>>2]=w;f[d>>2]=e+(q<<2);y=c;z=w}else{y=m;z=p}if((y|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}p=f[z>>2]&-1>>>(32-y|0);z=(v|0)<(y|0)?v:y;m=f[d>>2]|0;w=f[m>>2]&~(-1<>2]&-1>>>(v-z|0));f[m>>2]=w;f[m>>2]=w|p<>2];w=(f[n>>2]|0)+z|0;v=m+(w>>>5<<2)|0;f[d>>2]=v;f[n>>2]=w&31;w=y-z|0;if((w|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}f[v>>2]=f[v>>2]&~(-1>>>(32-w|0))|p>>>z;f[n>>2]=w;i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}function md(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[l>>2]|0;n=f[k>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=e>>>0){if(o>>>0>e>>>0?(m=p+(e<<2)|0,(m|0)!=(n|0)):0)f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2)}else Ng(k,e-o|0);o=a+56|0;k=f[o>>2]|0;m=f[k+4>>2]|0;n=f[k>>2]|0;l=m-n|0;p=l>>2;if((l|0)<=0){u=d;return 1}l=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;if((m|0)==(n|0)){t=k;zo(t)}else{v=0;w=n}while(1){f[i>>2]=f[w+(v<<2)>>2];f[h>>2]=f[i>>2];Lb(j,h,c,v);n=X(v,e)|0;k=b+(n<<2)|0;m=c+(n<<2)|0;if((f[g>>2]|0)>0){n=0;do{x=f[a+68+(n<<2)>>2]|0;y=f[l>>2]|0;if((x|0)>(y|0)){z=f[q>>2]|0;f[z+(n<<2)>>2]=y;A=z}else{z=f[r>>2]|0;y=f[q>>2]|0;f[y+(n<<2)>>2]=(x|0)<(z|0)?z:x;A=y}n=n+1|0;B=f[g>>2]|0}while((n|0)<(B|0));if((B|0)>0){n=0;do{y=(f[k+(n<<2)>>2]|0)+(f[A+(n<<2)>>2]|0)|0;x=m+(n<<2)|0;f[x>>2]=y;if((y|0)<=(f[l>>2]|0)){if((y|0)<(f[r>>2]|0)){C=(f[s>>2]|0)+y|0;D=20}}else{C=y-(f[s>>2]|0)|0;D=20}if((D|0)==20){D=0;f[x>>2]=C}n=n+1|0}while((n|0)<(f[g>>2]|0))}}v=v+1|0;if((v|0)>=(p|0)){D=8;break}n=f[o>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=v>>>0){t=n;D=9;break}}if((D|0)==8){u=d;return 1}else if((D|0)==9)zo(t);return 0}function nd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=b+4|0;h=f[g>>2]|0;i=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-h|0;c=e;if((i|0)<=0){j=d+4|0;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}if(!h){e=d+4|0;n=i;o=e;p=c;q=f[e>>2]|0}else{e=32-h|0;r=(i|0)<(e|0)?i:e;s=-1>>>(e-r|0)&-1<>2];c=d+4|0;h=f[c>>2]|0;e=32-h|0;t=e>>>0>>0?e:r;u=f[d>>2]|0;v=f[u>>2]&~(-1>>>(e-t|0)&-1<>2]=v;h=f[c>>2]|0;e=f[g>>2]|0;f[u>>2]=(h>>>0>e>>>0?s<>>(e-h|0))|v;v=(f[c>>2]|0)+t|0;h=u+(v>>>5<<2)|0;f[d>>2]=h;u=v&31;f[c>>2]=u;v=r-t|0;if((v|0)>0){e=f[h>>2]&~(-1>>>(32-v|0));f[h>>2]=e;f[h>>2]=e|s>>>((f[g>>2]|0)+t|0);f[c>>2]=v;w=v}else w=u;u=(f[b>>2]|0)+4|0;f[b>>2]=u;n=i-r|0;o=c;p=u;q=w}w=32-q|0;u=-1<31){q=~u;c=~n;r=n+((c|0)>-64?c:-64)+32&-32;c=n;i=p;while(1){v=f[i>>2]|0;t=f[d>>2]|0;g=f[t>>2]&q;f[t>>2]=g;f[t>>2]=g|v<>2];g=t+4|0;f[d>>2]=g;f[g>>2]=f[g>>2]&u|v>>>w;i=(f[b>>2]|0)+4|0;f[b>>2]=i;if((c|0)<=63)break;else c=c+-32|0}x=n+-32-r|0;y=i}else{x=n;y=p}if((x|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}p=f[y>>2]&-1>>>(32-x|0);y=(w|0)<(x|0)?w:x;n=f[d>>2]|0;i=f[n>>2]&~(-1<>2]&-1>>>(w-y|0));f[n>>2]=i;f[n>>2]=i|p<>2];i=(f[o>>2]|0)+y|0;w=n+(i>>>5<<2)|0;f[d>>2]=w;f[o>>2]=i&31;i=x-y|0;if((i|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}f[w>>2]=f[w>>2]&~(-1>>>(32-i|0))|p>>>y;f[o>>2]=i;j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}function od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d>>2]=0;do if((j[b+38>>1]|0)<514){g=b+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=b+16|0;l=g;m=f[l>>2]|0;n=Rl(m|0,f[l+4>>2]|0,4,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=c;return o|0}else{i=(f[b>>2]|0)+m|0;m=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[d>>2]=m;i=g;f[i>>2]=n;f[i+4>>2]=l;p=m;break}}else if(Ph(d,b)|0){p=f[d>>2]|0;break}else{o=0;u=c;return o|0}while(0);m=a+76|0;wd(m,p,0);Ho(e);if(Bd(e,b)|0){if(f[d>>2]|0){p=1;l=0;do{p=p^((Ni(e)|0)^1);i=(f[m>>2]|0)+(l>>>5<<2)|0;n=1<<(l&31);if(p)q=f[i>>2]|n;else q=f[i>>2]&~n;f[i>>2]=q;l=l+1|0}while(l>>>0<(f[d>>2]|0)>>>0)}d=b+8|0;l=f[d>>2]|0;q=f[d+4>>2]|0;d=b+16|0;p=d;m=f[p>>2]|0;e=f[p+4>>2]|0;p=Rl(m|0,e|0,4,0)|0;i=I;if(((!((q|0)<(i|0)|(q|0)==(i|0)&l>>>0

>>0)?(n=f[b>>2]|0,b=n+m|0,g=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24,b=d,f[b>>2]=p,f[b+4>>2]=i,i=Rl(m|0,e|0,8,0)|0,e=I,!((q|0)<(e|0)|(q|0)==(e|0)&l>>>0>>0)):0)?(l=n+p|0,p=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24,l=d,f[l>>2]=i,f[l+4>>2]=e,(g|0)<=(p|0)):0)?(f[a+12>>2]=g,f[a+16>>2]=p,e=Tl(p|0,((p|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0,g=I,g>>>0<0|(g|0)==0&e>>>0<2147483647):0){g=e+1|0;f[a+20>>2]=g;e=(g|0)/2|0;p=a+24|0;f[p>>2]=e;f[a+28>>2]=0-e;if(!(g&1)){f[p>>2]=e+-1;r=1}else r=1}else r=0}else r=0;o=r;u=c;return o|0}function pd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Rl(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(nh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Tl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Rl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+4194304|0;f[a+48>>2]=y;o=y>>>0<1073741824;u=d;return o|0}function qd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Rl(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(nh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Tl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Rl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+2097152|0;f[a+48>>2]=y;o=y>>>0<536870912;u=d;return o|0}function rd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Rl(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(nh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Tl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Rl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+1048576|0;f[a+48>>2]=y;o=y>>>0<268435456;u=d;return o|0}function sd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Rl(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(nh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Tl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Rl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+262144|0;f[a+48>>2]=y;o=y>>>0<67108864;u=d;return o|0}function td(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Rl(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(nh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Tl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Rl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+131072|0;f[a+48>>2]=y;o=y>>>0<33554432;u=d;return o|0}function ud(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Rl(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(nh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Tl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Rl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+32768|0;f[a+48>>2]=y;o=y>>>0<8388608;u=d;return o|0}function vd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=Rl(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(nh(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=Tl(s|0,t|0,v|0,w|0)|0;t=I;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=Rl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=I;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;z=b[c>>0]&63;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;z=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;r=e+y+-3|0;z=(h[r+1>>0]|0)<<8|(h[r>>0]|0)|(h[r+2>>0]|0)<<16&4128768;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;z=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);break}default:{}}while(0);y=z+16384|0;f[a+48>>2]=y;o=y>>>0<4194304;u=d;return o|0}function wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+32|0;e=d+8|0;g=d;h=a+4|0;i=f[h>>2]|0;if(i>>>0>=b>>>0){f[h>>2]=b;u=d;return}j=a+8|0;k=f[j>>2]|0;l=k<<5;m=b-i|0;if(l>>>0>>0|i>>>0>(l-m|0)>>>0){f[e>>2]=0;n=e+4|0;f[n>>2]=0;o=e+8|0;f[o>>2]=0;if((b|0)<0)zo(a);p=k<<6;k=b+31&-32;Ig(e,l>>>0<1073741823?(p>>>0>>0?k:p):2147483647);p=f[h>>2]|0;f[n>>2]=p+m;k=f[a>>2]|0;l=k;q=f[e>>2]|0;r=(l+(p>>>5<<2)-k<<3)+(p&31)|0;if((r|0)>0){p=r>>>5;jk(q|0,k|0,p<<2|0)|0;k=r&31;r=q+(p<<2)|0;s=r;if(!k){t=0;v=s}else{w=-1>>>(32-k|0);f[r>>2]=f[r>>2]&~w|f[l+(p<<2)>>2]&w;t=k;v=s}}else{t=0;v=q}f[g>>2]=v;f[g+4>>2]=t;t=g;g=f[t>>2]|0;v=f[t+4>>2]|0;t=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=t;e=f[h>>2]|0;f[h>>2]=f[n>>2];f[n>>2]=e;e=f[j>>2]|0;f[j>>2]=f[o>>2];f[o>>2]=e;if(t|0)ip(t);x=g;y=v}else{v=(f[a>>2]|0)+(i>>>5<<2)|0;f[h>>2]=b;x=v;y=i&31}if(!m){u=d;return}i=(y|0)==0;v=x;if(c){if(i){z=m;A=x;B=v}else{c=32-y|0;b=c>>>0>m>>>0?m:c;f[v>>2]=f[v>>2]|-1>>>(c-b|0)&-1<>>5;Dh(A|0,-1,c<<2|0)|0;A=z&31;z=B+(c<<2)|0;if(!A){u=d;return}f[z>>2]=f[z>>2]|-1>>>(32-A|0);u=d;return}else{if(i){C=m;D=x;E=v}else{x=32-y|0;i=x>>>0>m>>>0?m:x;f[v>>2]=f[v>>2]&~(-1>>>(x-i|0)&-1<>>5;Dh(D|0,0,y<<2|0)|0;D=C&31;C=E+(y<<2)|0;if(!D){u=d;return}f[C>>2]=f[C>>2]&~(-1>>>(32-D|0));u=d;return}}function xd(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3240;b=f[a+380>>2]|0;if(b|0){c=a+384|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=a+360|0;d=f[b>>2]|0;f[b>>2]=0;if(d|0){b=d+-4|0;c=f[b>>2]|0;if(c|0){e=d+(c<<4)|0;do e=e+-16|0;while((e|0)!=(d|0))}gp(b)}Pg(a+212|0);b=f[a+196>>2]|0;if(b|0){d=a+200|0;e=f[d>>2]|0;if((e|0)!=(b|0))f[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);ip(b)}b=f[a+184>>2]|0;if(b|0){e=a+188|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;e=f[d>>2]|0;if((e|0)!=(b|0))f[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);ip(b)}b=f[a+160>>2]|0;if(b|0){e=a+164|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=f[a+144>>2]|0;if(b|0){d=b;do{b=d;d=f[d>>2]|0;ip(b)}while((d|0)!=0)}d=a+136|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)ip(b);b=f[a+120>>2]|0;if(b|0)ip(b);b=f[a+108>>2]|0;if(b|0)ip(b);b=f[a+96>>2]|0;if(b|0)ip(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;e=f[d>>2]|0;if((e|0)!=(b|0))f[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);ip(b)}b=f[a+60>>2]|0;if(b|0)ip(b);b=f[a+48>>2]|0;if(b|0){e=a+52|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;e=f[d>>2]|0;if((e|0)!=(b|0))f[d>>2]=e+(~(((e+-12-b|0)>>>0)/12|0)*12|0);ip(b)}b=f[a+24>>2]|0;if(b|0){e=a+28|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;e=f[d>>2]|0;if((e|0)!=(b|0))f[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);ip(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ug(a);ip(a);return}function yd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=a+32|0;d=f[c>>2]|0;e=d+8|0;g=f[e+4>>2]|0;h=d+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[d>>2]|0)+j>>0]|0;d=Rl(j|0,k|0,1,0)|0;k=h;f[k>>2]=d;f[k+4>>2]=I;k=e&255;d=e<<24>>24==0;a:do if(!d){e=0;while(1){if(!(Qa[f[(f[a>>2]|0)+16>>2]&127](a,e)|0)){l=0;break}e=e+1|0;if((e|0)>=(k|0))break a}return l|0}while(0);e=a+8|0;h=f[e>>2]|0;j=f[a+12>>2]|0;b:do if((h|0)!=(j|0)){g=a+4|0;i=h;while(1){m=f[i>>2]|0;i=i+4|0;if(!(Ra[f[(f[m>>2]|0)+8>>2]&31](m,a,f[g>>2]|0)|0)){l=0;break}if((i|0)==(j|0))break b}return l|0}while(0);if(!d){j=0;do{h=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=j+1|0;if(!(Qa[f[(f[h>>2]|0)+12>>2]&127](h,f[c>>2]|0)|0)){l=0;n=26;break}}while((j|0)<(k|0));if((n|0)==26)return l|0;if(!d){d=a+20|0;n=a+24|0;j=0;do{c=f[(f[e>>2]|0)+(j<<2)>>2]|0;h=Pa[f[(f[c>>2]|0)+24>>2]&127](c)|0;if((h|0)>0){c=0;do{i=f[(f[e>>2]|0)+(j<<2)>>2]|0;g=Qa[f[(f[i>>2]|0)+20>>2]&127](i,c)|0;i=f[n>>2]|0;m=f[d>>2]|0;o=i-m>>2;p=m;do if(g>>>0>=o>>>0){m=g+1|0;q=i;if(m>>>0>o>>>0){Ng(d,m-o|0);r=f[d>>2]|0;break}if(m>>>0>>0?(s=p+(m<<2)|0,(s|0)!=(q|0)):0){f[n>>2]=q+(~((q+-4-s|0)>>>2)<<2);r=p}else r=p}else r=p;while(0);f[r+(g<<2)>>2]=j;c=c+1|0}while((c|0)!=(h|0))}j=j+1|0}while((j|0)!=(k|0))}}if(!(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)){l=0;return l|0}l=Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0;return l|0}function zd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+16|0;d=c;e=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){g=1;u=c;return g|0}h=a+36|0;i=a+48|0;j=d+8|0;k=d+4|0;l=d+11|0;m=0;while(1){n=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;if(f[n>>2]|0){n=f[(f[(f[h>>2]|0)+(m<<2)>>2]|0)+8>>2]|0;o=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;p=f[o>>2]|0;o=f[n+56>>2]|0;n=Vk(32)|0;f[d>>2]=n;f[j>>2]=-2147483616;f[k>>2]=24;q=n;r=11767;s=q+24|0;do{b[q>>0]=b[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));b[n+24>>0]=0;r=p+16|0;q=f[r>>2]|0;if(q){s=r;t=q;a:while(1){q=t;while(1){if((f[q+16>>2]|0)>=(o|0))break;v=f[q+4>>2]|0;if(!v){w=s;break a}else q=v}t=f[q>>2]|0;if(!t){w=q;break}else s=q}if(((w|0)!=(r|0)?(o|0)>=(f[w+16>>2]|0):0)?(s=w+20|0,(ig(s,d)|0)!=0):0)x=ei(s,d,0)|0;else y=13}else y=13;if((y|0)==13){y=0;x=ei(p,d,0)|0}if((b[l>>0]|0)<0)ip(f[d>>2]|0);if(x){s=f[(f[h>>2]|0)+(m<<2)>>2]|0;t=f[s+8>>2]|0;$d(t,lg(s)|0)}else y=18}else y=18;if((y|0)==18?(y=0,s=f[(f[h>>2]|0)+(m<<2)>>2]|0,!(Qa[f[(f[s>>2]|0)+24>>2]&127](s,i)|0)):0){g=0;y=20;break}m=m+1|0;if((m|0)>=(e|0)){g=1;y=20;break}}if((y|0)==20){u=c;return g|0}return 0}function Ad(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+12|0;i=e;j=c+24|0;k=b[j>>0]|0;l=k<<24>>24;f[g>>2]=0;m=g+4|0;f[m>>2]=0;f[g+8>>2]=0;if(!(k<<24>>24))n=0;else{if(k<<24>>24<0)zo(g);k=Vk(l)|0;f[m>>2]=k;f[g>>2]=k;f[g+8>>2]=k+l;o=l;l=k;do{b[l>>0]=0;l=(f[m>>2]|0)+1|0;f[m>>2]=l;o=o+-1|0}while((o|0)!=0);n=b[j>>0]|0}o=n<<24>>24;f[i>>2]=0;l=i+4|0;f[l>>2]=0;f[i+8>>2]=0;if(n<<24>>24){if(n<<24>>24<0)zo(i);n=Vk(o)|0;f[l>>2]=n;f[i>>2]=n;f[i+8>>2]=n+o;k=o;o=n;do{b[o>>0]=0;o=(f[l>>2]|0)+1|0;f[l>>2]=o;k=k+-1|0}while((k|0)!=0)}k=c+80|0;if(!(f[k>>2]|0))p=f[i>>2]|0;else{o=c+48|0;n=c+40|0;q=c+64|0;r=a+48|0;a=0;do{s=f[g>>2]|0;t=o;v=f[t>>2]|0;w=f[t+4>>2]|0;t=n;x=f[t>>2]|0;y=_k(x|0,f[t+4>>2]|0,a|0,0)|0;t=Rl(y|0,I|0,v|0,w|0)|0;Jf(s|0,(f[f[c>>2]>>2]|0)+t|0,x|0)|0;if((b[j>>0]|0)>0?(b[f[i>>2]>>0]=(f[(f[r>>2]|0)+(d<<2)>>2]|0)+(h[s>>0]|0),(b[j>>0]|0)>1):0){s=1;do{b[(f[i>>2]|0)+s>>0]=(f[(f[r>>2]|0)+(s+d<<2)>>2]|0)+(h[(f[g>>2]|0)+s>>0]|0);s=s+1|0}while((s|0)<(b[j>>0]|0))}s=f[i>>2]|0;x=n;t=f[x>>2]|0;w=_k(t|0,f[x+4>>2]|0,a|0,0)|0;Jf((f[f[q>>2]>>2]|0)+w|0,s|0,t|0)|0;a=a+1|0}while(a>>>0<(f[k>>2]|0)>>>0);p=s}if(p|0){if((f[l>>2]|0)!=(p|0))f[l>>2]=p;ip(p)}p=f[g>>2]|0;if(!p){u=e;return 1}if((f[m>>2]|0)!=(p|0))f[m>>2]=p;ip(p);u=e;return 1}function Bd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;g=c+8|0;i=g;k=f[i+4>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((k|0)>(o|0)|((k|0)==(o|0)?(f[i>>2]|0)>>>0>n>>>0:0))){p=0;u=d;return p|0}b[a+12>>0]=b[(f[c>>2]|0)+n>>0]|0;n=l;i=f[n>>2]|0;o=f[n+4>>2]|0;n=Rl(i|0,o|0,1,0)|0;k=l;f[k>>2]=n;f[k+4>>2]=I;if((j[c+38>>1]|0)<514){k=g;m=f[k>>2]|0;q=f[k+4>>2]|0;k=Rl(i|0,o|0,5,0)|0;o=I;if((q|0)<(o|0)|(q|0)==(o|0)&m>>>0>>0)r=0;else{i=(f[c>>2]|0)+n|0;n=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[e>>2]=n;i=l;f[i>>2]=k;f[i+4>>2]=o;s=m;t=q;v=k;w=o;x=n;y=7}}else if(Ph(e,c)|0){n=g;g=l;s=f[n>>2]|0;t=f[n+4>>2]|0;v=f[g>>2]|0;w=f[g+4>>2]|0;x=f[e>>2]|0;y=7}else r=0;a:do if((y|0)==7){e=Tl(s|0,t|0,v|0,w|0)|0;g=I;if(!((g|0)<0|(g|0)==0&e>>>0>>0)?(e=(f[c>>2]|0)+v|0,(x|0)>=1):0){f[a>>2]=e;g=x+-1|0;n=e+g|0;switch((h[n>>0]|0)>>>6&3){case 0:{f[a+4>>2]=g;z=b[n>>0]&63;break}case 1:{if((x|0)<2){r=0;break a}f[a+4>>2]=x+-2;n=e+x+-2|0;z=(h[n+1>>0]|0)<<8&16128|(h[n>>0]|0);break}case 2:{if((x|0)<3){r=0;break a}f[a+4>>2]=x+-3;n=e+x+-3|0;z=(h[n+1>>0]|0)<<8|(h[n>>0]|0)|(h[n+2>>0]|0)<<16&4128768;break}default:{r=0;break a}}n=z+4096|0;f[a+8>>2]=n;if(n>>>0<1048576){n=Rl(v|0,w|0,x|0,0)|0;e=l;f[e>>2]=n;f[e+4>>2]=I;r=1}else r=0}else r=0}while(0);p=r;u=d;return p|0}function Cd(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3072;b=a+360|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<4)|0;do e=e+-16|0;while((e|0)!=(c|0))}gp(b)}Pg(a+212|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);ip(b)}b=f[a+184>>2]|0;if(b|0){e=a+188|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);ip(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);ip(b)}b=f[a+160>>2]|0;if(b|0){e=a+164|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);ip(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;ip(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)ip(b);b=f[a+120>>2]|0;if(b|0)ip(b);b=f[a+108>>2]|0;if(b|0)ip(b);b=f[a+96>>2]|0;if(b|0)ip(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);ip(b)}b=f[a+60>>2]|0;if(b|0)ip(b);b=f[a+48>>2]|0;if(b|0){e=a+52|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);ip(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~(((e+-12-b|0)>>>0)/12|0)*12|0);ip(b)}b=f[a+24>>2]|0;if(b|0){e=a+28|0;c=f[e>>2]|0;if((c|0)!=(b|0))f[e>>2]=c+(~((c+-4-b|0)>>>2)<<2);ip(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);ip(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ug(a);ip(a);return}function Dd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;i=a+4|0;j=f[i>>2]|0;if(((h-j|0)/144|0)>>>0>=c>>>0){k=c;l=j;do{f[l>>2]=-1;Ri(l+4|0);b[l+100>>0]=1;m=l+104|0;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));l=(f[i>>2]|0)+144|0;f[i>>2]=l;k=k+-1|0}while((k|0)!=0);u=d;return}k=f[a>>2]|0;l=(j-k|0)/144|0;j=l+c|0;if(j>>>0>29826161)zo(a);o=(h-k|0)/144|0;k=o<<1;h=o>>>0<14913080?(k>>>0>>0?j:k):29826161;f[e+12>>2]=0;f[e+16>>2]=a+8;do if(h)if(h>>>0>29826161){k=ra(8)|0;_m(k,13388);f[k>>2]=4744;va(k|0,1128,101)}else{p=Vk(h*144|0)|0;break}else p=0;while(0);f[e>>2]=p;k=p+(l*144|0)|0;l=e+8|0;f[l>>2]=k;j=e+4|0;f[j>>2]=k;o=e+12|0;f[o>>2]=p+(h*144|0);h=c;c=k;do{f[c>>2]=-1;Ri(c+4|0);b[c+100>>0]=1;m=c+104|0;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));c=(f[l>>2]|0)+144|0;f[l>>2]=c;h=h+-1|0}while((h|0)!=0);h=c;c=f[a>>2]|0;m=f[i>>2]|0;if((m|0)==(c|0)){q=j;r=f[j>>2]|0;s=c;t=m}else{n=m;m=f[j>>2]|0;do{m=m+-144|0;n=n+-144|0;ad(m,n)}while((n|0)!=(c|0));f[j>>2]=m;q=j;r=m;s=f[a>>2]|0;t=f[i>>2]|0}f[a>>2]=r;f[q>>2]=s;f[i>>2]=h;f[l>>2]=t;t=f[g>>2]|0;f[g>>2]=f[o>>2];f[o>>2]=t;f[e>>2]=s;Tg(e);u=d;return}function Ed(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=(c|0)==(a|0);b[c+12>>0]=d&1;if(d)return;else e=c;while(1){g=e+8|0;h=f[g>>2]|0;c=h+12|0;if(b[c>>0]|0){i=23;break}j=h+8|0;k=f[j>>2]|0;d=f[k>>2]|0;if((d|0)==(h|0)){l=f[k+4>>2]|0;if(!l){i=7;break}m=l+12|0;if(!(b[m>>0]|0))n=m;else{i=7;break}}else{if(!d){i=16;break}m=d+12|0;if(!(b[m>>0]|0))n=m;else{i=16;break}}b[c>>0]=1;c=(k|0)==(a|0);b[k+12>>0]=c&1;b[n>>0]=1;if(c){i=23;break}else e=k}if((i|0)==7){if((f[h>>2]|0)==(e|0)){o=h;p=k}else{n=h+4|0;a=f[n>>2]|0;c=f[a>>2]|0;f[n>>2]=c;if(!c)q=k;else{f[c+8>>2]=h;q=f[j>>2]|0}f[a+8>>2]=q;q=f[j>>2]|0;f[((f[q>>2]|0)==(h|0)?q:q+4|0)>>2]=a;f[a>>2]=h;f[j>>2]=a;o=a;p=f[a+8>>2]|0}b[o+12>>0]=1;b[p+12>>0]=0;o=f[p>>2]|0;a=o+4|0;q=f[a>>2]|0;f[p>>2]=q;if(q|0)f[q+8>>2]=p;q=p+8|0;f[o+8>>2]=f[q>>2];c=f[q>>2]|0;f[((f[c>>2]|0)==(p|0)?c:c+4|0)>>2]=o;f[a>>2]=p;f[q>>2]=o;return}else if((i|0)==16){if((f[h>>2]|0)==(e|0)){o=e+4|0;q=f[o>>2]|0;f[h>>2]=q;if(!q)r=k;else{f[q+8>>2]=h;r=f[j>>2]|0}f[g>>2]=r;r=f[j>>2]|0;f[((f[r>>2]|0)==(h|0)?r:r+4|0)>>2]=e;f[o>>2]=h;f[j>>2]=e;s=e;t=f[e+8>>2]|0}else{s=h;t=k}b[s+12>>0]=1;b[t+12>>0]=0;s=t+4|0;k=f[s>>2]|0;h=f[k>>2]|0;f[s>>2]=h;if(h|0)f[h+8>>2]=t;h=t+8|0;f[k+8>>2]=f[h>>2];s=f[h>>2]|0;f[((f[s>>2]|0)==(t|0)?s:s+4|0)>>2]=k;f[k>>2]=t;f[h>>2]=k;return}else if((i|0)==23)return}function Fd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;e=u;u=u+16|0;g=e;h=f[a+40>>2]|0;i=f[a+44>>2]|0;if((h|0)==(i|0)){j=0;k=2;l=(k|0)==2;m=l?0:j;u=e;return m|0}a=g+11|0;n=g+4|0;o=d+11|0;p=d+4|0;q=0;r=h;a:while(1){f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Ah(f[r>>2]|0,c,g)|0;s=b[a>>0]|0;b:do if(h){t=s<<24>>24<0;v=s&255;w=t?f[n>>2]|0:v;x=b[o>>0]|0;y=x<<24>>24<0;if((w|0)==((y?f[p>>2]|0:x&255)|0)){x=f[g>>2]|0;z=t?x:g;A=y?f[d>>2]|0:d;y=(w|0)==0;c:do if(t){if(!y?$i(z,A,w)|0:0){B=0;C=q;D=14;break b}}else if(!y){if((b[A>>0]|0)==(x&255)<<24>>24){E=g;F=v;G=A}else{H=0;I=q;D=13;break b}while(1){F=F+-1|0;E=E+1|0;if(!F)break c;G=G+1|0;if((b[E>>0]|0)!=(b[G>>0]|0)){H=0;I=q;D=13;break b}}}while(0);H=1;I=f[r>>2]|0;D=13}else{H=0;I=q;D=13}}else{H=3;I=q;D=13}while(0);if((D|0)==13){D=0;if(s<<24>>24<0){B=H;C=I;D=14}else{J=H;K=I}}if((D|0)==14){D=0;ip(f[g>>2]|0);J=B;K=C}switch(J&3){case 3:case 0:break;default:{j=K;k=J;D=17;break a}}r=r+4|0;if((r|0)==(i|0)){j=K;k=2;D=17;break}else q=K}if((D|0)==17){l=(k|0)==2;m=l?0:j;u=e;return m|0}return 0}function Gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+16|0;d=c;e=b+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;m=Rl(l|0,f[k+4>>2]|0,4,0)|0;k=I;if((j|0)<(k|0)|(j|0)==(k|0)&i>>>0>>0){n=0;u=c;return n|0}i=(f[b>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=g;f[i>>2]=m;f[i+4>>2]=k;if((l|0)<0){n=0;u=c;return n|0}wd(a+76|0,l,0);Ho(d);if(Bd(d,b)|0){if((l|0)>0){k=a+76|0;i=1;m=0;do{i=i^((Ni(d)|0)^1);j=(f[k>>2]|0)+(m>>>5<<2)|0;o=1<<(m&31);if(i)p=f[j>>2]|o;else p=f[j>>2]&~o;f[j>>2]=p;m=m+1|0}while((m|0)<(l|0))}l=e;e=f[l>>2]|0;m=f[l+4>>2]|0;l=g;p=f[l>>2]|0;i=f[l+4>>2]|0;l=Rl(p|0,i|0,4,0)|0;k=I;if(((!((m|0)<(k|0)|(m|0)==(k|0)&e>>>0>>0)?(d=f[b>>2]|0,b=d+p|0,j=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24,b=g,f[b>>2]=l,f[b+4>>2]=k,k=Rl(p|0,i|0,8,0)|0,i=I,!((m|0)<(i|0)|(m|0)==(i|0)&e>>>0>>0)):0)?(e=d+l|0,l=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,e=g,f[e>>2]=k,f[e+4>>2]=i,(j|0)<=(l|0)):0)?(f[a+12>>2]=j,f[a+16>>2]=l,i=Tl(l|0,((l|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0,j=I,j>>>0<0|(j|0)==0&i>>>0<2147483647):0){j=i+1|0;f[a+20>>2]=j;i=(j|0)/2|0;l=a+24|0;f[l>>2]=i;f[a+28>>2]=0-i;if(!(j&1)){f[l>>2]=i+-1;q=1}else q=1}else q=0}else q=0;n=q;u=c;return n|0}function Hd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;g=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Pa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){h=0;f[a>>2]=h;return}i=Pa[f[(f[b>>2]|0)+36>>2]&127](b)|0;j=Qa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((i|0)==0|(j|0)==0){h=0;f[a>>2]=h;return}k=Qa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;d=f[b+44>>2]|0;b=j+12|0;l=(c|0)==6;if(!k){if(l){c=Vk(104)|0;f[c+4>>2]=g;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[c+24>>2]=d;f[c+28>>2]=i;f[c+32>>2]=b;f[c+36>>2]=j;f[c>>2]=2632;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=d;f[c+56>>2]=i;f[c+60>>2]=b;f[c+64>>2]=j;f[c+40>>2]=2688;f[c+68>>2]=1;i=c+72|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;Ho(c+88|0);h=c;f[a>>2]=h;return}}else if(l){l=Vk(104)|0;f[l+4>>2]=g;g=l+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[l+24>>2]=d;f[l+28>>2]=k;f[l+32>>2]=b;f[l+36>>2]=j;f[l>>2]=2548;f[l+44>>2]=0;f[l+48>>2]=0;f[l+52>>2]=d;f[l+56>>2]=k;f[l+60>>2]=b;f[l+64>>2]=j;f[l+40>>2]=2604;f[l+68>>2]=1;j=l+72|0;f[j>>2]=-1;f[j+4>>2]=-1;f[j+8>>2]=-1;f[j+12>>2]=-1;Ho(l+88|0);h=l;f[a>>2]=h;return}f[a>>2]=0;f[a>>2]=0;h=0;f[a>>2]=h;return}function Id(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;g=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Pa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){h=0;f[a>>2]=h;return}i=Pa[f[(f[b>>2]|0)+36>>2]&127](b)|0;j=Qa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((i|0)==0|(j|0)==0){h=0;f[a>>2]=h;return}k=Qa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;d=f[b+44>>2]|0;b=j+12|0;l=(c|0)==6;if(!k){if(l){c=Vk(104)|0;f[c+4>>2]=g;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[c+24>>2]=d;f[c+28>>2]=i;f[c+32>>2]=b;f[c+36>>2]=j;f[c>>2]=2800;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=d;f[c+56>>2]=i;f[c+60>>2]=b;f[c+64>>2]=j;f[c+40>>2]=2856;f[c+68>>2]=1;i=c+72|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;Ho(c+88|0);h=c;f[a>>2]=h;return}}else if(l){l=Vk(104)|0;f[l+4>>2]=g;g=l+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[l+24>>2]=d;f[l+28>>2]=k;f[l+32>>2]=b;f[l+36>>2]=j;f[l>>2]=2716;f[l+44>>2]=0;f[l+48>>2]=0;f[l+52>>2]=d;f[l+56>>2]=k;f[l+60>>2]=b;f[l+64>>2]=j;f[l+40>>2]=2772;f[l+68>>2]=1;j=l+72|0;f[j>>2]=-1;f[j+4>>2]=-1;f[j+8>>2]=-1;f[j+12>>2]=-1;Ho(l+88|0);h=l;f[a>>2]=h;return}f[a>>2]=0;f[a>>2]=0;h=0;f[a>>2]=h;return}function Jd(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=u;u=u+32|0;h=g+12|0;i=g;k=c+24|0;l=b[k>>0]|0;m=l<<24>>24;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;o=l<<24>>24==0;do if(!o)if(l<<24>>24<0)zo(h);else{p=m<<1;q=Vk(p)|0;f[h>>2]=q;r=q+(m<<1)|0;f[h+8>>2]=r;Dh(q|0,0,p|0)|0;f[n>>2]=r;s=q;t=r;v=q;break}else{s=0;t=0;v=0}while(0);f[i>>2]=0;h=i+4|0;f[h>>2]=0;f[i+8>>2]=0;if(o){w=0;x=0;y=0}else{o=m<<1;l=Vk(o)|0;f[i>>2]=l;q=l+(m<<1)|0;f[i+8>>2]=q;Dh(l|0,0,o|0)|0;f[h>>2]=q;w=l;x=q;y=l}l=c+80|0;if(f[l>>2]|0){q=c+48|0;o=c+40|0;i=c+64|0;m=a+48|0;a=0;r=v;p=w;while(1){z=q;A=f[z>>2]|0;B=f[z+4>>2]|0;z=o;C=f[z>>2]|0;D=_k(C|0,f[z+4>>2]|0,a|0,0)|0;z=Rl(D|0,I|0,A|0,B|0)|0;Jf(r|0,(f[f[c>>2]>>2]|0)+z|0,C|0)|0;C=b[k>>0]|0;if(C<<24>>24>0){z=f[m>>2]|0;B=C<<24>>24;C=0;do{d[p+(C<<1)>>1]=(f[z+(C+e<<2)>>2]|0)+(j[s+(C<<1)>>1]|0);C=C+1|0}while((C|0)<(B|0));E=v}else E=r;B=o;C=f[B>>2]|0;z=_k(C|0,f[B+4>>2]|0,a|0,0)|0;Jf((f[f[i>>2]>>2]|0)+z|0,y|0,C|0)|0;a=a+1|0;if(a>>>0>=(f[l>>2]|0)>>>0)break;else{r=E;p=y}}}if(w|0){if((x|0)!=(w|0))f[h>>2]=x+(~((x+-2-w|0)>>>1)<<1);ip(y)}if(!s){u=g;return 1}if((t|0)!=(s|0))f[n>>2]=t+(~((t+-2-s|0)>>>1)<<1);ip(v);u=g;return 1}function Kd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=u;u=u+32|0;g=e+12|0;h=e;i=c+24|0;j=b[i>>0]|0;k=j<<24>>24;f[g>>2]=0;l=g+4|0;f[l>>2]=0;f[g+8>>2]=0;m=j<<24>>24==0;do if(!m)if(j<<24>>24<0)zo(g);else{n=k<<2;o=Vk(n)|0;f[g>>2]=o;p=o+(k<<2)|0;f[g+8>>2]=p;Dh(o|0,0,n|0)|0;f[l>>2]=p;q=o;r=p;s=o;break}else{q=0;r=0;s=0}while(0);f[h>>2]=0;g=h+4|0;f[g>>2]=0;f[h+8>>2]=0;if(m){t=0;v=0;w=0}else{m=k<<2;j=Vk(m)|0;f[h>>2]=j;o=j+(k<<2)|0;f[h+8>>2]=o;Dh(j|0,0,m|0)|0;f[g>>2]=o;t=j;v=o;w=j}j=c+80|0;if(f[j>>2]|0){o=c+48|0;m=c+40|0;h=c+64|0;k=a+48|0;a=0;p=s;n=t;while(1){x=o;y=f[x>>2]|0;z=f[x+4>>2]|0;x=m;A=f[x>>2]|0;B=_k(A|0,f[x+4>>2]|0,a|0,0)|0;x=Rl(B|0,I|0,y|0,z|0)|0;Jf(p|0,(f[f[c>>2]>>2]|0)+x|0,A|0)|0;A=b[i>>0]|0;if(A<<24>>24>0){x=f[k>>2]|0;z=A<<24>>24;A=0;do{f[n+(A<<2)>>2]=(f[x+(A+d<<2)>>2]|0)+(f[q+(A<<2)>>2]|0);A=A+1|0}while((A|0)<(z|0));C=s}else C=p;z=m;A=f[z>>2]|0;x=_k(A|0,f[z+4>>2]|0,a|0,0)|0;Jf((f[f[h>>2]>>2]|0)+x|0,w|0,A|0)|0;a=a+1|0;if(a>>>0>=(f[j>>2]|0)>>>0)break;else{p=C;n=w}}}if(t|0){if((v|0)!=(t|0))f[g>>2]=v+(~((v+-4-t|0)>>>2)<<2);ip(w)}if(!q){u=e;return 1}if((r|0)!=(q|0))f[l>>2]=r+(~((r+-4-q|0)>>>2)<<2);ip(s);u=e;return 1}function Ld(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3288;og(a+224|0);Pg(a+212|0);b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);ip(b)}b=f[a+172>>2]|0;if(b|0){c=a+176|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);ip(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;ip(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)ip(b);b=f[a+120>>2]|0;if(b|0)ip(b);b=f[a+108>>2]|0;if(b|0)ip(b);b=f[a+96>>2]|0;if(b|0)ip(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=f[a+60>>2]|0;if(b|0)ip(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);ip(b)}b=f[a+36>>2]|0;if(b|0){c=a+40|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);ip(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);ip(b)}b=f[a+12>>2]|0;if(b|0){c=a+16|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ug(a);ip(a);return}function Md(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;if(!(hc(a,c)|0)){g=0;u=d;return g|0}h=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;i=a+36|0;j=a+40|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0){if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){n=l;do{l=n+-4|0;f[j>>2]=l;o=f[l>>2]|0;f[l>>2]=0;if(o|0)Ua[f[(f[o>>2]|0)+4>>2]&127](o);n=f[j>>2]|0}while((n|0)!=(k|0))}}else hf(i,h-m|0);m=c+8|0;if((h|0)<=0){g=1;u=d;return g|0}k=c+16|0;n=0;while(1){j=m;o=f[j+4>>2]|0;l=k;p=f[l>>2]|0;q=f[l+4>>2]|0;if(!((o|0)>(q|0)|((o|0)==(q|0)?(f[j>>2]|0)>>>0>p>>>0:0))){g=0;r=19;break}j=b[(f[c>>2]|0)+p>>0]|0;o=Rl(p|0,q|0,1,0)|0;q=k;f[q>>2]=o;f[q+4>>2]=I;Wa[f[(f[a>>2]|0)+48>>2]&15](e,a,j);j=(f[i>>2]|0)+(n<<2)|0;q=f[e>>2]|0;f[e>>2]=0;o=f[j>>2]|0;f[j>>2]=q;if(o|0)Ua[f[(f[o>>2]|0)+4>>2]&127](o);o=f[e>>2]|0;f[e>>2]=0;if(o|0)Ua[f[(f[o>>2]|0)+4>>2]&127](o);o=f[(f[i>>2]|0)+(n<<2)>>2]|0;if(!o){g=0;r=19;break}q=f[(f[o>>2]|0)+8>>2]|0;j=Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0;p=Qa[f[(f[a>>2]|0)+20>>2]&127](a,n)|0;n=n+1|0;if(!(Ra[q&31](o,j,p)|0)){g=0;r=19;break}if((n|0)>=(h|0)){g=1;r=19;break}}if((r|0)==19){u=d;return g|0}return 0}function Nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c;e=a+40|0;g=e;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));if(Ef(e,1,d)|0){g=a;h=e;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));e=d;k=f[e>>2]|0;l=f[e+4>>2]|0;e=a+8|0;m=e;n=a+16|0;o=n;p=f[o>>2]|0;q=f[o+4>>2]|0;o=Tl(f[m>>2]|0,f[m+4>>2]|0,p|0,q|0)|0;m=I;if(!(l>>>0>m>>>0|(l|0)==(m|0)&k>>>0>o>>>0)){o=Rl(p|0,q|0,k|0,l|0)|0;l=n;f[l>>2]=o;f[l+4>>2]=I;do if((j[a+38>>1]|0)<514){l=a+96|0;g=l;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));if(Ef(l,1,d)|0){g=a;h=l;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=d;o=f[l>>2]|0;k=f[l+4>>2]|0;l=e;q=n;p=f[q>>2]|0;m=f[q+4>>2]|0;q=Tl(f[l>>2]|0,f[l+4>>2]|0,p|0,m|0)|0;l=I;if(!(k>>>0>l>>>0|(k|0)==(l|0)&o>>>0>q>>>0)){q=Rl(p|0,m|0,o|0,k|0)|0;k=n;f[k>>2]=q;f[k+4>>2]=I;break}}r=0;u=c;return r|0}else Bd(a+80|0,a)|0;while(0);if(!(Yg(a)|0)){r=0;u=c;return r|0}g=b;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));r=1;u=c;return r|0}}r=0;u=c;return r|0}function Od(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0;d=u;u=u+16|0;e=d+12|0;g=d;h=Vk(52)|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[h+16>>2]=$(1.0);i=h+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[h+36>>2]=$(1.0);f[h+40>>2]=0;f[h+44>>2]=0;f[h+48>>2]=0;Jo(e);if(Gf(e,f[c+32>>2]|0,h)|0){e=(f[c+4>>2]|0)+4|0;c=f[e>>2]|0;f[e>>2]=h;if(c|0){e=c+40|0;i=f[e>>2]|0;if(i|0){j=c+44|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k;do{k=m+-4|0;f[j>>2]=k;o=f[k>>2]|0;f[k>>2]=0;if(o|0){kh(o);ip(o)}m=f[j>>2]|0}while((m|0)!=(i|0));l=f[e>>2]|0}ip(l)}kh(c);ip(c)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}else{f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;c=Vk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=26;l=c;e=12995;i=l+26|0;do{b[l>>0]=b[e>>0]|0;l=l+1|0;e=e+1|0}while((l|0)<(i|0));b[c+26>>0]=0;f[a>>2]=-1;zh(a+4|0,g);if((b[g+11>>0]|0)<0)ip(f[g>>2]|0);g=h+40|0;a=f[g>>2]|0;if(a|0){c=h+44|0;e=f[c>>2]|0;if((e|0)==(a|0))p=a;else{l=e;do{e=l+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){kh(i);ip(i)}l=f[c>>2]|0}while((l|0)!=(a|0));p=f[g>>2]|0}ip(p)}kh(h);ip(h);u=d;return}}function Pd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+8|0;i=e+4|0;j=e;f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;l=c+8|0;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=f[o+4>>2]|0;o=Rl(p|0,q|0,4,0)|0;r=I;a:do if((n|0)<(r|0)|(n|0)==(r|0)&m>>>0>>0)s=0;else{t=f[c>>2]|0;v=t+p|0;w=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;v=l;f[v>>2]=o;f[v+4>>2]=r;b:do switch(w|0){case 3:{if(!((n|0)>(r|0)|(n|0)==(r|0)&m>>>0>o>>>0)){s=0;break a}v=b[t+o>>0]|0;x=Rl(p|0,q|0,5,0)|0;y=l;f[y>>2]=x;f[y+4>>2]=I;f[a+8>>2]=v<<24>>24;if(v<<24>>24==1)if(ec(a,c,g)|0)break b;else{s=0;break a}else{jj(4992,23,1,f[906]|0)|0;s=0;break a}break}case 2:{if(!(ec(a,c,g)|0)){s=0;break a}break}default:{jj(5016,24,1,f[906]|0)|0;s=0;break a}}while(0);f[i>>2]=f[g>>2];f[j>>2]=f[k>>2];Ue(i,j,a,d);s=1}while(0);d=f[g>>2]|0;if(!d){u=e;return s|0}g=f[k>>2]|0;if((g|0)!=(d|0))f[k>>2]=g+(~(((g+-12-d|0)>>>0)/12|0)*12|0);ip(d);u=e;return s|0}function Qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function Rd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+144|0;g=e+136|0;h=e+32|0;i=e;j=f[(f[c+4>>2]|0)+44>>2]|0;k=Vk(124)|0;f[k+4>>2]=0;f[k>>2]=3172;f[k+12>>2]=3196;f[k+100>>2]=0;f[k+104>>2]=0;f[k+108>>2]=0;l=k+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k+112>>2]=j;f[k+116>>2]=d;f[k+120>>2]=0;n=k;f[h+4>>2]=3196;f[h+92>>2]=0;f[h+96>>2]=0;f[h+100>>2]=0;l=h+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=f[c+8>>2]|0;f[i>>2]=3196;c=i+4|0;m=c+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;m=l;f[c>>2]=m;o=((f[m+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;Nf(i+8|0,o,g);Ua[f[(f[i>>2]|0)+8>>2]&127](i);f[h>>2]=f[c>>2];Se(h+4|0,i)|0;f[h+36>>2]=l;f[h+40>>2]=d;f[h+44>>2]=j;f[h+48>>2]=k;vf(k,h);f[a>>2]=n;f[i>>2]=3196;n=f[i+20>>2]|0;if(n|0)ip(n);n=f[i+8>>2]|0;if(!n){ch(h);u=e;return}ip(n);ch(h);u=e;return}function Sd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Rl(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=l;p=m;q=j;r=i}else{i=(f[c>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;l=g;i=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=I;j=g;f[j>>2]=i;f[j+4>>2]=l;j=e;o=i;p=l;q=f[j+4>>2]|0;r=f[j>>2]|0}j=a+4|0;l=Rl(o|0,p|0,4,0)|0;p=I;if((q|0)<(p|0)|(q|0)==(p|0)&r>>>0>>0)s=f[j>>2]|0;else{l=(f[c>>2]|0)+o|0;o=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;b[j>>0]=o;b[j+1>>0]=o>>8;b[j+2>>0]=o>>16;b[j+3>>0]=o>>24;l=g;r=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=g;f[l>>2]=r;f[l+4>>2]=I;s=o}if(!s){t=1;return t|0}if(!(Ic(a+12|0,c)|0)){t=0;return t|0}if(!(xe(a+540|0,c)|0)){t=0;return t|0}if(!(xe(a+560|0,c)|0)){t=0;return t|0}if(!(xe(a+580|0,c)|0)){t=0;return t|0}vb(a,f[j>>2]|0,d);t=1;return t|0}function Td(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Rl(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=l;p=m;q=j;r=i}else{i=(f[c>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;l=g;i=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=I;j=g;f[j>>2]=i;f[j+4>>2]=l;j=e;o=i;p=l;q=f[j+4>>2]|0;r=f[j>>2]|0}j=a+4|0;l=Rl(o|0,p|0,4,0)|0;p=I;if((q|0)<(p|0)|(q|0)==(p|0)&r>>>0>>0)s=f[j>>2]|0;else{l=(f[c>>2]|0)+o|0;o=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;b[j>>0]=o;b[j+1>>0]=o>>8;b[j+2>>0]=o>>16;b[j+3>>0]=o>>24;l=g;r=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=g;f[l>>2]=r;f[l+4>>2]=I;s=o}if(!s){t=1;return t|0}if(!(Ic(a+12|0,c)|0)){t=0;return t|0}if(!(xe(a+540|0,c)|0)){t=0;return t|0}if(!(xe(a+560|0,c)|0)){t=0;return t|0}if(!(xe(a+580|0,c)|0)){t=0;return t|0}xb(a,f[j>>2]|0,d);t=1;return t|0}function Ud(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Rl(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=l;p=m;q=j;r=i}else{i=(f[c>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;l=g;i=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=I;j=g;f[j>>2]=i;f[j+4>>2]=l;j=e;o=i;p=l;q=f[j+4>>2]|0;r=f[j>>2]|0}j=a+4|0;l=Rl(o|0,p|0,4,0)|0;p=I;if((q|0)<(p|0)|(q|0)==(p|0)&r>>>0>>0)s=f[j>>2]|0;else{l=(f[c>>2]|0)+o|0;o=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;b[j>>0]=o;b[j+1>>0]=o>>8;b[j+2>>0]=o>>16;b[j+3>>0]=o>>24;l=g;r=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=g;f[l>>2]=r;f[l+4>>2]=I;s=o}if(!s){t=1;return t|0}if(!(Ic(a+12|0,c)|0)){t=0;return t|0}if(!(xe(a+540|0,c)|0)){t=0;return t|0}if(!(xe(a+560|0,c)|0)){t=0;return t|0}if(!(xe(a+580|0,c)|0)){t=0;return t|0}wb(a,f[j>>2]|0,d);t=1;return t|0}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;c=u;u=u+32|0;d=c;e=a+4|0;g=f[a>>2]|0;h=(f[e>>2]|0)-g>>2;i=h+1|0;if(i>>>0>1073741823)zo(a);j=a+8|0;k=(f[j>>2]|0)-g|0;g=k>>1;l=k>>2>>>0<536870911?(g>>>0>>0?i:g):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(l)if(l>>>0>1073741823){g=ra(8)|0;_m(g,13388);f[g>>2]=4744;va(g|0,1128,101)}else{m=Vk(l<<2)|0;break}else m=0;while(0);f[d>>2]=m;g=m+(h<<2)|0;h=d+8|0;i=d+4|0;f[i>>2]=g;k=m+(l<<2)|0;l=d+12|0;f[l>>2]=k;m=f[b>>2]|0;f[b>>2]=0;f[g>>2]=m;m=g+4|0;f[h>>2]=m;b=f[a>>2]|0;n=f[e>>2]|0;if((n|0)==(b|0)){o=g;p=l;q=h;r=b;s=m;t=n;v=k;w=o;f[a>>2]=w;f[i>>2]=r;f[e>>2]=s;f[q>>2]=t;x=f[j>>2]|0;f[j>>2]=v;f[p>>2]=x;f[d>>2]=r;vg(d);u=c;return}else{y=n;z=g}do{y=y+-4|0;g=f[y>>2]|0;f[y>>2]=0;f[z+-4>>2]=g;z=(f[i>>2]|0)+-4|0;f[i>>2]=z}while((y|0)!=(b|0));o=z;p=l;q=h;r=f[a>>2]|0;s=f[h>>2]|0;t=f[e>>2]|0;v=f[l>>2]|0;w=o;f[a>>2]=w;f[i>>2]=r;f[e>>2]=s;f[q>>2]=t;x=f[j>>2]|0;f[j>>2]=v;f[p>>2]=x;f[d>>2]=r;vg(d);u=c;return}function Wd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Rl(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=l;p=m;q=j;r=i}else{i=(f[c>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;l=g;i=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=I;j=g;f[j>>2]=i;f[j+4>>2]=l;j=e;o=i;p=l;q=f[j+4>>2]|0;r=f[j>>2]|0}j=a+4|0;l=Rl(o|0,p|0,4,0)|0;p=I;if((q|0)<(p|0)|(q|0)==(p|0)&r>>>0>>0)s=f[j>>2]|0;else{l=(f[c>>2]|0)+o|0;o=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;b[j>>0]=o;b[j+1>>0]=o>>8;b[j+2>>0]=o>>16;b[j+3>>0]=o>>24;l=g;r=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=g;f[l>>2]=r;f[l+4>>2]=I;s=o}if(!s){t=1;return t|0}if(!(xe(a+12|0,c)|0)){t=0;return t|0}if(!(xe(a+32|0,c)|0)){t=0;return t|0}if(!(xe(a+52|0,c)|0)){t=0;return t|0}if(!(xe(a+72|0,c)|0)){t=0;return t|0}tb(a,f[j>>2]|0,d);t=1;return t|0}function Xd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Rl(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=l;p=m;q=j;r=i}else{i=(f[c>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;l=g;i=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=I;j=g;f[j>>2]=i;f[j+4>>2]=l;j=e;o=i;p=l;q=f[j+4>>2]|0;r=f[j>>2]|0}j=a+4|0;l=Rl(o|0,p|0,4,0)|0;p=I;if((q|0)<(p|0)|(q|0)==(p|0)&r>>>0>>0)s=f[j>>2]|0;else{l=(f[c>>2]|0)+o|0;o=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;b[j>>0]=o;b[j+1>>0]=o>>8;b[j+2>>0]=o>>16;b[j+3>>0]=o>>24;l=g;r=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=g;f[l>>2]=r;f[l+4>>2]=I;s=o}if(!s){t=1;return t|0}if(!(xe(a+12|0,c)|0)){t=0;return t|0}if(!(xe(a+32|0,c)|0)){t=0;return t|0}if(!(xe(a+52|0,c)|0)){t=0;return t|0}if(!(xe(a+72|0,c)|0)){t=0;return t|0}sb(a,f[j>>2]|0,d);t=1;return t|0}function Yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Rl(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=l;p=m;q=j;r=i}else{i=(f[c>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;l=g;i=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=I;j=g;f[j>>2]=i;f[j+4>>2]=l;j=e;o=i;p=l;q=f[j+4>>2]|0;r=f[j>>2]|0}j=a+4|0;l=Rl(o|0,p|0,4,0)|0;p=I;if((q|0)<(p|0)|(q|0)==(p|0)&r>>>0>>0)s=f[j>>2]|0;else{l=(f[c>>2]|0)+o|0;o=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;b[j>>0]=o;b[j+1>>0]=o>>8;b[j+2>>0]=o>>16;b[j+3>>0]=o>>24;l=g;r=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=g;f[l>>2]=r;f[l+4>>2]=I;s=o}if(!s){t=1;return t|0}if(!(Bd(a+12|0,c)|0)){t=0;return t|0}if(!(xe(a+28|0,c)|0)){t=0;return t|0}if(!(xe(a+48|0,c)|0)){t=0;return t|0}if(!(xe(a+68|0,c)|0)){t=0;return t|0}zb(a,f[j>>2]|0,d);t=1;return t|0}function Zd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Rl(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=l;p=m;q=j;r=i}else{i=(f[c>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;l=g;i=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=I;j=g;f[j>>2]=i;f[j+4>>2]=l;j=e;o=i;p=l;q=f[j+4>>2]|0;r=f[j>>2]|0}j=a+4|0;l=Rl(o|0,p|0,4,0)|0;p=I;if((q|0)<(p|0)|(q|0)==(p|0)&r>>>0>>0)s=f[j>>2]|0;else{l=(f[c>>2]|0)+o|0;o=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;b[j>>0]=o;b[j+1>>0]=o>>8;b[j+2>>0]=o>>16;b[j+3>>0]=o>>24;l=g;r=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=g;f[l>>2]=r;f[l+4>>2]=I;s=o}if(!s){t=1;return t|0}if(!(Bd(a+12|0,c)|0)){t=0;return t|0}if(!(xe(a+28|0,c)|0)){t=0;return t|0}if(!(xe(a+48|0,c)|0)){t=0;return t|0}if(!(xe(a+68|0,c)|0)){t=0;return t|0}yb(a,f[j>>2]|0,d);t=1;return t|0}function _d(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d+12|0;g=d;h=qj(c,0)|0;if(!h){f[a>>2]=0;u=d;return}i=f[c+100>>2]|0;j=f[c+96>>2]|0;c=i-j|0;k=(c|0)/12|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;m=j;do if(c)if(k>>>0>357913941)zo(e);else{n=Vk(c)|0;f[e>>2]=n;f[e+8>>2]=n+(k*12|0);Dh(n|0,0,c|0)|0;f[l>>2]=n+c;o=n;break}else o=0;while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;a:do if((i|0)!=(j|0)){c=g+4|0;n=g+8|0;if(b[h+84>>0]|0){p=0;while(1){q=m+(p*12|0)|0;f[g>>2]=f[q>>2];f[g+4>>2]=f[q+4>>2];f[g+8>>2]=f[q+8>>2];f[o+(p*12|0)>>2]=f[g>>2];f[o+(p*12|0)+4>>2]=f[c>>2];f[o+(p*12|0)+8>>2]=f[n>>2];p=p+1|0;if(p>>>0>=k>>>0)break a}}p=f[h+68>>2]|0;q=0;do{r=f[p+(f[m+(q*12|0)>>2]<<2)>>2]|0;f[g>>2]=r;s=f[p+(f[m+(q*12|0)+4>>2]<<2)>>2]|0;f[c>>2]=s;t=f[p+(f[m+(q*12|0)+8>>2]<<2)>>2]|0;f[n>>2]=t;f[o+(q*12|0)>>2]=r;f[o+(q*12|0)+4>>2]=s;f[o+(q*12|0)+8>>2]=t;q=q+1|0}while(q>>>0>>0)}while(0);Wh(a,e);a=f[e>>2]|0;if(a|0){e=f[l>>2]|0;if((e|0)!=(a|0))f[l>>2]=e+(~(((e+-12-a|0)>>>0)/12|0)*12|0);ip(a)}u=d;return}function $d(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=Vk(32)|0;hl(d);e=a+64|0;g=f[e>>2]|0;f[e>>2]=d;if(!g)h=d;else{d=f[g>>2]|0;if(d|0){i=g+4|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;ip(d)}ip(g);h=f[e>>2]|0}Mi(a,h,0,0,0,0);j=a}else j=a;if(!(wh(j,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))We(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);j=f[c+88>>2]|0;if(!j){c=a+88|0;h=f[c>>2]|0;f[c>>2]=0;if(!h)return;c=f[h+8>>2]|0;if(c|0){e=h+12|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;ip(c)}ip(h);return}h=Vk(40)|0;f[h>>2]=f[j>>2];c=h+8|0;e=j+8|0;f[c>>2]=0;g=h+12|0;f[g>>2]=0;d=h+16|0;f[d>>2]=0;i=j+12|0;k=(f[i>>2]|0)-(f[e>>2]|0)|0;if(k|0){if((k|0)<0)zo(c);l=Vk(k)|0;f[g>>2]=l;f[c>>2]=l;f[d>>2]=l+k;k=f[e>>2]|0;e=(f[i>>2]|0)-k|0;if((e|0)>0){Jf(l|0,k|0,e|0)|0;f[g>>2]=l+e}}e=h+24|0;l=j+24|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[e+12>>2]=f[l+12>>2];l=a+88|0;a=f[l>>2]|0;f[l>>2]=h;if(!a)return;h=f[a+8>>2]|0;if(h|0){l=a+12|0;if((f[l>>2]|0)!=(h|0))f[l>>2]=h;ip(h)}ip(a);return}function ae(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=c+24|0;k=b[j>>0]|0;l=k<<24>>24;m=f[a+80>>2]|0;a=X(m,l)|0;f[i>>2]=f[294];f[i+4>>2]=f[295];f[i+8>>2]=f[296];f[i+12>>2]=f[297];n=d+4|0;o=f[n>>2]|0;p=f[d>>2]|0;q=o-p>>2;r=p;p=o;if(a>>>0<=q>>>0){if(a>>>0>>0?(o=r+(a<<2)|0,(o|0)!=(p|0)):0)f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2)}else Ng(d,a-q|0);if(!m){s=1;u=e;return s|0}q=c+84|0;a=c+68|0;if(k<<24>>24<=0){k=0;while(1){if(!(b[q>>0]|0))t=f[(f[a>>2]|0)+(k<<2)>>2]|0;else t=k;f[h>>2]=t;o=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(pb(c,g,o,i)|0)){s=0;v=18;break}k=k+1|0;if(k>>>0>=m>>>0){s=1;v=18;break}}if((v|0)==18){u=e;return s|0}}else{w=0;x=0}while(1){if(!(b[q>>0]|0))y=f[(f[a>>2]|0)+(x<<2)>>2]|0;else y=x;f[h>>2]=y;k=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(pb(c,g,k,i)|0)){s=0;v=18;break}k=f[d>>2]|0;t=0;o=w;while(1){f[k+(o<<2)>>2]=f[i+(t<<2)>>2];t=t+1|0;if((t|0)==(l|0))break;else o=o+1|0}x=x+1|0;if(x>>>0>=m>>>0){s=1;v=18;break}else w=w+l|0}if((v|0)==18){u=e;return s|0}return 0}function be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+40|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Qc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=pd(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<4194304){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=4194304){r=t;break}else q=t}}else r=o;while(0);q=r&1048575;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>20)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);ip(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);ip(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);ip(a);u=d;return j|0}function ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+40|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Rc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=qd(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<2097152){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=2097152){r=t;break}else q=t}}else r=o;while(0);q=r&524287;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>19)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);ip(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);ip(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);ip(a);u=d;return j|0}function de(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+40|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Sc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=rd(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<1048576){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=1048576){r=t;break}else q=t}}else r=o;while(0);q=r&262143;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>18)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);ip(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);ip(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);ip(a);u=d;return j|0}function ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+40|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Tc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=sd(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<262144){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=262144){r=t;break}else q=t}}else r=o;while(0);q=r&65535;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>16)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);ip(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);ip(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);ip(a);u=d;return j|0}function fe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+40|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Uc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=td(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<131072){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=131072){r=t;break}else q=t}}else r=o;while(0);q=r&32767;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>15)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);ip(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);ip(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);ip(a);u=d;return j|0}function ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+40|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Wc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=ud(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<32768){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=32768){r=t;break}else q=t}}else r=o;while(0);q=r&8191;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>13)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);ip(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);ip(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);ip(a);u=d;return j|0}function he(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+40|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(Xc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=vd(e,b)|0;if(g|i^1)j=i;else{i=e+48|0;g=e+44|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[i>>2]|0;while(1){a:do if(o>>>0<16384){p=f[g>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[g>>2]=p;t=q<<8|(h[s+p>>0]|0);f[i>>2]=t;if(t>>>0>=16384){r=t;break}else q=t}}else r=o;while(0);q=r&4095;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(X(f[t+(p<<3)>>2]|0,r>>>12)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[i>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){c=e+32|0;r=f[c>>2]|0;if((r|0)!=(a|0))f[c>>2]=r+(~((r+-8-a|0)>>>3)<<3);ip(a)}a=f[e+16>>2]|0;if(a|0){r=e+20|0;c=f[r>>2]|0;if((c|0)!=(a|0))f[r>>2]=c+(~((c+-4-a|0)>>>2)<<2);ip(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}c=e+4|0;e=f[c>>2]|0;if((e|0)!=(a|0))f[c>>2]=e+(~((e+-4-a|0)>>>2)<<2);ip(a);u=d;return j|0}function ie(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=f[c>>2]|0;c=f[d>>2]|0;e=f[a+4>>2]|0;g=f[d+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(!i)if(g>>>0>>0)j=g;else j=(g>>>0)%(e>>>0)|0;else j=h&g;g=(f[a>>2]|0)+(j<<2)|0;k=f[g>>2]|0;while(1){l=f[k>>2]|0;if((l|0)==(d|0))break;else k=l}if((k|0)!=(a+8|0)){l=f[k+4>>2]|0;if(!i)if(l>>>0>>0)m=l;else m=(l>>>0)%(e>>>0)|0;else m=l&h;if((m|0)==(j|0)){n=c;o=21}else o=13}else o=13;do if((o|0)==13){if(c|0){m=f[c+4>>2]|0;if(!i)if(m>>>0>>0)p=m;else p=(m>>>0)%(e>>>0)|0;else p=m&h;if((p|0)==(j|0)){q=c;r=c;o=22;break}}f[g>>2]=0;n=f[d>>2]|0;o=21}while(0);if((o|0)==21){g=n;if(!n)s=g;else{q=n;r=g;o=22}}if((o|0)==22){o=f[q+4>>2]|0;if(!i)if(o>>>0>>0)t=o;else t=(o>>>0)%(e>>>0)|0;else t=o&h;if((t|0)==(j|0))s=r;else{f[(f[a>>2]|0)+(t<<2)>>2]=k;s=f[d>>2]|0}}f[k>>2]=s;f[d>>2]=0;s=a+12|0;f[s>>2]=(f[s>>2]|0)+-1;if(!d)return c|0;s=d+8|0;a=f[d+20>>2]|0;if(a|0){k=d+24|0;if((f[k>>2]|0)!=(a|0))f[k>>2]=a;ip(a)}if((b[s+11>>0]|0)<0)ip(f[s>>2]|0);ip(d);return c|0}function je(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Rl(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=l;p=m;q=j;r=i}else{i=(f[c>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;l=g;i=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=I;j=g;f[j>>2]=i;f[j+4>>2]=l;j=e;o=i;p=l;q=f[j+4>>2]|0;r=f[j>>2]|0}j=a+4|0;l=Rl(o|0,p|0,4,0)|0;p=I;if((q|0)<(p|0)|(q|0)==(p|0)&r>>>0>>0)s=f[j>>2]|0;else{l=(f[c>>2]|0)+o|0;o=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;b[j>>0]=o;b[j+1>>0]=o>>8;b[j+2>>0]=o>>16;b[j+3>>0]=o>>24;l=g;r=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=g;f[l>>2]=r;f[l+4>>2]=I;s=o}if(!s){t=1;return t|0}if(!(Ic(a+12|0,c)|0)){t=0;return t|0}if(!(xe(a+540|0,c)|0)){t=0;return t|0}if(!(xe(a+560|0,c)|0)){t=0;return t|0}if(!(xe(a+580|0,c)|0)){t=0;return t|0}jb(a,f[j>>2]|0,d);t=1;return t|0}function ke(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Rl(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=l;p=m;q=j;r=i}else{i=(f[c>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;l=g;i=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=I;j=g;f[j>>2]=i;f[j+4>>2]=l;j=e;o=i;p=l;q=f[j+4>>2]|0;r=f[j>>2]|0}j=a+4|0;l=Rl(o|0,p|0,4,0)|0;p=I;if((q|0)<(p|0)|(q|0)==(p|0)&r>>>0>>0)s=f[j>>2]|0;else{l=(f[c>>2]|0)+o|0;o=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;b[j>>0]=o;b[j+1>>0]=o>>8;b[j+2>>0]=o>>16;b[j+3>>0]=o>>24;l=g;r=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=g;f[l>>2]=r;f[l+4>>2]=I;s=o}if(!s){t=1;return t|0}if(!(Ic(a+12|0,c)|0)){t=0;return t|0}if(!(xe(a+540|0,c)|0)){t=0;return t|0}if(!(xe(a+560|0,c)|0)){t=0;return t|0}if(!(xe(a+580|0,c)|0)){t=0;return t|0}lb(a,f[j>>2]|0,d);t=1;return t|0}function le(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Rl(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=l;p=m;q=j;r=i}else{i=(f[c>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;l=g;i=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=I;j=g;f[j>>2]=i;f[j+4>>2]=l;j=e;o=i;p=l;q=f[j+4>>2]|0;r=f[j>>2]|0}j=a+4|0;l=Rl(o|0,p|0,4,0)|0;p=I;if((q|0)<(p|0)|(q|0)==(p|0)&r>>>0>>0)s=f[j>>2]|0;else{l=(f[c>>2]|0)+o|0;o=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;b[j>>0]=o;b[j+1>>0]=o>>8;b[j+2>>0]=o>>16;b[j+3>>0]=o>>24;l=g;r=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=g;f[l>>2]=r;f[l+4>>2]=I;s=o}if(!s){t=1;return t|0}if(!(Ic(a+12|0,c)|0)){t=0;return t|0}if(!(xe(a+540|0,c)|0)){t=0;return t|0}if(!(xe(a+560|0,c)|0)){t=0;return t|0}if(!(xe(a+580|0,c)|0)){t=0;return t|0}kb(a,f[j>>2]|0,d);t=1;return t|0}function me(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Rl(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=l;p=m;q=j;r=i}else{i=(f[c>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;l=g;i=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=I;j=g;f[j>>2]=i;f[j+4>>2]=l;j=e;o=i;p=l;q=f[j+4>>2]|0;r=f[j>>2]|0}j=a+4|0;l=Rl(o|0,p|0,4,0)|0;p=I;if((q|0)<(p|0)|(q|0)==(p|0)&r>>>0>>0)s=f[j>>2]|0;else{l=(f[c>>2]|0)+o|0;o=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;b[j>>0]=o;b[j+1>>0]=o>>8;b[j+2>>0]=o>>16;b[j+3>>0]=o>>24;l=g;r=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=g;f[l>>2]=r;f[l+4>>2]=I;s=o}if(!s){t=1;return t|0}if(!(xe(a+12|0,c)|0)){t=0;return t|0}if(!(xe(a+32|0,c)|0)){t=0;return t|0}if(!(xe(a+52|0,c)|0)){t=0;return t|0}if(!(xe(a+72|0,c)|0)){t=0;return t|0}ib(a,f[j>>2]|0,d);t=1;return t|0}function ne(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Rl(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=l;p=m;q=j;r=i}else{i=(f[c>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;l=g;i=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=I;j=g;f[j>>2]=i;f[j+4>>2]=l;j=e;o=i;p=l;q=f[j+4>>2]|0;r=f[j>>2]|0}j=a+4|0;l=Rl(o|0,p|0,4,0)|0;p=I;if((q|0)<(p|0)|(q|0)==(p|0)&r>>>0>>0)s=f[j>>2]|0;else{l=(f[c>>2]|0)+o|0;o=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;b[j>>0]=o;b[j+1>>0]=o>>8;b[j+2>>0]=o>>16;b[j+3>>0]=o>>24;l=g;r=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=g;f[l>>2]=r;f[l+4>>2]=I;s=o}if(!s){t=1;return t|0}if(!(xe(a+12|0,c)|0)){t=0;return t|0}if(!(xe(a+32|0,c)|0)){t=0;return t|0}if(!(xe(a+52|0,c)|0)){t=0;return t|0}if(!(xe(a+72|0,c)|0)){t=0;return t|0}hb(a,f[j>>2]|0,d);t=1;return t|0}function oe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Rl(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=l;p=m;q=j;r=i}else{i=(f[c>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;l=g;i=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=I;j=g;f[j>>2]=i;f[j+4>>2]=l;j=e;o=i;p=l;q=f[j+4>>2]|0;r=f[j>>2]|0}j=a+4|0;l=Rl(o|0,p|0,4,0)|0;p=I;if((q|0)<(p|0)|(q|0)==(p|0)&r>>>0>>0)s=f[j>>2]|0;else{l=(f[c>>2]|0)+o|0;o=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;b[j>>0]=o;b[j+1>>0]=o>>8;b[j+2>>0]=o>>16;b[j+3>>0]=o>>24;l=g;r=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=g;f[l>>2]=r;f[l+4>>2]=I;s=o}if(!s){t=1;return t|0}if(!(Bd(a+12|0,c)|0)){t=0;return t|0}if(!(xe(a+28|0,c)|0)){t=0;return t|0}if(!(xe(a+48|0,c)|0)){t=0;return t|0}if(!(xe(a+68|0,c)|0)){t=0;return t|0}nb(a,f[j>>2]|0,d);t=1;return t|0}function pe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Rl(l|0,m|0,4,0)|0;n=I;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=l;p=m;q=j;r=i}else{i=(f[c>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;l=g;i=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=I;j=g;f[j>>2]=i;f[j+4>>2]=l;j=e;o=i;p=l;q=f[j+4>>2]|0;r=f[j>>2]|0}j=a+4|0;l=Rl(o|0,p|0,4,0)|0;p=I;if((q|0)<(p|0)|(q|0)==(p|0)&r>>>0>>0)s=f[j>>2]|0;else{l=(f[c>>2]|0)+o|0;o=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;b[j>>0]=o;b[j+1>>0]=o>>8;b[j+2>>0]=o>>16;b[j+3>>0]=o>>24;l=g;r=Rl(f[l>>2]|0,f[l+4>>2]|0,4,0)|0;l=g;f[l>>2]=r;f[l+4>>2]=I;s=o}if(!s){t=1;return t|0}if(!(Bd(a+12|0,c)|0)){t=0;return t|0}if(!(xe(a+28|0,c)|0)){t=0;return t|0}if(!(xe(a+48|0,c)|0)){t=0;return t|0}if(!(xe(a+68|0,c)|0)){t=0;return t|0}mb(a,f[j>>2]|0,d);t=1;return t|0}function qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c+12|0;e=c;g=b*3|0;f[d>>2]=0;h=d+4|0;f[h>>2]=0;f[d+8>>2]=0;do if(g)if(g>>>0>1073741823)zo(d);else{i=b*12|0;j=Vk(i)|0;f[d>>2]=j;k=j+(g<<2)|0;f[d+8>>2]=k;Dh(j|0,0,i|0)|0;f[h>>2]=k;l=j;break}else l=0;while(0);if(yh(g,1,f[a+32>>2]|0,l)|0)if(!b)m=1;else{l=a+44|0;a=e+4|0;g=e+8|0;j=0;k=0;i=0;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;n=f[d>>2]|0;o=f[n+(k<<2)>>2]|0;p=o>>>1;q=((o&1|0)==0?p:0-p|0)+i|0;f[e>>2]=q;p=f[n+(k+1<<2)>>2]|0;o=p>>>1;r=((p&1|0)==0?o:0-o|0)+q|0;f[a>>2]=r;q=f[n+(k+2<<2)>>2]|0;n=q>>>1;i=((q&1|0)==0?n:0-n|0)+r|0;f[g>>2]=i;r=f[l>>2]|0;n=r+100|0;q=f[n>>2]|0;if((q|0)==(f[r+104>>2]|0))Kg(r+96|0,e);else{f[q>>2]=f[e>>2];f[q+4>>2]=f[e+4>>2];f[q+8>>2]=f[e+8>>2];f[n>>2]=(f[n>>2]|0)+12}j=j+1|0;if(j>>>0>=b>>>0){m=1;break}else k=k+3|0}}else m=0;k=f[d>>2]|0;if(!k){u=c;return m|0}d=f[h>>2]|0;if((d|0)!=(k|0))f[h>>2]=d+(~((d+-4-k|0)>>>2)<<2);ip(k);u=c;return m|0}function re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;j=i;if(g-i>>2>>>0>=b>>>0){Dh(i|0,0,b<<2|0)|0;f[h>>2]=i+(b<<2);u=c;return}k=f[a>>2]|0;l=i-k>>2;m=l+b|0;n=k;if(m>>>0>1073741823)zo(a);o=g-k|0;p=o>>1;q=o>>2>>>0<536870911?(p>>>0>>0?m:p):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(q)if(q>>>0>1073741823){p=ra(8)|0;_m(p,13388);f[p>>2]=4744;va(p|0,1128,101)}else{r=Vk(q<<2)|0;break}else r=0;while(0);f[d>>2]=r;p=r+(l<<2)|0;l=d+8|0;m=d+4|0;f[m>>2]=p;o=r+(q<<2)|0;q=d+12|0;f[q>>2]=o;r=p+(b<<2)|0;Dh(p|0,0,b<<2|0)|0;f[l>>2]=r;if((j|0)==(n|0)){s=p;t=q;v=l;w=k;x=r;y=i;z=o;A=g}else{g=j;j=p;do{g=g+-4|0;p=f[g>>2]|0;f[g>>2]=0;f[j+-4>>2]=p;j=(f[m>>2]|0)+-4|0;f[m>>2]=j}while((g|0)!=(n|0));s=j;t=q;v=l;w=f[a>>2]|0;x=f[l>>2]|0;y=f[h>>2]|0;z=f[q>>2]|0;A=f[e>>2]|0}f[a>>2]=s;f[m>>2]=w;f[h>>2]=x;f[v>>2]=y;f[e>>2]=z;f[t>>2]=A;f[d>>2]=w;vg(d);u=c;return}function se(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{dg(i,h-m|0,3160);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1)r=-1;else r=f[(f[d>>2]|0)+(h<<2)>>2]|0;i=f[(f[m>>2]|0)+12>>2]|0;g=f[i+(r<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}k=f[a>>2]|0;f[k+(f[c+(o*12|0)>>2]<<2)>>2]=g;g=h+1|0;if((g|0)==-1)t=-1;else t=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(t<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+4>>2]<<2)>>2]=g;g=h+2|0;if((g|0)==-1)u=-1;else u=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(u<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+8>>2]<<2)>>2]=g;o=o+1|0;if(o>>>0>=e>>>0){q=1;s=12;break}}if((s|0)==12)return q|0;return 0}function te(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a+8>>2]|0;e=a+112|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{dg(i,h-m|0,3160);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+116|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1)r=-1;else r=f[(f[d>>2]|0)+(h<<2)>>2]|0;i=f[(f[m>>2]|0)+12>>2]|0;g=f[i+(r<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}k=f[a>>2]|0;f[k+(f[c+(o*12|0)>>2]<<2)>>2]=g;g=h+1|0;if((g|0)==-1)t=-1;else t=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(t<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+4>>2]<<2)>>2]=g;g=h+2|0;if((g|0)==-1)u=-1;else u=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(u<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+8>>2]<<2)>>2]=g;o=o+1|0;if(o>>>0>=e>>>0){q=1;s=12;break}}if((s|0)==12)return q|0;return 0}function ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;mg(a+12|0);Ho(a+524|0);qm(a+540|0);qm(a+560|0);qm(a+580|0);e=a+600|0;f[e>>2]=0;g=a+604|0;f[g>>2]=0;f[a+608>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)zo(e);else{i=b<<2;j=Vk(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+608>>2]=k;Dh(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+612|0;f[g>>2]=0;e=a+616|0;f[e>>2]=0;f[a+620>>2]=0;if(!h){k=b<<2;i=Vk(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+620>>2]=g;Dh(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=Vk(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;Dh(i|0,0,k|0)|0;f[e>>2]=j}si(a+624|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);ip(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=Vk(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;Dh(k|0,0,h|0)|0;f[j>>2]=e}si(a+636|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);ip(g);u=c;return}function ve(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;i=d+8|0;j=f[i>>2]|0;k=f[i+4>>2]|0;i=d+16|0;l=i;m=f[l>>2]|0;n=f[l+4>>2]|0;if((k|0)>(n|0)|(k|0)==(n|0)&j>>>0>m>>>0){l=b[(f[d>>2]|0)+m>>0]|0;o=Rl(m|0,n|0,1,0)|0;p=I;q=i;f[q>>2]=o;f[q+4>>2]=p;if(l<<24>>24!=-2){r=l;s=p;t=o;v=3}}else{r=0;s=n;t=m;v=3}if((v|0)==3){if((k|0)>(s|0)|(k|0)==(s|0)&j>>>0>t>>>0){j=b[(f[d>>2]|0)+t>>0]|0;k=Rl(t|0,s|0,1,0)|0;s=i;f[s>>2]=k;f[s+4>>2]=I;w=j}else w=0;Xa[f[(f[a>>2]|0)+40>>2]&7](g,a,r<<24>>24,w<<24>>24);w=a+20|0;r=f[g>>2]|0;f[g>>2]=0;j=f[w>>2]|0;f[w>>2]=r;if(j){Ua[f[(f[j>>2]|0)+4>>2]&127](j);j=f[g>>2]|0;f[g>>2]=0;if(j|0)Ua[f[(f[j>>2]|0)+4>>2]&127](j)}else f[g>>2]=0}g=f[a+20>>2]|0;if(g|0?!(Qa[f[(f[a>>2]|0)+28>>2]&127](a,g)|0):0){x=0;u=e;return x|0}if(!(Ra[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0)){x=0;u=e;return x|0}d=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;c=f[a+4>>2]|0;if((c|0?((h[c+36>>0]|0)<<8&65535)<512:0)?!(Qa[f[(f[a>>2]|0)+48>>2]&127](a,d)|0):0){x=0;u=e;return x|0}x=1;u=e;return x|0}function we(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+128|0;c=f[b>>2]|0;if(c|0){d=a+132|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);ip(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}ip(g)}g=a+116|0;b=f[g>>2]|0;if(b|0){j=a+120|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);ip(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}ip(l)}l=f[a+104>>2]|0;if(l|0){g=a+108|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);ip(l)}l=f[a+92>>2]|0;if(!l){n=a+72|0;fj(n);o=a+52|0;fj(o);p=a+32|0;fj(p);q=a+12|0;fj(q);return}m=a+96|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);ip(l);n=a+72|0;fj(n);o=a+52|0;fj(o);p=a+32|0;fj(p);q=a+12|0;fj(q);return}function xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;c=f[a>>2]|0;d=a+4|0;e=f[d>>2]|0;g=c;i=e+(~((e+-4-g|0)>>>2)<<2)|0;if((e|0)==(c|0)){j=e;k=c}else{f[d>>2]=i;j=i;k=i}i=a+16|0;f[i>>2]=0;e=a+12|0;f[e>>2]=k;k=b+8|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;l=b+16|0;o=l;p=f[o>>2]|0;q=Rl(p|0,f[o+4>>2]|0,4,0)|0;o=I;if((n|0)<(o|0)|(n|0)==(o|0)&m>>>0>>0){r=0;return r|0}s=(f[b>>2]|0)+p|0;p=h[s>>0]|h[s+1>>0]<<8|h[s+2>>0]<<16|h[s+3>>0]<<24;s=l;f[s>>2]=q;f[s+4>>2]=o;if(!((p|0)!=0&(p&3|0)==0)){r=0;return r|0}s=Tl(m|0,n|0,q|0,o|0)|0;t=I;if((t|0)<0|(t|0)==0&s>>>0

>>0){r=0;return r|0}s=p>>>2;t=j-g>>2;if(s>>>0<=t>>>0)if(s>>>0>>0?(g=c+(s<<2)|0,(g|0)!=(j|0)):0){f[d>>2]=j+(~((j+-4-g|0)>>>2)<<2);u=q;v=o;w=n;x=m}else{u=q;v=o;w=n;x=m}else{Ng(a,s-t|0);t=k;k=l;u=f[k>>2]|0;v=f[k+4>>2]|0;w=f[t+4>>2]|0;x=f[t>>2]|0}t=Rl(u|0,v|0,p|0,0)|0;v=I;if((w|0)<(v|0)|(w|0)==(v|0)&x>>>0>>0){r=0;return r|0}Jf(f[a>>2]|0,(f[b>>2]|0)+u|0,p|0)|0;u=l;b=Rl(f[u>>2]|0,f[u+4>>2]|0,p|0,0)|0;p=l;f[p>>2]=b;f[p+4>>2]=I;f[e>>2]=f[a>>2];f[i>>2]=0;r=1;return r|0}function ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+4|0;d=f[a>>2]|0;e=((f[c>>2]|0)-d|0)/24|0;g=e+1|0;if(g>>>0>178956970)zo(a);h=a+8|0;i=((f[h>>2]|0)-d|0)/24|0;d=i<<1;j=i>>>0<89478485?(d>>>0>>0?g:d):178956970;do if(j)if(j>>>0>178956970){d=ra(8)|0;_m(d,13388);f[d>>2]=4744;va(d|0,1128,101)}else{k=Vk(j*24|0)|0;break}else k=0;while(0);d=k+(e*24|0)|0;g=d;i=k+(j*24|0)|0;f[d>>2]=1228;f[k+(e*24|0)+4>>2]=f[b+4>>2];mi(k+(e*24|0)+8|0,b+8|0);f[k+(e*24|0)+20>>2]=f[b+20>>2];b=d+24|0;e=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(e|0)){l=g;m=e;n=e}else{j=k;k=g;g=d;do{f[g+-24>>2]=1228;f[g+-20>>2]=f[j+-20>>2];d=g+-16|0;o=j+-16|0;f[d>>2]=0;p=g+-12|0;f[p>>2]=0;f[g+-8>>2]=0;f[d>>2]=f[o>>2];d=j+-12|0;f[p>>2]=f[d>>2];p=j+-8|0;f[g+-8>>2]=f[p>>2];f[p>>2]=0;f[d>>2]=0;f[o>>2]=0;f[g+-4>>2]=f[j+-4>>2];j=j+-24|0;g=k+-24|0;k=g}while((j|0)!=(e|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=b;f[h>>2]=i;i=m;if((n|0)!=(i|0)){h=n;do{h=h+-24|0;Ua[f[f[h>>2]>>2]&127](h)}while((h|0)!=(i|0))}if(!m)return;ip(m);return}function ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3148;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)zo(i);else{o=((n+-1|0)>>>5)+1|0;p=Vk(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Je(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)zo(i);k=((l+-1|0)>>>5)+1|0;l=Vk(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Je(i,e,d);u=c;return}function Ae(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+636|0;c=f[b>>2]|0;if(c|0){d=a+640|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);ip(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}ip(g)}g=a+624|0;b=f[g>>2]|0;if(b|0){j=a+628|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);ip(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}ip(l)}l=f[a+612>>2]|0;if(l|0){g=a+616|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);ip(l)}l=f[a+600>>2]|0;if(!l){n=a+580|0;fj(n);o=a+560|0;fj(o);p=a+540|0;fj(p);q=a+12|0;mp(q);return}m=a+604|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);ip(l);n=a+580|0;fj(n);o=a+560|0;fj(o);p=a+540|0;fj(p);q=a+12|0;mp(q);return}function Be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3196;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)zo(i);else{o=((n+-1|0)>>>5)+1|0;p=Vk(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Je(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)zo(i);k=((l+-1|0)>>>5)+1|0;l=Vk(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Je(i,e,d);u=c;return}function Ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;qm(a+12|0);qm(a+32|0);qm(a+52|0);qm(a+72|0);e=a+92|0;f[e>>2]=0;g=a+96|0;f[g>>2]=0;f[a+100>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)zo(e);else{i=b<<2;j=Vk(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+100>>2]=k;Dh(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+104|0;f[g>>2]=0;e=a+108|0;f[e>>2]=0;f[a+112>>2]=0;if(!h){k=b<<2;i=Vk(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+112>>2]=g;Dh(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=Vk(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;Dh(i|0,0,k|0)|0;f[e>>2]=j}si(a+116|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);ip(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=Vk(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;Dh(k|0,0,h|0)|0;f[j>>2]=e}si(a+128|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);ip(g);u=c;return}function De(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+80|0;h=g;i=g+60|0;j=g+40|0;k=h;l=d;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));gc(a,h,i);if(f[a>>2]|0){u=g;return}h=a+4|0;n=h+11|0;if((b[n>>0]|0)<0)ip(f[h>>2]|0);if(b[i+7>>0]|0){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;o=Vk(32)|0;f[j>>2]=o;f[j+8>>2]=-2147483616;f[j+4>>2]=27;k=o;l=11739;m=k+27|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[o+27>>0]=0;f[a>>2]=-1;zh(h,j);if((b[j+11>>0]|0)<0)ip(f[j>>2]|0);u=g;return}If(j,b[i+8>>0]|0);i=f[j>>2]|0;if(!i){o=j+16|0;l=f[o>>2]|0;f[o>>2]=0;Ac(a,l,c,d,e);if(!(f[a>>2]|0)){if((b[n>>0]|0)<0)ip(f[h>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(l|0)Ua[f[(f[l>>2]|0)+4>>2]&127](l)}else{f[a>>2]=i;zh(h,j+4|0)}h=j+16|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0)Ua[f[(f[i>>2]|0)+4>>2]&127](i);i=j+4|0;if((b[i+11>>0]|0)<0)ip(f[i>>2]|0);u=g;return}function Ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Ho(a+12|0);qm(a+28|0);qm(a+48|0);qm(a+68|0);e=a+88|0;f[e>>2]=0;g=a+92|0;f[g>>2]=0;f[a+96>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)zo(e);else{i=b<<2;j=Vk(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+96>>2]=k;Dh(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+100|0;f[g>>2]=0;e=a+104|0;f[e>>2]=0;f[a+108>>2]=0;if(!h){k=b<<2;i=Vk(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+108>>2]=g;Dh(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=Vk(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;Dh(i|0,0,k|0)|0;f[e>>2]=j}si(a+112|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);ip(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=Vk(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;Dh(k|0,0,h|0)|0;f[j>>2]=e}si(a+124|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);ip(g);u=c;return}function Fe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){Dh(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)zo(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=ra(8)|0;_m(d,13388);f[d>>2]=4744;va(d|0,1128,101)}else{n=Vk(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=d;g=n+(m*12|0)|0;Dh(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=j;p=i;q=h}else{i=h;h=j;j=d;do{d=j+-12|0;b=i;i=i+-12|0;f[d>>2]=0;n=j+-8|0;f[n>>2]=0;f[j+-4>>2]=0;f[d>>2]=f[i>>2];d=b+-8|0;f[n>>2]=f[d>>2];n=b+-4|0;f[j+-4>>2]=f[n>>2];f[n>>2]=0;f[d>>2]=0;f[i>>2]=0;j=h+-12|0;h=j}while((i|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=g;g=p;if((q|0)!=(g|0)){c=q;do{q=c;c=c+-12|0;m=f[c>>2]|0;if(m|0){e=q+-8|0;q=f[e>>2]|0;if((q|0)!=(m|0))f[e>>2]=q+(~((q+-4-m|0)>>>2)<<2);ip(m)}}while((c|0)!=(g|0))}if(!p)return;ip(p);return}function Ge(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=b[(f[a+8>>2]|0)+24>>0]|0;d=fp(c>>>0>1073741823?-1:c<<2)|0;e=a+28|0;g=f[e>>2]|0;f[e>>2]=d;if(g|0)gp(g);g=a+4|0;d=f[(f[g>>2]|0)+32>>2]|0;i=c<<2;c=d+8|0;j=f[c>>2]|0;k=f[c+4>>2]|0;c=d+16|0;l=c;m=f[l>>2]|0;n=Rl(m|0,f[l+4>>2]|0,i|0,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&j>>>0>>0){o=0;return o|0}Jf(f[e>>2]|0,(f[d>>2]|0)+m|0,i|0)|0;m=c;d=Rl(f[m>>2]|0,f[m+4>>2]|0,i|0,0)|0;i=c;f[i>>2]=d;f[i+4>>2]=I;i=(f[g>>2]|0)+32|0;g=f[i>>2]|0;d=g+8|0;c=f[d>>2]|0;m=f[d+4>>2]|0;d=g+16|0;e=d;n=f[e>>2]|0;j=Rl(n|0,f[e+4>>2]|0,4,0)|0;e=I;if((m|0)<(e|0)|(m|0)==(e|0)&c>>>0>>0){o=0;return o|0}j=a+32|0;c=(f[g>>2]|0)+n|0;n=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[j>>0]=n;b[j+1>>0]=n>>8;b[j+2>>0]=n>>16;b[j+3>>0]=n>>24;n=d;j=Rl(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;n=d;f[n>>2]=j;f[n+4>>2]=I;n=f[i>>2]|0;i=n+8|0;j=f[i+4>>2]|0;d=n+16|0;c=d;g=f[c>>2]|0;e=f[c+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){o=0;return o|0}i=b[(f[n>>2]|0)+g>>0]|0;n=Rl(g|0,e|0,1,0)|0;e=d;f[e>>2]=n;f[e+4>>2]=I;if((i&255)>31){o=0;return o|0}f[a+24>>2]=i&255;o=1;return o|0}function He(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+80|0;h=g;i=g+60|0;j=g+40|0;k=h;l=d;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));gc(a,h,i);if(f[a>>2]|0){u=g;return}h=a+4|0;n=h+11|0;if((b[n>>0]|0)<0)ip(f[h>>2]|0);if((b[i+7>>0]|0)!=1){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;o=Vk(32)|0;f[j>>2]=o;f[j+8>>2]=-2147483616;f[j+4>>2]=20;k=o;l=11718;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[o+20>>0]=0;f[a>>2]=-1;zh(h,j);if((b[j+11>>0]|0)<0)ip(f[j>>2]|0);u=g;return}pg(j,b[i+8>>0]|0);i=f[j>>2]|0;if(!i){o=j+16|0;l=f[o>>2]|0;f[o>>2]=0;fk(a,l,c,d,e);if(!(f[a>>2]|0)){if((b[n>>0]|0)<0)ip(f[h>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(l|0)Ua[f[(f[l>>2]|0)+4>>2]&127](l)}else{f[a>>2]=i;zh(h,j+4|0)}h=j+16|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0)Ua[f[(f[i>>2]|0)+4>>2]&127](i);i=j+4|0;if((b[i+11>>0]|0)<0)ip(f[i>>2]|0);u=g;return}function Ie(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;oi(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[e>>2]|0;i=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[c>>2]=0;h=a+104|0;j=f[h>>2]|0;k=f[g>>2]|0;l=j-k>>2;m=k;k=j;if(i>>>0<=l>>>0){if(i>>>0>>0?(j=m+(i<<2)|0,(j|0)!=(k|0)):0)f[h>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else dg(g,i-l|0,c);l=a+120|0;a=f[l>>2]|0;if(!a){i=f[e>>2]|0;g=(f[i+4>>2]|0)-(f[i>>2]|0)>>2;i=(g>>>0)/3|0;if(g>>>0<=2){u=b;return 1}g=0;do{f[d>>2]=g*3;f[c>>2]=f[d>>2];Eb(e,c);g=g+1|0}while((g|0)<(i|0));u=b;return 1}else{i=f[a>>2]|0;if((f[a+4>>2]|0)==(i|0)){u=b;return 1}a=0;g=i;do{f[d>>2]=f[g+(a<<2)>>2];f[c>>2]=f[d>>2];Eb(e,c);a=a+1|0;i=f[l>>2]|0;g=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-g>>2>>>0);u=b;return 1}return 0}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+48|0;e=d+40|0;g=d+32|0;h=d+8|0;i=d;j=d+24|0;k=d+16|0;l=a+4|0;m=f[l>>2]|0;n=b;b=f[n>>2]|0;o=f[n+4>>2]|0;n=c;c=f[n>>2]|0;p=f[n+4>>2]|0;n=c-b<<3;f[l>>2]=m-o+p+n;l=(f[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((a|0)!=(o|0)){q=h;f[q>>2]=b;f[q+4>>2]=o;q=i;f[q>>2]=c;f[q+4>>2]=p;f[j>>2]=m;f[j+4>>2]=a;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];ld(k,g,e,j);u=d;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=j;s=0;t=l;v=b;w=n}else{b=32-o|0;p=(j|0)<(b|0)?j:b;e=-1>>>(b-p|0)&-1<>2]=f[l>>2]&~e|f[n>>2]&e;e=p+o|0;b=n+4|0;r=j-p|0;s=e&31;t=l+(e>>>5<<2)|0;v=b;w=b}b=(r|0)/32|0;jk(t|0,v|0,b<<2|0)|0;v=r-(b<<5)|0;r=t+(b<<2)|0;t=r;if((v|0)>0){e=-1>>>(32-v|0);f[r>>2]=f[r>>2]&~e|f[w+(b<<2)>>2]&e;x=v;y=t}else{x=s;y=t}}else{x=o;y=m}f[k>>2]=y;f[k+4>>2]=x;u=d;return}function Ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)jk(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=((c+-4-o|0)>>>2)+1|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+(p<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);ip(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)zo(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)zo(a);h=Vk(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=((c+-4-d|0)>>>2)+1|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+(p<<2);return}function Le(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=c+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=c+16|0;i=d;k=f[i>>2]|0;l=f[i+4>>2]|0;i=Rl(k|0,l|0,4,0)|0;m=I;if((g|0)<(m|0)|(g|0)==(m|0)&e>>>0>>0){n=0;return n|0}o=f[c>>2]|0;p=o+k|0;q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;p=d;f[p>>2]=i;f[p+4>>2]=m;m=Rl(k|0,l|0,8,0)|0;p=I;if((g|0)<(p|0)|(g|0)==(p|0)&e>>>0>>0){n=0;return n|0}r=o+i|0;i=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;r=d;f[r>>2]=m;f[r+4>>2]=p;if((q|0)>(i|0)){n=0;return n|0}f[a+12>>2]=q;f[a+16>>2]=i;r=Tl(i|0,((i|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=I;if(!(q>>>0<0|(q|0)==0&r>>>0<2147483647)){n=0;return n|0}q=r+1|0;f[a+20>>2]=q;r=(q|0)/2|0;i=a+24|0;f[i>>2]=r;f[a+28>>2]=0-r;if(!(q&1))f[i>>2]=r+-1;do if((j[c+38>>1]|0)<514){if(!((g|0)>(p|0)|(g|0)==(p|0)&e>>>0>m>>>0)){n=0;return n|0}r=b[o+m>>0]|0;i=Rl(k|0,l|0,9,0)|0;q=d;f[q>>2]=i;f[q+4>>2]=I;if((r&255)<2){f[a+88>>2]=r&255;break}else{n=0;return n|0}}while(0);n=Bd(a+108|0,c)|0;return n|0}function Me(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=a+124|0;c=f[b>>2]|0;if(c|0){d=a+128|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);ip(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}ip(g)}g=a+112|0;b=f[g>>2]|0;if(b|0){j=a+116|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);ip(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}ip(l)}l=f[a+100>>2]|0;if(l|0){g=a+104|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);ip(l)}l=f[a+88>>2]|0;if(!l){n=a+68|0;fj(n);o=a+48|0;fj(o);p=a+28|0;fj(p);return}m=a+92|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);ip(l);n=a+68|0;fj(n);o=a+48|0;fj(o);p=a+28|0;fj(p);return}function Ne(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=b;g=c-e|0;h=g>>1;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>1>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>1;o=h>>>0>n>>>0;p=b+(n<<1)|0;n=o?p:c;q=n;r=q-e|0;s=r>>1;if(s|0)jk(k|0,b|0,r|0)|0;r=l+(s<<1)|0;if(!o){o=f[m>>2]|0;if((o|0)==(r|0))return;f[m>>2]=o+(~((o+-2-r|0)>>>1)<<1);return}if((n|0)==(c|0))return;n=f[m>>2]|0;r=c+-2-q|0;q=p;p=n;while(1){d[p>>1]=d[q>>1]|0;q=q+2|0;if((q|0)==(c|0))break;else p=p+2|0}f[m>>2]=n+((r>>>1)+1<<1);return}r=k;if(!k)t=j;else{j=a+4|0;n=f[j>>2]|0;if((n|0)!=(l|0))f[j>>2]=n+(~((n+-2-k|0)>>>1)<<1);ip(r);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;t=0}if((g|0)<0)zo(a);g=t>>1>>>0<1073741823?(t>>>0>>0?h:t):2147483647;if((g|0)<0)zo(a);t=Vk(g<<1)|0;h=a+4|0;f[h>>2]=t;f[a>>2]=t;f[i>>2]=t+(g<<1);if((b|0)==(c|0))return;g=c+-2-e|0;e=b;b=t;while(1){d[b>>1]=d[e>>1]|0;e=e+2|0;if((e|0)==(c|0))break;else b=b+2|0}f[h>>2]=t+((g>>>1)+1<<1);return}function Oe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)jk(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=c+-4-o|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+((p>>>2)+1<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);ip(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)zo(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)zo(a);h=Vk(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=c+-4-d|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+((p>>>2)+1<<2);return}function Pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>2>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>2;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=m;m=h;while(1){f[m>>2]=f[c>>2];j=j+-1|0;if(!j)break;else m=m+4|0}}if(!l){m=h+(b<<2)|0;if((m|0)==(n|0))return;else{o=i;p=n+(~((n+-4-m|0)>>>2)<<2)|0;break}}else{m=b-k|0;j=m;q=n;while(1){f[q>>2]=f[c>>2];j=j+-1|0;if(!j)break;else q=q+4|0}o=i;p=n+(m<<2)|0;break}}else{q=g;if(!g)r=e;else{j=a+4|0;k=f[j>>2]|0;if((k|0)!=(h|0))f[j>>2]=k+(~((k+-4-g|0)>>>2)<<2);ip(q);f[d>>2]=0;f[j>>2]=0;f[a>>2]=0;r=0}if(b>>>0>1073741823)zo(a);j=r>>1;q=r>>2>>>0<536870911?(j>>>0>>0?b:j):1073741823;if(q>>>0>1073741823)zo(a);j=Vk(q<<2)|0;k=a+4|0;f[k>>2]=j;f[a>>2]=j;f[d>>2]=j+(q<<2);q=b;l=j;while(1){f[l>>2]=f[c>>2];q=q+-1|0;if(!q)break;else l=l+4|0}o=k;p=j+(b<<2)|0}while(0);f[o>>2]=p;return}function Qe(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h+16|0;j=h;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Pa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=Pa[f[(f[b>>2]|0)+36>>2]&127](b)|0;m=Qa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Qa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!n){f[j>>2]=f[b+44>>2];f[j+4>>2]=l;f[j+12>>2]=m;f[j+8>>2]=m+12;sc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[j>>2]=f[b+44>>2];f[j+4>>2]=n;f[j+12>>2]=m;f[j+8>>2]=m+12;qc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c;e=a+76|0;g=f[e>>2]|0;h=a+80|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~((i+-4-g|0)>>>2)<<2);f[e>>2]=0;f[h>>2]=0;f[a+84>>2]=0;if(g|0)ip(g);g=a+64|0;h=f[g>>2]|0;e=a+68|0;if((f[e>>2]|0)!=(h|0))f[e>>2]=h;f[g>>2]=0;f[e>>2]=0;f[a+72>>2]=0;if(h|0)ip(h);h=b+4|0;e=f[h>>2]|0;g=f[b>>2]|0;i=((e-g|0)/12|0)*3|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=l;l=k;k=g;if(i>>>0<=m>>>0)if(i>>>0>>0?(o=n+(i<<2)|0,(o|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-o|0)>>>2)<<2);p=e;q=g;r=k}else{p=e;q=g;r=k}else{Ng(a,i-m|0);m=f[b>>2]|0;p=f[h>>2]|0;q=m;r=m}if((p|0)!=(q|0)){q=f[a>>2]|0;m=(p-r|0)/12|0;p=0;do{h=p*3|0;f[q+(h<<2)>>2]=f[r+(p*12|0)>>2];f[q+(h+1<<2)>>2]=f[r+(p*12|0)+4>>2];f[q+(h+2<<2)>>2]=f[r+(p*12|0)+8>>2];p=p+1|0}while(p>>>0>>0)}f[d>>2]=-1;if(!(Ub(a,d)|0)){s=0;u=c;return s|0}db(a,f[d>>2]|0)|0;s=1;u=c;return s|0}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a+4>>2]=f[b+4>>2];c=a+8|0;d=b+8|0;if((a|0)==(b|0))return a|0;e=b+12|0;g=f[e>>2]|0;if(!g)h=0;else{i=a+16|0;do if(g>>>0>f[i>>2]<<5>>>0){j=f[c>>2]|0;if(!j)k=g;else{ip(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)zo(c);else{j=((k+-1|0)>>>5)+1|0;l=Vk(j<<2)|0;f[c>>2]=l;f[a+12>>2]=0;f[i>>2]=j;m=f[e>>2]|0;n=l;break}}else{m=g;n=f[c>>2]|0}while(0);jk(n|0,f[d>>2]|0,((m+-1|0)>>>5<<2)+4|0)|0;h=f[e>>2]|0}f[a+12>>2]=h;h=a+20|0;e=b+20|0;m=b+24|0;b=f[m>>2]|0;if(!b)o=0;else{d=a+28|0;do if(b>>>0>f[d>>2]<<5>>>0){n=f[h>>2]|0;if(!n)p=b;else{ip(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)zo(h);else{n=((p+-1|0)>>>5)+1|0;c=Vk(n<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[d>>2]=n;q=f[m>>2]|0;r=c;break}}else{q=b;r=f[h>>2]|0}while(0);jk(r|0,f[e>>2]|0,((q+-1|0)>>>5<<2)+4|0)|0;o=f[m>>2]|0}f[a+24>>2]=o;return a|0}function Te(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f[c>>2]=1;d=a+4|0;e=c+8|0;g=c+12|0;c=f[e>>2]|0;i=(f[g>>2]|0)-c|0;if(i>>>0<4294967292){Oi(e,i+4|0,0);j=f[e>>2]|0}else j=c;c=j+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;i=a+8|0;c=a+12|0;d=f[i>>2]|0;if((f[c>>2]|0)!=(d|0)){j=0;k=d;do{d=k+(j<<2)|0;l=f[e>>2]|0;m=(f[g>>2]|0)-l|0;if(m>>>0<4294967292){Oi(e,m+4|0,0);n=f[e>>2]|0}else n=l;l=n+m|0;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;j=j+1|0;k=f[i>>2]|0}while(j>>>0<(f[c>>2]|0)-k>>2>>>0)}k=a+20|0;a=f[e>>2]|0;c=(f[g>>2]|0)-a|0;if(c>>>0<4294967292){Oi(e,c+4|0,0);o=f[e>>2]|0;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}else{o=a;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}}function Ue(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=Na,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=Na,t=Na,v=Na,w=Na,x=Na,y=0,z=0,A=0,B=0;g=u;u=u+32|0;h=g+16|0;i=g;j=$(n[d+4>>2]);k=(1<>2])+-1|0;Bn(h);Pk(h,j,k)|0;d=f[a>>2]|0;if((f[c>>2]|0)==(d|0)){u=g;return}a=h+4|0;l=i+4|0;m=i+8|0;o=e+16|0;p=e+28|0;e=d;d=f[p>>2]|0;do{q=(f[e>>2]|0)-k|0;r=(q|0)<0;j=$((r?0-q|0:q)|0);s=$(n[a>>2]);t=$(s*j);j=$(-t);v=$(n[h>>2]);w=$(v*(r?j:t));r=(f[e+4>>2]|0)-k|0;q=(r|0)<0;t=$(s*$((q?0-r|0:r)|0));j=$(-t);x=$(v*(q?j:t));q=(f[e+8>>2]|0)-k|0;r=(q|0)<0;t=$(s*$((r?0-q|0:q)|0));s=$(-t);j=$(v*(r?s:t));n[i>>2]=w;n[l>>2]=x;n[m>>2]=j;r=f[o>>2]|0;q=f[r>>2]|0;if(!(b[q+84>>0]|0))y=f[(f[q+68>>2]|0)+(d<<2)>>2]|0;else y=d;z=i+(f[r+4>>2]<<2)|0;r=q+40|0;A=f[r>>2]|0;B=_k(A|0,f[r+4>>2]|0,y|0,0)|0;Jf((f[f[q+64>>2]>>2]|0)+B|0,z|0,A|0)|0;d=(f[p>>2]|0)+1|0;f[p>>2]=d;e=e+12|0}while((f[c>>2]|0)!=(e|0));u=g;return}function Ve(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=Na,v=Na,w=0,x=0,y=0,z=Na,A=Na,B=Na;d=u;u=u+16|0;e=d;g=f[a+24>>2]|0;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]|0;j=i<<24>>24;k=j<<2;l=fp(j>>>0>1073741823?-1:j<<2)|0;Bn(e);if(!(Pk(e,$(n[a+32>>2]),(1<>2]|0;o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;if(!c){m=1;gp(l);u=d;return m|0}g=e+4|0;p=a+28|0;if(i<<24>>24>0){q=0;r=0;s=0}else{i=0;a=0;while(1){Jf((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+a|0,l|0,k|0)|0;i=i+1|0;if((i|0)==(c|0)){m=1;break}else a=a+k|0}gp(l);u=d;return m|0}while(1){a=f[p>>2]|0;t=$(n[g>>2]);v=$(n[e>>2]);i=0;w=r;while(1){x=f[o+(w<<2)>>2]|0;y=(x|0)<0;z=$(t*$((y?0-x|0:x)|0));A=$(-z);B=$(v*(y?A:z));z=$($(n[a+(i<<2)>>2])+B);n[l+(i<<2)>>2]=z;i=i+1|0;if((i|0)==(j|0))break;else w=w+1|0}Jf((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+s|0,l|0,k|0)|0;q=q+1|0;if((q|0)==(c|0)){m=1;break}else{r=r+j|0;s=s+k|0}}gp(l);u=d;return m|0}function We(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0>j-k>>2>>>0){m=k;if(!k)n=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);ip(m);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;n=0}if(h>>>0>1073741823)zo(a);j=n>>1;m=n>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(m>>>0>1073741823)zo(a);j=Vk(m<<2)|0;n=a+4|0;f[n>>2]=j;f[a>>2]=j;f[i>>2]=j+(m<<2);if((g|0)<=0)return;Jf(j|0,b|0,g|0)|0;f[n>>2]=j+(g>>>2<<2);return}g=a+4|0;a=f[g>>2]|0;j=a-k>>2;k=h>>>0>j>>>0;h=k?b+(j<<2)|0:c;c=a;j=a;if((h|0)==(b|0))p=l;else{a=h+-4-e|0;e=b;b=l;while(1){f[b>>2]=f[e>>2];e=e+4|0;if((e|0)==(h|0))break;else b=b+4|0}p=l+((a>>>2)+1<<2)|0}if(k){k=d-h|0;if((k|0)<=0)return;Jf(j|0,h|0,k|0)|0;f[g>>2]=(f[g>>2]|0)+(k>>>2<<2);return}else{if((p|0)==(c|0))return;f[g>>2]=c+(~((c+-4-p|0)>>>2)<<2);return}}function Xe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{dg(i,h-m|0,3160);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=c+68|0;c=f[o+96>>2]|0;o=f[d+28>>2]|0;d=f[(f[a+80>>2]|0)+12>>2]|0;a=0;while(1){h=a*3|0;i=f[d+(f[o+(h<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}g=f[m>>2]|0;f[g+(f[c+(a*12|0)>>2]<<2)>>2]=i;i=f[d+(f[o+(h+1<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}f[g+(f[c+(a*12|0)+4>>2]<<2)>>2]=i;i=f[d+(f[o+(h+2<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}f[g+(f[c+(a*12|0)+8>>2]<<2)>>2]=i;a=a+1|0;if(a>>>0>=e>>>0){q=1;r=10;break}}if((r|0)==10)return q|0;return 0}function Ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+112|0;d=c+96|0;e=c+16|0;g=c+4|0;h=c;i=e+76|0;j=e;k=j+76|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=-1;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;f[h>>2]=g;f[d>>2]=f[h>>2];if(Pc(e,a,d)|0){d=f[g>>2]|0;Oe(b,d,d+((f[i>>2]|0)-d>>2<<2)|0);l=f[e+68>>2]|0}else l=0;d=f[g>>2]|0;if(d|0){g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);ip(d)}d=f[e+56>>2]|0;if(d|0)ip(d);d=f[e+32>>2]|0;if(d|0){g=e+36|0;i=f[g>>2]|0;if((i|0)!=(d|0))f[g>>2]=i+(~((i+-4-d|0)>>>2)<<2);ip(d)}d=f[e+20>>2]|0;if(d|0){i=e+24|0;g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);ip(d)}d=f[e+8>>2]|0;if(d|0){g=e+12|0;i=f[g>>2]|0;if((i|0)!=(d|0))f[g>>2]=i+(~((i+-4-d|0)>>>2)<<2);ip(d)}d=e+4|0;e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return l|0}Ug(e);ip(e);u=c;return l|0}function Ze(a,b,c,d){a=a|0;b=$(b);c=$(c);d=d|0;var e=Na,f=Na,g=Na,h=Na,i=Na,j=Na,k=0.0,l=Na,m=Na,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=Na,u=Na,v=0,w=0;e=$(b+c);f=$(b-c);if(!(f<=$(.5))|(!(f>=$(-.5))|(!(e>=$(.5))|!(e<=$(1.5))))){do if(!(e<=$(.5))){if(e>=$(1.5)){g=$($(1.5)-c);h=$($(1.5)-b);break}if(!(f<=$(-.5))){g=$(c+$(.5));h=$(b+$(-.5));break}else{g=$(c+$(-.5));h=$(b+$(.5));break}}else{g=$($(.5)-c);h=$($(.5)-b)}while(0);i=$(h+g);j=$(g-h);k=-1.0;l=g;m=h}else{i=e;j=f;k=1.0;l=b;m=c}c=$(+l*2.0+-1.0);l=$(+m*2.0+-1.0);o=+i*2.0;p=o+-1.0;q=3.0-o;o=+j*2.0;r=o+1.0;s=1.0-o;o=s>2]=$(0.0);t=$(0.0);u=$(0.0);v=d+4|0;n[v>>2]=u;w=d+8|0;n[w>>2]=t;return}else{m=$($(1.0)/$(L($(i))));i=$(m*j);n[d>>2]=i;t=$(m*l);u=$(m*c);v=d+4|0;n[v>>2]=u;w=d+8|0;n[w>>2]=t;return}}function _e(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=a;j=d;while(1){if((b[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=a;r=d;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=q;u=0}b:do if((m|0)==6){q=c&255;if((b[k>>0]|0)==q<<24>>24){t=k;u=l}else{r=X(e,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){d=f[s>>2]^r;if((d&-2139062144^-2139062144)&d+-16843009|0)break;d=s+4|0;a=g+-4|0;if(a>>>0>3){s=d;g=a}else{v=d;w=a;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!w){t=v;u=0;break}else{x=v;y=w}while(1){if((b[x>>0]|0)==q<<24>>24){t=x;u=y;break b}r=x+1|0;y=y+-1|0;if(!y){t=r;u=0;break}else x=r}}}while(0);return (u|0?t:0)|0}function $e(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=c+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=c+16|0;i=d;k=f[i>>2]|0;l=f[i+4>>2]|0;i=Rl(k|0,l|0,4,0)|0;m=I;if((g|0)<(m|0)|(g|0)==(m|0)&e>>>0>>0){n=0;return n|0}o=f[c>>2]|0;p=o+k|0;q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;p=d;f[p>>2]=i;f[p+4>>2]=m;p=(j[c+38>>1]|0)<514;do if(p){r=Rl(k|0,l|0,8,0)|0;s=I;if((g|0)<(s|0)|(g|0)==(s|0)&e>>>0>>0){n=0;return n|0}else{t=d;f[t>>2]=r;f[t+4>>2]=s;u=s;v=r;break}}else{u=m;v=i}while(0);i=(_(q|0)|0)^31;if((i+-1|0)>>>0<=28){f[a+8>>2]=i+1;q=2<>2]=q+-1;i=q+-2|0;f[a+16>>2]=i;f[a+20>>2]=(i|0)/2|0}do if(p){if(!((g|0)>(u|0)|(g|0)==(u|0)&e>>>0>v>>>0)){n=0;return n|0}i=b[o+v>>0]|0;q=Rl(v|0,u|0,1,0)|0;m=d;f[m>>2]=q;f[m+4>>2]=I;if((i&255)<2){f[a+68>>2]=i&255;break}else{n=0;return n|0}}while(0);n=Bd(a+88|0,c)|0;return n|0}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=e;do if((d|0)==(e|0)){h=a+8|0;i=f[h>>2]|0;j=a+12|0;k=f[j>>2]|0;l=k;if(i>>>0>>0){k=i;m=((l-k>>2)+1|0)/2|0;n=i+(m<<2)|0;o=k-d|0;k=o>>2;p=n+(0-k<<2)|0;if(!k){q=n;r=i}else{jk(p|0,d|0,o|0)|0;q=p;r=f[h>>2]|0}f[c>>2]=q;f[h>>2]=r+(m<<2);s=q;break}m=l-g>>1;l=(m|0)==0?1:m;if(l>>>0>1073741823){m=ra(8)|0;_m(m,13388);f[m>>2]=4744;va(m|0,1128,101)}m=Vk(l<<2)|0;p=m;o=m+((l+3|0)>>>2<<2)|0;n=o;k=m+(l<<2)|0;if((d|0)==(i|0)){t=n;u=d}else{l=o;m=n;v=d;do{f[l>>2]=f[v>>2];l=m+4|0;m=l;v=v+4|0}while((v|0)!=(i|0));t=m;u=f[a>>2]|0}f[a>>2]=p;f[c>>2]=n;f[h>>2]=t;f[j>>2]=k;if(!u)s=o;else{ip(u);s=f[c>>2]|0}}else s=d;while(0);f[s+-4>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+-4;return}function bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=a+8|0;e=c+8|0;g=f[e>>2]|0;i=f[e+4>>2]|0;e=c+16|0;k=e;l=f[k>>2]|0;m=f[k+4>>2]|0;k=Rl(l|0,m|0,4,0)|0;n=I;if((i|0)<(n|0)|(i|0)==(n|0)&g>>>0>>0){o=0;return o|0}p=f[c>>2]|0;q=p+l|0;r=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;q=e;f[q>>2]=k;f[q+4>>2]=n;n=Rl(l|0,m|0,8,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&g>>>0>>0){o=0;return o|0}k=e;f[k>>2]=n;f[k+4>>2]=q;k=(_(r|0)|0)^31;if((k+-1|0)>>>0>28)s=f[d>>2]|0;else{r=k+1|0;f[d>>2]=r;d=2<>2]=d+-1;k=d+-2|0;f[a+16>>2]=k;f[a+20>>2]=(k|0)/2|0;s=r}if((s+-2|0)>>>0>=29){o=0;return o|0}do if((j[c+38>>1]|0)<514){if(!((i|0)>(q|0)|(i|0)==(q|0)&g>>>0>n>>>0)){o=0;return o|0}s=b[p+n>>0]|0;r=Rl(l|0,m|0,9,0)|0;k=e;f[k>>2]=r;f[k+4>>2]=I;if((s&255)<2){f[a+68>>2]=s&255;break}else{o=0;return o|0}}while(0);o=Bd(a+88|0,c)|0;return o|0}function cf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;h=e;return h|0}e=b[d+11>>0]|0;i=e<<24>>24<0;j=i?f[d+4>>2]|0:e&255;e=i?f[d>>2]|0:d;d=a+4|0;a=g;while(1){g=a+16|0;i=b[g+11>>0]|0;k=i<<24>>24<0;l=k?f[a+20>>2]|0:i&255;i=l>>>0>>0;m=i?l:j;if((m|0)!=0?(n=$i(e,k?f[g>>2]|0:g,m)|0,(n|0)!=0):0)if((n|0)<0)o=8;else o=10;else if(j>>>0>>0)o=8;else o=10;if((o|0)==8){o=0;n=f[a>>2]|0;if(!n){o=9;break}else{p=a;q=n}}else if((o|0)==10){o=0;n=j>>>0>>0?j:l;if((n|0)!=0?(l=$i(k?f[g>>2]|0:g,e,n)|0,(l|0)!=0):0){if((l|0)>=0){o=16;break}}else o=12;if((o|0)==12?(o=0,!i):0){o=16;break}r=a+4|0;i=f[r>>2]|0;if(!i){o=15;break}else{p=r;q=i}}d=p;a=q}if((o|0)==9){f[c>>2]=a;h=a;return h|0}else if((o|0)==15){f[c>>2]=a;h=r;return h|0}else if((o|0)==16){f[c>>2]=a;h=d;return h|0}return 0}function df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+24|0;g=d+16|0;h=d+8|0;i=d;j=a+4|0;k=f[j>>2]|0;l=f[b>>2]|0;m=f[b+4>>2]|0;b=f[c>>2]|0;n=f[c+4>>2]|0;c=b-l<<3;f[j>>2]=k-m+n+c;j=(f[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){f[e>>2]=l;f[e+4>>2]=m;f[g>>2]=b;f[g+4>>2]=n;f[h>>2]=k;f[h+4>>2]=a;nd(i,e,g,h);u=d;return}h=n-m+c|0;c=l;if((h|0)>0){if(!m){o=h;p=j;q=0;r=l;s=c}else{l=32-m|0;n=(h|0)<(l|0)?h:l;g=-1>>>(l-n|0)&-1<>2]=f[j>>2]&~g|f[c>>2]&g;g=n+m|0;l=c+4|0;o=h-n|0;p=j+(g>>>5<<2)|0;q=g&31;r=l;s=l}l=(o|0)/32|0;jk(p|0,r|0,l<<2|0)|0;r=o-(l<<5)|0;o=p+(l<<2)|0;p=o;if((r|0)>0){g=-1>>>(32-r|0);f[o>>2]=f[o>>2]&~g|f[s+(l<<2)>>2]&g;t=r;v=p}else{t=q;v=p}}else{t=m;v=k}f[i>>2]=v;f[i+4>>2]=t;u=d;return}function ef(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[a+32>>2]|0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;c=Rl(i|0,j|0,1,0)|0;j=g;f[j>>2]=c;f[j+4>>2]=I;j=a+48|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0)Ua[f[(f[c>>2]|0)+4>>2]&127](c);switch(d<<24>>24){case 0:{d=Vk(376)|0;li(d);c=f[j>>2]|0;f[j>>2]=d;if(!c)l=d;else{Ua[f[(f[c>>2]|0)+4>>2]&127](c);m=11}break}case 1:{c=Vk(416)|0;Gh(c);d=f[j>>2]|0;f[j>>2]=c;if(!d)l=c;else{Ua[f[(f[d>>2]|0)+4>>2]&127](d);m=11}break}case 2:{d=Vk(432)|0;eh(d);c=f[j>>2]|0;f[j>>2]=d;if(!c)l=d;else{Ua[f[(f[c>>2]|0)+4>>2]&127](c);m=11}break}default:m=11}if((m|0)==11){m=f[j>>2]|0;if(!m){k=0;return k|0}else l=m}k=Qa[f[(f[l>>2]|0)+8>>2]&127](l,a)|0;return k|0}function ff(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+32|0;g=e+12|0;h=e;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Sh(c)|0;if(i>>>0>4294967279)zo(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=6}}else{m=i+16&-16;n=Vk(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=6}if((l|0)==6){Jf(k|0,c|0,i|0)|0;j=k}b[j+i>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=Sh(d)|0;if(i>>>0>4294967279)zo(h);if(i>>>0<11){b[h+11>>0]=i;if(!i)o=h;else{p=h;l=12}}else{j=i+16&-16;k=Vk(j)|0;f[h>>2]=k;f[h+8>>2]=j|-2147483648;f[h+4>>2]=i;p=k;l=12}if((l|0)==12){Jf(p|0,d|0,i|0)|0;o=p}b[o+i>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(o=Fd(i,g,h)|0,(o|0)!=0):0)q=_i(a,f[o+40>>2]|0)|0;else q=-1;if((b[h+11>>0]|0)<0)ip(f[h>>2]|0);if((b[g+11>>0]|0)>=0){u=e;return q|0}ip(f[g>>2]|0);u=e;return q|0}function gf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;ip(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)zo(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)zo(a);i=Vk(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=c;o=i}do{b[o>>0]=b[n>>0]|0;n=n+1|0;o=(f[l>>2]|0)+1|0;f[l>>2]=o}while((n|0)!=(d|0));return}else{n=a+4|0;a=(f[n>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;o=a-e|0;if(o|0)jk(k|0,c|0,o|0)|0;c=k+o|0;if(!j){if((f[n>>2]|0)==(c|0))return;f[n>>2]=c;return}if((a|0)==(d|0))return;a=g;g=f[n>>2]|0;do{b[g>>0]=b[a>>0]|0;a=a+1|0;g=(f[n>>2]|0)+1|0;f[n>>2]=g}while((a|0)!=(d|0));return}}function hf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){Dh(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}i=f[a>>2]|0;j=g-i>>2;g=j+b|0;k=i;if(g>>>0>1073741823)zo(a);l=d-i|0;d=l>>1;m=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(m)if(m>>>0>1073741823){d=ra(8)|0;_m(d,13388);f[d>>2]=4744;va(d|0,1128,101)}else{n=Vk(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;Dh(d|0,0,b<<2|0)|0;b=d;j=n+(m<<2)|0;m=n+(g<<2)|0;if((h|0)==(k|0)){o=b;p=i;q=h}else{i=h;h=b;b=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[b+-4>>2]=d;b=h+-4|0;h=b}while((i|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;j=p;if((q|0)!=(j|0)){c=q;do{c=c+-4|0;q=f[c>>2]|0;f[c>>2]=0;if(q|0)Ua[f[(f[q>>2]|0)+4>>2]&127](q)}while((c|0)!=(j|0))}if(!p)return;ip(p);return}function jf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;e=f[a>>2]|0;g=((f[d>>2]|0)-e|0)/12|0;h=g+1|0;if(h>>>0>357913941)zo(a);i=a+8|0;j=((f[i>>2]|0)-e|0)/12|0;e=j<<1;k=j>>>0<178956970?(e>>>0>>0?h:e):357913941;do if(k)if(k>>>0>357913941){e=ra(8)|0;_m(e,13388);f[e>>2]=4744;va(e|0,1128,101)}else{l=Vk(k*12|0)|0;break}else l=0;while(0);e=l+(g*12|0)|0;g=e;h=l+(k*12|0)|0;zh(e,c);c=e+12|0;k=f[a>>2]|0;l=f[d>>2]|0;if((l|0)==(k|0)){m=g;n=k;o=k}else{j=l;l=g;g=e;do{e=g+-12|0;j=j+-12|0;f[e>>2]=f[j>>2];f[e+4>>2]=f[j+4>>2];f[e+8>>2]=f[j+8>>2];f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;g=l+-12|0;l=g}while((j|0)!=(k|0));m=l;n=f[a>>2]|0;o=f[d>>2]|0}f[a>>2]=m;f[d>>2]=c;f[i>>2]=h;h=n;if((o|0)!=(h|0)){i=o;do{i=i+-12|0;if((b[i+11>>0]|0)<0)ip(f[i>>2]|0)}while((i|0)!=(h|0))}if(!n)return;ip(n);return}function kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c=a+8|0;d=f[c>>2]|0;e=a+12|0;g=f[e>>2]|0;h=g;do if((d|0)==(g|0)){i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(j>>>0>k>>>0){m=j;n=((m-l>>2)+1|0)/-2|0;o=j+(n<<2)|0;p=d-m|0;m=p>>2;if(!m)q=j;else{jk(o|0,j|0,p|0)|0;q=f[i>>2]|0}p=o+(m<<2)|0;f[c>>2]=p;f[i>>2]=q+(n<<2);r=p;break}p=h-l>>1;l=(p|0)==0?1:p;if(l>>>0>1073741823){p=ra(8)|0;_m(p,13388);f[p>>2]=4744;va(p|0,1128,101)}p=Vk(l<<2)|0;n=p;m=p+(l>>>2<<2)|0;o=m;s=p+(l<<2)|0;if((j|0)==(d|0)){t=o;u=k}else{k=m;m=o;l=j;do{f[k>>2]=f[l>>2];k=m+4|0;m=k;l=l+4|0}while((l|0)!=(d|0));t=m;u=f[a>>2]|0}f[a>>2]=n;f[i>>2]=o;f[c>>2]=t;f[e>>2]=s;if(!u)r=t;else{ip(u);r=f[c>>2]|0}}else r=d;while(0);f[r>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+4;return}function lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)jk(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;Jf(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);ip(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)zo(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)zo(a);j=Vk(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;Jf(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c;e=Vk(64)|0;g=Vk(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[g+4>>2]=0;f[g>>2]=3416;f[g+8>>2]=h;f[d>>2]=g;tj(e,d);g=e;if((b|0)>=0){h=a+8|0;i=a+12|0;a=f[i>>2]|0;j=f[h>>2]|0;k=a-j>>2;do if((k|0)<=(b|0)){l=b+1|0;m=a;if(l>>>0>k>>>0){hf(h,l-k|0);break}if(l>>>0>>0?(n=j+(l<<2)|0,(n|0)!=(m|0)):0){l=m;do{m=l+-4|0;f[i>>2]=m;o=f[m>>2]|0;f[m>>2]=0;if(o|0)Ua[f[(f[o>>2]|0)+4>>2]&127](o);l=f[i>>2]|0}while((l|0)!=(n|0))}}while(0);i=(f[h>>2]|0)+(b<<2)|0;b=f[i>>2]|0;f[i>>2]=g;if(!b)p=1;else{Ua[f[(f[b>>2]|0)+4>>2]&127](b);p=1}}else{Ua[f[(f[e>>2]|0)+4>>2]&127](e);p=0}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return p|0}Ua[f[(f[e>>2]|0)+4>>2]&127](e);u=c;return p|0}function nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[b>>2]|0;do if((c|0)!=-1){b=f[(f[(f[a+4>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;e=((d>>>0)%3|0|0)==0?c+-2|0:d;if((e|0)==-1)g=-1;else g=f[(f[(f[a>>2]|0)+96>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((b|0)!=-1){e=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((e|0)==-1){h=-1;i=b;j=0}else{h=f[(f[(f[a>>2]|0)+96>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;i=b;j=0}}else{h=-1;i=-1;j=1}if((g|0)!=(h|0)){k=-1;return k|0}b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)==-1)if(j){l=-1;m=-1;n=i;break}else o=-1;else{e=f[(f[(f[a>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;if(j){l=-1;m=e;n=i;break}else o=e}e=i+1|0;b=((e>>>0)%3|0|0)==0?i+-2|0:e;if((b|0)==-1){l=-1;m=o;n=i}else{l=f[(f[(f[a>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;m=o;n=i}}else{l=-1;m=-1;n=-1}while(0);k=(m|0)!=(l|0)?-1:n;return k|0}function of(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+20|0;if(Dc(e,c)|0){g=0;return g|0}a=ac(e,c)|0;c=f[d>>2]|0;f[d>>2]=0;d=f[a>>2]|0;f[a>>2]=c;if(!d){g=1;return g|0}c=f[d+28>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;Dg(c+8|0);ip(c)}while((a|0)!=0)}a=d+20|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)ip(c);c=f[d+8>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;ip(h)}if((b[e+11>>0]|0)<0)ip(f[e>>2]|0);ip(c)}while((a|0)!=0)}a=f[d>>2]|0;f[d>>2]=0;if(a|0)ip(a);ip(d);g=1;return g|0}function pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[e>>2]=b;g=a+8|0;if(((f[a+12>>2]|0)-(f[g>>2]|0)>>2|0)<=(b|0))cg(g,b+1|0);h=f[(f[c>>2]|0)+56>>2]|0;do if((h|0)<5){i=a+20+(h*12|0)+4|0;j=f[i>>2]|0;if((j|0)==(f[a+20+(h*12|0)+8>>2]|0)){dh(a+20+(h*12|0)|0,e);break}else{f[j>>2]=b;f[i>>2]=j+4;break}}while(0);b=f[c>>2]|0;h=f[e>>2]|0;f[b+60>>2]=h;e=(f[g>>2]|0)+(h<<2)|0;f[c>>2]=0;c=f[e>>2]|0;f[e>>2]=b;if(!c){u=d;return}b=c+88|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=f[e+8>>2]|0;if(b|0){h=e+12|0;if((f[h>>2]|0)!=(b|0))f[h>>2]=b;ip(b)}ip(e)}e=f[c+68>>2]|0;if(e|0){b=c+72|0;h=f[b>>2]|0;if((h|0)!=(e|0))f[b>>2]=h+(~((h+-4-e|0)>>>2)<<2);ip(e)}e=c+64|0;h=f[e>>2]|0;f[e>>2]=0;if(h|0){e=f[h>>2]|0;if(e|0){b=h+4|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;ip(e)}ip(h)}ip(c);u=d;return}function qf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;oi(f[a+4>>2]|0,(f[g+56>>2]|0)-(f[g+52>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[(f[e>>2]|0)+64>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){u=b;return 1}i=0;do{f[d>>2]=i*3;f[c>>2]=f[d>>2];Mb(e,c);i=i+1|0}while((i|0)<(h|0));u=b;return 1}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){u=b;return 1}a=0;i=h;do{f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];Mb(e,c);a=a+1|0;h=f[g>>2]|0;i=f[h>>2]|0}while(a>>>0<(f[h+4>>2]|0)-i>>2>>>0);u=b;return 1}return 0}function rf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=im(Aa(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=2;m=b;n=h;o=j;while(1){if((o|0)<0)break;m=m-o|0;p=f[n+4>>2]|0;q=o>>>0>p>>>0;r=q?n+8|0:n;s=g+(q<<31>>31)|0;t=o-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;o=im(Aa(146,e|0)|0)|0;if((m|0)==(o|0)){v=3;break a}else{g=s;n=r}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((g|0)==2)w=0;else w=c-(f[n+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);a=v;f[i>>2]=a;f[k>>2]=a;w=c}u=d;return w|0}function sf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=3608;b=f[a+68>>2]|0;if(b|0){c=a+72|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=f[a+56>>2]|0;if(b|0){d=a+60|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);ip(b)}b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);ip(b)}b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}tg(a+8|0);b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+40|0;d=f[b>>2]|0;if(d|0){c=a+44|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){kh(i);ip(i)}h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}ip(g)}kh(a);ip(a);return}function tf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if(((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(f[(f[d>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0:0)?(j=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if(((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(f[(f[d>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)==0:0)?(k=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if((((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(f[(f[d>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0:0)?(h=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function uf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;a=f[d>>2]|0;do if(a|0){e=b[c+11>>0]|0;g=e<<24>>24<0;h=g?f[c+4>>2]|0:e&255;e=g?f[c>>2]|0:c;g=d;i=a;a:while(1){j=i;while(1){k=j+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[j+20>>2]|0:l&255;l=h>>>0>>0?h:n;if((l|0)!=0?(o=$i(m?f[k>>2]|0:k,e,l)|0,(o|0)!=0):0){if((o|0)>=0)break}else p=6;if((p|0)==6?(p=0,n>>>0>=h>>>0):0)break;n=f[j+4>>2]|0;if(!n){q=g;break a}else j=n}i=f[j>>2]|0;if(!i){q=j;break}else g=j}if((q|0)!=(d|0)){g=q+16|0;i=b[g+11>>0]|0;n=i<<24>>24<0;o=n?f[q+20>>2]|0:i&255;i=o>>>0>>0?o:h;if(i|0?(l=$i(e,n?f[g>>2]|0:g,i)|0,l|0):0){if((l|0)<0)break;else r=q;return r|0}if(h>>>0>=o>>>0){r=q;return r|0}}}while(0);r=d;return r|0}function vf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];Se(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{We(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);We(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);We(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];lf(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){i=b;j=h;do{f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];f[j+8>>2]=f[c+8>>2];j=(f[g>>2]|0)+12|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/12|0;h=j+b|0;if(h>>>0>357913941)zo(a);k=(e-i|0)/12|0;i=k<<1;e=k>>>0<178956970?(i>>>0>>0?h:i):357913941;do if(e)if(e>>>0>357913941){i=ra(8)|0;_m(i,13388);f[i>>2]=4744;va(i|0,1128,101)}else{l=Vk(e*12|0)|0;break}else l=0;while(0);i=l+(j*12|0)|0;j=l+(e*12|0)|0;e=b;b=i;l=i;do{f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];b=l+12|0;l=b;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;b=(f[g>>2]|0)-e|0;c=i+(((b|0)/-12|0)*12|0)|0;if((b|0)>0)Jf(c|0,e|0,b|0)|0;f[a>>2]=c;f[g>>2]=l;f[d>>2]=j;if(!e)return;ip(e);return}function xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)zo(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;_m(d,13388);f[d>>2]=4744;va(d|0,1128,101)}else{k=Vk(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=k;k=e;e=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[e+-4>>2]=d;e=k+-4|0;k=e}while((i|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0){kh(n);ip(n)}}while((h|0)!=(g|0))}if(!m)return;ip(m);return}function yf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+80|0;g=e;h=e+64|0;Jj(g);i=f[(f[a+8>>2]|0)+56>>2]|0;j=X(Vj(5)|0,d)|0;Vh(g,i,0,d&255,5,0,j,((j|0)<0)<<31>>31,0,0);j=Vk(96)|0;wj(j,g);b[j+84>>0]=1;g=f[j+68>>2]|0;d=j+72|0;i=f[d>>2]|0;if((i|0)!=(g|0))f[d>>2]=i+(~((i+-4-g|0)>>>2)<<2);Lh(j,c)|0;f[h>>2]=j;rh(a,h);a=f[h>>2]|0;f[h>>2]=0;if(!a){u=e;return}h=a+88|0;j=f[h>>2]|0;f[h>>2]=0;if(j|0){h=f[j+8>>2]|0;if(h|0){c=j+12|0;if((f[c>>2]|0)!=(h|0))f[c>>2]=h;ip(h)}ip(j)}j=f[a+68>>2]|0;if(j|0){h=a+72|0;c=f[h>>2]|0;if((c|0)!=(j|0))f[h>>2]=c+(~((c+-4-j|0)>>>2)<<2);ip(j)}j=a+64|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0){j=f[c>>2]|0;if(j|0){h=c+4|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;ip(j)}ip(c)}ip(a);u=e;return}function zf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=f[c>>2]|0;c=f[a>>2]|0;e=c+(d>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(d&31);e=f[a+64>>2]|0;g=(d|0)==-1;h=d+1|0;if(!g?(i=((h>>>0)%3|0|0)==0?d+-2|0:h,(i|0)!=-1):0)j=f[(f[e>>2]|0)+(i<<2)>>2]|0;else j=-1;i=a+12|0;h=(f[i>>2]|0)+(j>>>5<<2)|0;f[h>>2]=f[h>>2]|1<<(j&31);if(g){j=(f[i>>2]|0)+536870908|0;f[j>>2]=f[j>>2]|-2147483648;return}j=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((j|0)==-1)k=-1;else k=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=(f[i>>2]|0)+(k>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(k&31);if(g)return;g=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((g|0)==-1)return;b[a+24>>0]=0;a=c+(g>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(g&31);a=g+1|0;c=((a>>>0)%3|0|0)==0?g+-2|0:a;if((c|0)==-1)l=-1;else l=f[(f[e>>2]|0)+(c<<2)>>2]|0;c=(f[i>>2]|0)+(l>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(l&31);l=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((l|0)==-1)m=-1;else m=f[(f[e>>2]|0)+(l<<2)>>2]|0;l=(f[i>>2]|0)+(m>>>5<<2)|0;f[l>>2]=f[l>>2]|1<<(m&31);return}function Af(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;oi(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[e>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){u=b;return 1}i=0;do{f[d>>2]=i*3;f[c>>2]=f[d>>2];Pb(e,c);i=i+1|0}while((i|0)<(h|0));u=b;return 1}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){u=b;return 1}a=0;i=h;do{f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];Pb(e,c);a=a+1|0;h=f[g>>2]|0;i=f[h>>2]|0}while(a>>>0<(f[h+4>>2]|0)-i>>2>>>0);u=b;return 1}return 0}function Bf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=e>>>0>1073741823?-1:e<<2;l=fp(k)|0;Dh(l|0,0,k|0)|0;k=a+8|0;a=f[l+4>>2]|0;m=f[b>>2]|0;n=f[b+4>>2]|0;f[i>>2]=f[l>>2];f[i+4>>2]=a;f[j>>2]=m;f[j+4>>2]=n;Fc(h,k,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];if((e|0)>=(d|0)){gp(l);u=g;return 1}n=0-e|0;m=i+4|0;a=j+4|0;o=h+4|0;p=e;do{q=c+(p<<2)|0;r=q+(n<<2)|0;s=b+(p<<2)|0;t=f[r+4>>2]|0;v=f[s>>2]|0;w=f[s+4>>2]|0;f[i>>2]=f[r>>2];f[m>>2]=t;f[j>>2]=v;f[a>>2]=w;Fc(h,k,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[o>>2];p=p+e|0}while((p|0)<(d|0));gp(l);u=g;return 1}function Cf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;f[c>>2]=0;f[e>>2]=g;pf(a,b,e);g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){h=c+12|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;ip(e)}ip(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;h=f[e>>2]|0;if((h|0)!=(c|0))f[e>>2]=h+(~((h+-4-c|0)>>>2)<<2);ip(c)}c=g+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){e=h+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;ip(c)}ip(h)}ip(g)}g=a+84|0;h=a+88|0;a=f[h>>2]|0;c=f[g>>2]|0;e=a-c>>2;if((e|0)>(b|0)){u=d;return}i=b+1|0;b=a;if(i>>>0>e>>>0){gg(g,i-e|0);u=d;return}if(i>>>0>=e>>>0){u=d;return}e=c+(i<<2)|0;if((e|0)==(b|0)){u=d;return}f[h>>2]=b+(~((b+-4-e|0)>>>2)<<2);u=d;return}function Df(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=a+172|0;d=f[c>>2]|0;do if((d|0)==-1){e=f[a+144>>2]|0;g=Pa[f[(f[e>>2]|0)+32>>2]&127](e)|0;if(((h[g+36>>0]<<8|h[g+37>>0])&65535)<514)if(b[a+76>>0]|0){g=a+72|0;e=f[g>>2]|0;i=f[a+64>>2]|0;j=f[a+68>>2]|0;k=i+(e>>>3)|0;if(k>>>0>>0?(l=h[k>>0]|0,k=e+1|0,f[g>>2]=k,(1<<(e&7)&l|0)!=0):0){l=i+(k>>>3)|0;if(l>>>0>>0){m=(h[l>>0]|0)>>>(k&7)&1;l=e+2|0;f[g>>2]=l;n=m;o=l}else{n=0;o=k}k=i+(o>>>3)|0;if(k>>>0>>0){j=(h[k>>0]|0)>>>(o&7);f[g>>2]=o+1;p=j<<1&2}else p=0;q=(p|n)<<1|1}else q=0}else q=1;else q=7}else{j=(f[a+196>>2]|0)+(d<<2)|0;g=f[j>>2]|0;k=g+-1|0;f[j>>2]=k;if((g|0)<1){r=9;return r|0}else{q=f[3328+(f[(f[(f[a+184>>2]|0)+((f[c>>2]|0)*12|0)>>2]|0)+(k<<2)>>2]<<2)>>2]|0;break}}while(0);f[a+168>>2]=q;r=q;return r|0}function Ef(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0;do if(c){if((j[a+38>>1]|0)>=514){if(nh(d,a)|0)break;else e=0;return e|0}g=a+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=a+16|0;l=g;m=f[l>>2]|0;n=Rl(m|0,f[l+4>>2]|0,8,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){e=0;return e|0}else{n=(f[a>>2]|0)+m|0;m=n;i=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=n+4|0;n=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=d;l=m;b[l>>0]=i;b[l+1>>0]=i>>8;b[l+2>>0]=i>>16;b[l+3>>0]=i>>24;i=m+4|0;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;n=g;i=Rl(f[n>>2]|0,f[n+4>>2]|0,8,0)|0;n=g;f[n>>2]=i;f[n+4>>2]=I;break}}while(0);b[a+36>>0]=1;d=a+16|0;c=f[d>>2]|0;n=(f[a>>2]|0)+c|0;i=a+8|0;g=Tl(f[i>>2]|0,f[i+4>>2]|0,c|0,f[d+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=n;f[a+28>>2]=n+g;e=1;return e|0}function Ff(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=e>>>0>1073741823?-1:e<<2;l=fp(k)|0;Dh(l|0,0,k|0)|0;k=a+8|0;a=f[l>>2]|0;m=f[l+4>>2]|0;n=f[b+4>>2]|0;f[h>>2]=f[b>>2];f[h+4>>2]=n;f[j>>2]=a;f[j+4>>2]=m;kd(i,k,j,h);f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];if((e|0)>=(d|0)){gp(l);u=g;return 1}m=0-e|0;a=h+4|0;n=j+4|0;o=i+4|0;p=e;do{q=c+(p<<2)|0;r=q+(m<<2)|0;s=b+(p<<2)|0;t=f[r>>2]|0;v=f[r+4>>2]|0;r=f[s+4>>2]|0;f[h>>2]=f[s>>2];f[a>>2]=r;f[j>>2]=t;f[n>>2]=v;kd(i,k,j,h);f[q>>2]=f[i>>2];f[q+4>>2]=f[o>>2];p=p+e|0}while((p|0)<(d|0));gp(l);u=g;return 1}function Gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+16|0;e=d+8|0;g=d+4|0;h=d;if(!c){i=0;u=d;return i|0}f[a>>2]=b;f[e>>2]=0;Ph(e,b)|0;a:do if(!(f[e>>2]|0))j=8;else{b=0;while(1){Ph(g,f[a>>2]|0)|0;k=Vk(44)|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[k+16>>2]=$(1.0);l=k+20|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;n[k+36>>2]=$(1.0);f[k+40>>2]=f[g>>2];if(!(Kc(a,k)|0))break;f[h>>2]=k;ti(c,h)|0;l=f[h>>2]|0;f[h>>2]=0;if(l|0){kh(l);ip(l)}b=b+1|0;if(b>>>0>=(f[e>>2]|0)>>>0){j=8;break a}}kh(k);ip(k);m=0}while(0);if((j|0)==8)m=Kc(a,c)|0;i=m;u=d;return i|0}function Hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(c>>>0>4294967279)zo(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=0;m=j;n=a;o=13}else{Qm(a,j,(e&255)+1|0)|0;ip(j);o=16}}else{j=k+1|0;p=Vk(j)|0;if(g){l=1;m=f[a>>2]|0;n=p;o=13;break}else{Qm(p,a,(e&255)+1|0)|0;q=p;r=j;s=a+4|0;o=15;break}}while(0);if((o|0)==13){j=a+4|0;Qm(n,m,(f[j>>2]|0)+1|0)|0;ip(m);if(l){q=n;r=k+1|0;s=j;o=15}else o=16}if((o|0)==15){f[a+8>>2]=r|-2147483648;f[s>>2]=h;f[a>>2]=q;break}else if((o|0)==16){b[d>>0]=h;break}}while(0);return}function If(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+32|0;e=d+16|0;g=d;switch(c<<24>>24){case 0:{c=Vk(44)|0;h=c;i=h+44|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));ik(c);f[c>>2]=3528;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}case 1:{c=Vk(44)|0;h=c;i=h+44|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));ik(c);f[c>>2]=3484;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}default:{c=Vk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;j=11689;i=h+28|0;do{b[h>>0]=b[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(i|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;zh(c,g);f[a>>2]=f[e>>2];zh(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)ip(f[c>>2]|0);if((b[g+11>>0]|0)<0)ip(f[g>>2]|0);u=d;return}}}function Jf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Ea(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function Kf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=f[c+88>>2]|0;if(!d){e=0;return e|0}if((f[d>>2]|0)!=1){e=0;return e|0}g=d+8|0;d=f[g>>2]|0;f[a+4>>2]=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;i=a+8|0;j=c+24|0;c=b[j>>0]|0;k=c<<24>>24;l=a+12|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=k>>>0)if(o>>>0>k>>>0?(m=p+(k<<2)|0,(m|0)!=(n|0)):0){f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2);q=c;r=d}else{q=c;r=d}else{Ng(i,k-o|0);q=b[j>>0]|0;r=f[g>>2]|0}g=r+4|0;j=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;if(q<<24>>24>0){g=f[i>>2]|0;i=q<<24>>24;q=j;o=4;k=0;while(1){f[g+(k<<2)>>2]=q;o=o+4|0;k=k+1|0;d=r+o|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if((k|0)>=(i|0)){s=c;break}else q=c}}else s=j;f[a+20>>2]=s;e=1;return e|0}function Lf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;do if(!(Cn(a,f[c+8>>2]|0,g)|0)){if(!(Cn(a,f[c>>2]|0,g)|0)){h=f[a+8>>2]|0;Ya[f[(f[h>>2]|0)+24>>2]&3](h,c,d,e,g);break}if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;i=c+44|0;if((f[i>>2]|0)==4)break;j=c+52|0;b[j>>0]=0;k=c+53|0;b[k>>0]=0;l=f[a+8>>2]|0;Za[f[(f[l>>2]|0)+20>>2]&3](l,c,d,d,1,g);if(b[k>>0]|0)if(!(b[j>>0]|0)){m=3;n=11}else o=3;else{m=4;n=11}if((n|0)==11){f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;o=m}else o=m}f[i>>2]=o;break}if((e|0)==1)f[c+32>>2]=1}else Mk(0,c,d,e);while(0);return}function Mf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e+12|0;h=e+8|0;i=e;f[i>>2]=f[b>>2];f[g>>2]=f[i>>2];i=Ec(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=Vk(40)|0;zh(c+16|0,d);zh(c+28|0,d+12|0);d=f[h>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=d;f[i>>2]=c;d=f[f[a>>2]>>2]|0;if(!d)k=c;else{f[a>>2]=d;k=f[i>>2]|0}Ed(f[a+4>>2]|0,k);k=a+8|0;f[k>>2]=(f[k>>2]|0)+1;j=c;u=e;return j|0}function Nf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=a+4|0;f[h>>2]=0;if(!c){u=e;return}i=a+8|0;j=f[i>>2]|0;k=j<<5;if(k>>>0>>0){f[g>>2]=0;l=g+4|0;f[l>>2]=0;m=g+8|0;f[m>>2]=0;if((c|0)<0)zo(a);n=j<<6;j=c+31&-32;Ig(g,k>>>0<1073741823?(n>>>0>>0?j:n):2147483647);n=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=n;g=f[h>>2]|0;f[h>>2]=c;f[l>>2]=g;g=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=g;if(n|0)ip(n);o=a}else{f[h>>2]=c;o=a}a=f[o>>2]|0;o=a;h=a;a=c>>>5;n=a<<2;if(!(b[d>>0]|0)){Dh(h|0,0,n|0)|0;d=c&31;g=o+(a<<2)|0;if(!d){u=e;return}f[g>>2]=f[g>>2]&~(-1>>>(32-d|0));u=e;return}else{Dh(h|0,-1,n|0)|0;n=c&31;c=o+(a<<2)|0;if(!n){u=e;return}f[c>>2]=f[c>>2]|-1>>>(32-n|0);u=e;return}}function Of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=Rl(i|0,j|0,4,0)|0;k=I;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=f[b>>2]|0;b=m+i|0;n=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;b=c;f[b>>2]=g;f[b+4>>2]=k;k=Rl(i|0,j|0,8,0)|0;j=I;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=m+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=k;f[d+4>>2]=j;if((n|0)>(g|0)){l=0;return l|0}f[a+12>>2]=n;f[a+16>>2]=g;j=Tl(g|0,((g|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;if(!(n>>>0<0|(n|0)==0&j>>>0<2147483647)){l=0;return l|0}n=j+1|0;f[a+20>>2]=n;j=(n|0)/2|0;g=a+24|0;f[g>>2]=j;f[a+28>>2]=0-j;if(n&1|0){l=1;return l|0}f[g>>2]=j+-1;l=1;return l|0}function Pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/12|0;h=g+1|0;i=e;j=d;if(h>>>0>357913941)zo(a);d=a+8|0;k=((f[d>>2]|0)-e|0)/12|0;l=k<<1;m=k>>>0<178956970?(l>>>0>>0?h:l):357913941;do if(m)if(m>>>0>357913941){l=ra(8)|0;_m(l,13388);f[l>>2]=4744;va(l|0,1128,101)}else{n=Vk(m*12|0)|0;break}else n=0;while(0);l=n+(g*12|0)|0;h=n+(m*12|0)|0;f[l>>2]=f[b>>2];f[n+(g*12|0)+4>>2]=f[b+4>>2];f[n+(g*12|0)+8>>2]=f[b+8>>2];b=l+12|0;if((j|0)==(i|0))o=l;else{g=j;j=l;while(1){l=g;g=g+-12|0;f[j+-12>>2]=f[g>>2];f[j+-8>>2]=f[l+-8>>2];f[j+-4>>2]=f[l+-4>>2];l=j+-12|0;if((g|0)==(i|0)){o=l;break}else j=l}}f[a>>2]=o;f[c>>2]=b;f[d>>2]=h;if(!e)return;ip(e);return}function Qf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+12|0;a:do if((f[e>>2]|0)!=(c|0)){g=f[a>>2]|0;h=a+4|0;i=f[h>>2]|0;if((i|0)!=(g|0)){j=i;while(1){i=j+-12|0;f[h>>2]=i;if((b[i+11>>0]|0)<0){ip(f[i>>2]|0);k=f[h>>2]|0}else k=i;if((k|0)==(g|0))break;else j=k}}f[e>>2]=c;j=f[c+8>>2]|0;if(j|0){i=a+8|0;l=j;j=g;while(1){m=l+8|0;if((j|0)==(f[i>>2]|0))jf(a,m);else{zh(j,m);f[h>>2]=(f[h>>2]|0)+12}m=f[l>>2]|0;if(!m)break a;l=m;j=f[h>>2]|0}}}while(0);if((d|0)<0){n=0;return n|0}c=f[a>>2]|0;if((((f[a+4>>2]|0)-c|0)/12|0)>>>0<=d>>>0){n=0;return n|0}a=c+(d*12|0)|0;if((b[a+11>>0]|0)<0){n=f[a>>2]|0;return n|0}else{n=a;return n|0}return 0}function Rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;h=a+12|0;i=(f[h>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;Wa[e&15](a,i,d);i=f[d>>2]|0;f[d>>2]=0;if(!i){k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}d=i+88|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){e=a+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;ip(d)}ip(a)}a=f[i+68>>2]|0;if(a|0){d=i+72|0;e=f[d>>2]|0;if((e|0)!=(a|0))f[d>>2]=e+(~((e+-4-a|0)>>>2)<<2);ip(a)}a=i+64|0;e=f[a>>2]|0;f[a>>2]=0;if(e|0){a=f[e>>2]|0;if(a|0){d=e+4|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;ip(a)}ip(e)}ip(i);k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=1048576){if((h|0)!=1048576?(e=i+4194304|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Ng(a,1048576-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Tf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>1048576){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==1048576;return k|0}function Tf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=b;i=g;do{j=i;f[j>>2]=0;f[j+4>>2]=0;i=(f[e>>2]|0)+8|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>3;g=i+b|0;if(g>>>0>536870911)zo(a);j=d-h|0;h=j>>2;d=j>>3>>>0<268435455?(h>>>0>>0?g:h):536870911;do if(d)if(d>>>0>536870911){h=ra(8)|0;_m(h,13388);f[h>>2]=4744;va(h|0,1128,101)}else{k=Vk(d<<3)|0;break}else k=0;while(0);h=k+(i<<3)|0;i=k+(d<<3)|0;d=b;b=h;k=h;do{g=b;f[g>>2]=0;f[g+4>>2]=0;b=k+8|0;k=b;d=d+-1|0}while((d|0)!=0);d=f[a>>2]|0;b=(f[e>>2]|0)-d|0;g=h+(0-(b>>3)<<3)|0;if((b|0)>0)Jf(g|0,d|0,b|0)|0;f[a>>2]=g;f[e>>2]=k;f[c>>2]=i;if(!d)return;ip(d);return}function Uf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c;if(!(Nd(a,b)|0)){e=0;u=c;return e|0}g=b+8|0;i=f[g>>2]|0;j=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;m=Rl(l|0,f[k+4>>2]|0,4,0)|0;k=I;if((j|0)<(k|0)|(j|0)==(k|0)&i>>>0>>0){e=0;u=c;return e|0}i=(f[b>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=g;f[i>>2]=m;f[i+4>>2]=k;if((l|0)<0){e=0;u=c;return e|0}k=f[a+152>>2]|0;if((l|0)>=(k|0)){e=0;u=c;return e|0}l=a+156|0;f[d>>2]=0;i=a+160|0;m=f[i>>2]|0;g=f[l>>2]|0;j=m-g>>2;n=g;g=m;if(k>>>0<=j>>>0){if(k>>>0>>0?(m=n+(k<<2)|0,(m|0)!=(g|0)):0)f[i>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else dg(l,k-j|0,d);e=Bd(a+168|0,b)|0;u=c;return e|0}function Vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=524288){if((h|0)!=524288?(e=i+2097152|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Ng(a,524288-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Tf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>524288){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==524288;return k|0}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=262144){if((h|0)!=262144?(e=i+1048576|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Ng(a,262144-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Tf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>262144){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==262144;return k|0}function Xf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!c){g=0;u=d;return g|0}h=a+84|0;i=f[h>>2]|0;j=a+88|0;k=f[j>>2]|0;if((k|0)!=(i|0))f[j>>2]=k+(~((k+-4-i|0)>>>2)<<2);f[h>>2]=0;f[j>>2]=0;f[a+92>>2]=0;if(i|0)ip(i);i=a+72|0;j=f[i>>2]|0;h=a+76|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;f[i>>2]=0;f[h>>2]=0;f[a+80>>2]=0;if(j|0)ip(j);j=c+4|0;h=(f[j>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;Nf(a,h,e);h=c+24|0;i=c+28|0;k=(f[i>>2]|0)-(f[h>>2]|0)>>2;b[e>>0]=0;Nf(a+12|0,k,e);Pe(a+28|0,(f[j>>2]|0)-(f[c>>2]|0)>>2,3596);oi(a+52|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);oi(a+40|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;g=1;u=d;return g|0}function Yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=65536){if((h|0)!=65536?(e=i+262144|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Ng(a,65536-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Tf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>65536){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==65536;return k|0} -function xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+8|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)zo(e);else{k=i<<2;l=Vk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+624|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);ip(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)zo(e);else{s=t<<2;p=Vk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Dh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+636|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);ip(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;oc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;if(A|0){b=a+612|0;q=e+4|0;p=e+8|0;r=a+600|0;v=a+556|0;w=a+552|0;m=a+596|0;j=a+592|0;k=e+4|0;i=e+8|0;n=A;while(1){A=f[s>>2]|0;o=n+-1|0;B=A+o|0;C=f[z>>2]|0;D=f[C+(((B>>>0)/341|0)<<2)>>2]|0;E=(B>>>0)%341|0;B=f[D+(E*12|0)>>2]|0;F=f[D+(E*12|0)+4>>2]|0;G=f[D+(E*12|0)+8>>2]|0;f[y>>2]=o;o=f[x>>2]|0;E=o-C>>2;if((1-n-A+((E|0)==0?0:(E*341|0)+-1|0)|0)>>>0>681){ip(f[o+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}o=f[l>>2]|0;E=o+(G*12|0)|0;A=((f[h>>2]|0)+-1|0)==(F|0)?0:F+1|0;F=(f[t>>2]|0)+(G*12|0)|0;C=(f[a>>2]|0)-(f[(f[F>>2]|0)+(A<<2)>>2]|0)|0;a:do if(!C)if((B|0)>0){D=0;do{H=f[E>>2]|0;I=f[H>>2]|0;f[e>>2]=I;f[k>>2]=f[H+4>>2];f[i>>2]=f[H+8>>2];H=f[c>>2]|0;J=H+4|0;K=f[J>>2]|0;if(K>>>0<(f[H+8>>2]|0)>>>0){f[K>>2]=I;f[K+4>>2]=f[k>>2];f[K+8>>2]=f[i>>2];f[J>>2]=K+12}else Pf(H,e);D=D+1|0}while((D|0)<(B|0));L=23}else L=23;else if(B>>>0<3){D=f[b>>2]|0;f[D>>2]=A;H=f[h>>2]|0;if(H>>>0>1){K=1;J=H;I=A;while(1){I=(I|0)==(J+-1|0)?0:I+1|0;f[D+(K<<2)>>2]=I;K=K+1|0;M=f[h>>2]|0;if(K>>>0>=M>>>0){N=M;break}else J=M}}else N=H;if(!B){L=23;break}J=0;K=N;while(1){if(!K)O=f[r>>2]|0;else{I=f[b>>2]|0;D=f[r>>2]|0;M=f[F>>2]|0;P=f[E>>2]|0;Q=0;do{R=I+(Q<<2)|0;f[D+(f[R>>2]<<2)>>2]=0;S=f[R>>2]|0;T=(f[a>>2]|0)-(f[M+(S<<2)>>2]|0)|0;do if(T|0){U=D+(S<<2)|0;V=f[v>>2]|0;W=32-V|0;X=f[w>>2]|0;Y=f[X>>2]<(W|0)){V=T-W|0;f[v>>2]=V;Z=X+4|0;f[w>>2]=Z;$=32-V|0;f[U>>2]=(f[Z>>2]|0)>>>$|Y>>>($-W|0);break}f[U>>2]=Y>>>(32-T|0);Y=(f[v>>2]|0)+T|0;f[v>>2]=Y;if((Y|0)!=32)break;f[w>>2]=X+4;f[v>>2]=0}while(0);T=f[R>>2]|0;S=D+(T<<2)|0;f[S>>2]=f[S>>2]|f[P+(T<<2)>>2];Q=Q+1|0}while(Q>>>0<(f[h>>2]|0)>>>0);O=D}D=f[O>>2]|0;f[e>>2]=D;f[q>>2]=f[O+4>>2];f[p>>2]=f[O+8>>2];Q=f[c>>2]|0;P=Q+4|0;M=f[P>>2]|0;if(M>>>0<(f[Q+8>>2]|0)>>>0){f[M>>2]=D;f[M+4>>2]=f[q>>2];f[M+8>>2]=f[p>>2];f[P>>2]=M+12}else Pf(Q,e);Q=J+1|0;if(Q>>>0>=B>>>0){L=23;break a}J=Q;K=f[h>>2]|0}}else{K=G+1|0;lf(o+(K*12|0)|0,f[E>>2]|0,f[o+(G*12|0)+4>>2]|0);J=(f[(f[l>>2]|0)+(K*12|0)>>2]|0)+(A<<2)|0;f[J>>2]=(f[J>>2]|0)+(1<>>1)-aa|0;J=B-Q|0;if((Q|0)==(J|0)){ba=Q;ca=Q}else{H=f[m>>2]|0;M=f[j>>2]|0;P=(f[M>>2]&1<<31-H|0)!=0;D=H+1|0;f[m>>2]=D;if((D|0)==32){f[j>>2]=M+4;f[m>>2]=0}ba=P?Q:J;ca=P?J:Q}Q=f[t>>2]|0;J=f[Q+(G*12|0)>>2]|0;P=J+(A<<2)|0;f[P>>2]=(f[P>>2]|0)+1;lf(Q+(K*12|0)|0,J,f[Q+(G*12|0)+4>>2]|0);if(ba|0){Q=f[x>>2]|0;J=f[z>>2]|0;P=Q-J>>2;M=f[s>>2]|0;D=f[y>>2]|0;if((((P|0)==0?0:(P*341|0)+-1|0)|0)==(D+M|0)){oc(g);da=f[y>>2]|0;ea=f[s>>2]|0;fa=f[x>>2]|0;ga=f[z>>2]|0}else{da=D;ea=M;fa=Q;ga=J}J=da+ea|0;if((fa|0)==(ga|0))ha=0;else ha=(f[ga+(((J>>>0)/341|0)<<2)>>2]|0)+(((J>>>0)%341|0)*12|0)|0;f[ha>>2]=ba;f[ha+4>>2]=A;f[ha+8>>2]=G;f[y>>2]=(f[y>>2]|0)+1}if(!ca){L=23;break}J=f[x>>2]|0;Q=f[z>>2]|0;M=J-Q>>2;D=f[s>>2]|0;P=f[y>>2]|0;if((((M|0)==0?0:(M*341|0)+-1|0)|0)==(P+D|0)){oc(g);ia=f[y>>2]|0;ja=f[s>>2]|0;ka=f[x>>2]|0;la=f[z>>2]|0}else{ia=P;ja=D;ka=J;la=Q}Q=ia+ja|0;if((ka|0)==(la|0))ma=0;else ma=(f[la+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[ma>>2]=ca;f[ma+4>>2]=A;f[ma+8>>2]=K;Q=(f[y>>2]|0)+1|0;f[y>>2]=Q;na=Q;break}while(0);if((L|0)==23){L=0;na=f[y>>2]|0}if(!na)break;else n=na}}na=f[z>>2]|0;n=f[s>>2]|0;ma=na+(((n>>>0)/341|0)<<2)|0;ca=f[x>>2]|0;la=ca;ka=na;if((ca|0)==(na|0)){oa=0;pa=0}else{ja=(f[ma>>2]|0)+(((n>>>0)%341|0)*12|0)|0;oa=ja;pa=ja}ja=ma;ma=pa;b:while(1){pa=ma;do{n=pa;if((oa|0)==(n|0))break b;pa=n+12|0}while((pa-(f[ja>>2]|0)|0)!=4092);pa=ja+4|0;ja=pa;ma=f[pa>>2]|0}f[y>>2]=0;y=la-ka>>2;if(y>>>0>2){ka=na;do{ip(f[ka>>2]|0);ka=(f[z>>2]|0)+4|0;f[z>>2]=ka;qa=f[x>>2]|0;ra=qa-ka>>2}while(ra>>>0>2);sa=ra;ta=ka;ua=qa}else{sa=y;ta=na;ua=ca}switch(sa|0){case 1:{va=170;L=83;break}case 2:{va=341;L=83;break}default:{}}if((L|0)==83)f[s>>2]=va;if((ta|0)!=(ua|0)){va=ta;do{ip(f[va>>2]|0);va=va+4|0}while((va|0)!=(ua|0));ua=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(ua|0))f[x>>2]=z+(~((z+-4-ua|0)>>>2)<<2)}ua=f[g>>2]|0;if(!ua){u=d;return}ip(ua);u=d;return}function yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+8|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)zo(e);else{k=i<<2;l=Vk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+112|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);ip(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)zo(e);else{s=t<<2;p=Vk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Dh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+124|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);ip(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;oc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;if(A|0){b=a+100|0;q=e+4|0;p=e+8|0;r=a+88|0;v=a+44|0;w=a+40|0;m=a+12|0;j=a+84|0;k=a+80|0;i=e+4|0;n=e+8|0;o=A;do{A=f[s>>2]|0;B=o+-1|0;C=A+B|0;D=f[z>>2]|0;E=f[D+(((C>>>0)/341|0)<<2)>>2]|0;F=(C>>>0)%341|0;C=f[E+(F*12|0)>>2]|0;G=f[E+(F*12|0)+4>>2]|0;H=f[E+(F*12|0)+8>>2]|0;f[y>>2]=B;B=f[x>>2]|0;F=B-D>>2;if((1-o-A+((F|0)==0?0:(F*341|0)+-1|0)|0)>>>0>681){ip(f[B+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}B=f[l>>2]|0;F=B+(H*12|0)|0;A=(f[t>>2]|0)+(H*12|0)|0;D=ml(a,C,A,G)|0;G=(f[a>>2]|0)-(f[(f[A>>2]|0)+(D<<2)>>2]|0)|0;a:do if(!G){if((C|0)>0){E=0;do{I=f[F>>2]|0;J=f[I>>2]|0;f[e>>2]=J;f[i>>2]=f[I+4>>2];f[n>>2]=f[I+8>>2];I=f[c>>2]|0;K=I+4|0;L=f[K>>2]|0;if(L>>>0<(f[I+8>>2]|0)>>>0){f[L>>2]=J;f[L+4>>2]=f[i>>2];f[L+8>>2]=f[n>>2];f[K>>2]=L+12}else Pf(I,e);E=E+1|0}while((E|0)<(C|0))}}else{if(C>>>0<3){E=f[b>>2]|0;f[E>>2]=D;I=f[h>>2]|0;if(I>>>0>1){L=1;K=I;J=D;while(1){J=(J|0)==(K+-1|0)?0:J+1|0;f[E+(L<<2)>>2]=J;L=L+1|0;M=f[h>>2]|0;if(L>>>0>=M>>>0){N=M;break}else K=M}}else N=I;if(!C)break;K=0;L=N;while(1){if(!L)O=f[r>>2]|0;else{J=f[b>>2]|0;E=f[r>>2]|0;M=f[A>>2]|0;P=f[F>>2]|0;Q=0;do{R=J+(Q<<2)|0;f[E+(f[R>>2]<<2)>>2]=0;S=f[R>>2]|0;T=(f[a>>2]|0)-(f[M+(S<<2)>>2]|0)|0;do if(T|0){U=E+(S<<2)|0;V=f[v>>2]|0;W=32-V|0;X=f[w>>2]|0;Y=f[X>>2]<(W|0)){V=T-W|0;f[v>>2]=V;Z=X+4|0;f[w>>2]=Z;$=32-V|0;f[U>>2]=(f[Z>>2]|0)>>>$|Y>>>($-W|0);break}f[U>>2]=Y>>>(32-T|0);Y=(f[v>>2]|0)+T|0;f[v>>2]=Y;if((Y|0)!=32)break;f[w>>2]=X+4;f[v>>2]=0}while(0);T=f[R>>2]|0;S=E+(T<<2)|0;f[S>>2]=f[S>>2]|f[P+(T<<2)>>2];Q=Q+1|0}while(Q>>>0<(f[h>>2]|0)>>>0);O=E}E=f[O>>2]|0;f[e>>2]=E;f[q>>2]=f[O+4>>2];f[p>>2]=f[O+8>>2];Q=f[c>>2]|0;P=Q+4|0;M=f[P>>2]|0;if(M>>>0<(f[Q+8>>2]|0)>>>0){f[M>>2]=E;f[M+4>>2]=f[q>>2];f[M+8>>2]=f[p>>2];f[P>>2]=M+12}else Pf(Q,e);Q=K+1|0;if(Q>>>0>=C>>>0)break a;K=Q;L=f[h>>2]|0}}L=H+1|0;K=f[l>>2]|0;I=K+(L*12|0)|0;if((I|0)==(F|0))aa=K;else{lf(I,f[F>>2]|0,f[B+(H*12|0)+4>>2]|0);aa=f[l>>2]|0}I=(f[aa+(L*12|0)>>2]|0)+(D<<2)|0;f[I>>2]=(f[I>>2]|0)+(1<>2]=0;Eh(m,I,e);I=(C>>>1)-(f[e>>2]|0)|0;K=C-I|0;if((I|0)==(K|0)){ba=I;ca=I}else{Q=f[j>>2]|0;M=f[k>>2]|0;P=(f[M>>2]&1<<31-Q|0)!=0;E=Q+1|0;f[j>>2]=E;if((E|0)==32){f[k>>2]=M+4;f[j>>2]=0}ba=P?I:K;ca=P?K:I}I=f[t>>2]|0;K=f[I+(H*12|0)>>2]|0;P=K+(D<<2)|0;f[P>>2]=(f[P>>2]|0)+1;lf(I+(L*12|0)|0,K,f[I+(H*12|0)+4>>2]|0);if(ba|0){I=f[x>>2]|0;K=f[z>>2]|0;P=I-K>>2;M=f[s>>2]|0;E=f[y>>2]|0;if((((P|0)==0?0:(P*341|0)+-1|0)|0)==(E+M|0)){oc(g);da=f[y>>2]|0;ea=f[s>>2]|0;fa=f[x>>2]|0;ga=f[z>>2]|0}else{da=E;ea=M;fa=I;ga=K}K=da+ea|0;if((fa|0)==(ga|0))ha=0;else ha=(f[ga+(((K>>>0)/341|0)<<2)>>2]|0)+(((K>>>0)%341|0)*12|0)|0;f[ha>>2]=ba;f[ha+4>>2]=D;f[ha+8>>2]=H;f[y>>2]=(f[y>>2]|0)+1}if(ca|0){K=f[x>>2]|0;I=f[z>>2]|0;M=K-I>>2;E=f[s>>2]|0;P=f[y>>2]|0;if((((M|0)==0?0:(M*341|0)+-1|0)|0)==(P+E|0)){oc(g);ia=f[y>>2]|0;ja=f[s>>2]|0;ka=f[x>>2]|0;la=f[z>>2]|0}else{ia=P;ja=E;ka=K;la=I}I=ia+ja|0;if((ka|0)==(la|0))ma=0;else ma=(f[la+(((I>>>0)/341|0)<<2)>>2]|0)+(((I>>>0)%341|0)*12|0)|0;f[ma>>2]=ca;f[ma+4>>2]=D;f[ma+8>>2]=L;f[y>>2]=(f[y>>2]|0)+1}}while(0);o=f[y>>2]|0}while((o|0)!=0)}o=f[z>>2]|0;ma=f[s>>2]|0;ca=o+(((ma>>>0)/341|0)<<2)|0;la=f[x>>2]|0;ka=la;ja=o;if((la|0)==(o|0)){na=0;oa=0}else{ia=(f[ca>>2]|0)+(((ma>>>0)%341|0)*12|0)|0;na=ia;oa=ia}ia=ca;ca=oa;b:while(1){oa=ca;do{ma=oa;if((na|0)==(ma|0))break b;oa=ma+12|0}while((oa-(f[ia>>2]|0)|0)!=4092);oa=ia+4|0;ia=oa;ca=f[oa>>2]|0}f[y>>2]=0;y=ka-ja>>2;if(y>>>0>2){ja=o;do{ip(f[ja>>2]|0);ja=(f[z>>2]|0)+4|0;f[z>>2]=ja;pa=f[x>>2]|0;qa=pa-ja>>2}while(qa>>>0>2);ra=qa;sa=ja;ta=pa}else{ra=y;sa=o;ta=la}switch(ra|0){case 1:{ua=170;va=83;break}case 2:{ua=341;va=83;break}default:{}}if((va|0)==83)f[s>>2]=ua;if((sa|0)!=(ta|0)){ua=sa;do{ip(f[ua>>2]|0);ua=ua+4|0}while((ua|0)!=(ta|0));ta=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(ta|0))f[x>>2]=z+(~((z+-4-ta|0)>>>2)<<2)}ta=f[g>>2]|0;if(!ta){u=d;return}ip(ta);u=d;return}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+8|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)zo(e);else{k=i<<2;l=Vk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+112|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);ip(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)zo(e);else{s=t<<2;p=Vk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Dh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+124|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);ip(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;oc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;if(A|0){b=a+100|0;q=e+4|0;p=e+8|0;r=a+88|0;v=a+44|0;w=a+40|0;m=a+12|0;j=a+84|0;k=a+80|0;i=e+4|0;n=e+8|0;o=A;do{A=f[s>>2]|0;B=o+-1|0;C=A+B|0;D=f[z>>2]|0;E=f[D+(((C>>>0)/341|0)<<2)>>2]|0;F=(C>>>0)%341|0;C=f[E+(F*12|0)>>2]|0;G=f[E+(F*12|0)+4>>2]|0;H=f[E+(F*12|0)+8>>2]|0;f[y>>2]=B;B=f[x>>2]|0;F=B-D>>2;if((1-o-A+((F|0)==0?0:(F*341|0)+-1|0)|0)>>>0>681){ip(f[B+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}B=f[l>>2]|0;F=B+(H*12|0)|0;A=((f[h>>2]|0)+-1|0)==(G|0)?0:G+1|0;G=(f[t>>2]|0)+(H*12|0)|0;D=(f[a>>2]|0)-(f[(f[G>>2]|0)+(A<<2)>>2]|0)|0;a:do if(!D){if((C|0)>0){E=0;do{I=f[F>>2]|0;J=f[I>>2]|0;f[e>>2]=J;f[i>>2]=f[I+4>>2];f[n>>2]=f[I+8>>2];I=f[c>>2]|0;K=I+4|0;L=f[K>>2]|0;if(L>>>0<(f[I+8>>2]|0)>>>0){f[L>>2]=J;f[L+4>>2]=f[i>>2];f[L+8>>2]=f[n>>2];f[K>>2]=L+12}else Pf(I,e);E=E+1|0}while((E|0)<(C|0))}}else{if(C>>>0>=3){E=H+1|0;lf(B+(E*12|0)|0,f[F>>2]|0,f[B+(H*12|0)+4>>2]|0);I=(f[(f[l>>2]|0)+(E*12|0)>>2]|0)+(A<<2)|0;f[I>>2]=(f[I>>2]|0)+(1<>2]=0;Eh(m,I,e);I=(C>>>1)-(f[e>>2]|0)|0;L=C-I|0;if((I|0)==(L|0)){M=I;N=I}else{K=f[j>>2]|0;J=f[k>>2]|0;O=(f[J>>2]&1<<31-K|0)!=0;P=K+1|0;f[j>>2]=P;if((P|0)==32){f[k>>2]=J+4;f[j>>2]=0}M=O?I:L;N=O?L:I}I=f[t>>2]|0;L=f[I+(H*12|0)>>2]|0;O=L+(A<<2)|0;f[O>>2]=(f[O>>2]|0)+1;lf(I+(E*12|0)|0,L,f[I+(H*12|0)+4>>2]|0);if(M|0){I=f[x>>2]|0;L=f[z>>2]|0;O=I-L>>2;J=f[s>>2]|0;P=f[y>>2]|0;if((((O|0)==0?0:(O*341|0)+-1|0)|0)==(P+J|0)){oc(g);Q=f[y>>2]|0;R=f[s>>2]|0;S=f[x>>2]|0;T=f[z>>2]|0}else{Q=P;R=J;S=I;T=L}L=Q+R|0;if((S|0)==(T|0))U=0;else U=(f[T+(((L>>>0)/341|0)<<2)>>2]|0)+(((L>>>0)%341|0)*12|0)|0;f[U>>2]=M;f[U+4>>2]=A;f[U+8>>2]=H;f[y>>2]=(f[y>>2]|0)+1}if(N|0){L=f[x>>2]|0;I=f[z>>2]|0;J=L-I>>2;P=f[s>>2]|0;O=f[y>>2]|0;if((((J|0)==0?0:(J*341|0)+-1|0)|0)==(O+P|0)){oc(g);V=f[y>>2]|0;W=f[s>>2]|0;X=f[x>>2]|0;Y=f[z>>2]|0}else{V=O;W=P;X=L;Y=I}I=V+W|0;if((X|0)==(Y|0))Z=0;else Z=(f[Y+(((I>>>0)/341|0)<<2)>>2]|0)+(((I>>>0)%341|0)*12|0)|0;f[Z>>2]=N;f[Z+4>>2]=A;f[Z+8>>2]=E;f[y>>2]=(f[y>>2]|0)+1}break}E=f[b>>2]|0;f[E>>2]=A;I=f[h>>2]|0;if(I>>>0>1){L=1;P=I;O=A;while(1){O=(O|0)==(P+-1|0)?0:O+1|0;f[E+(L<<2)>>2]=O;L=L+1|0;J=f[h>>2]|0;if(L>>>0>=J>>>0){$=J;break}else P=J}}else $=I;if(C|0){P=0;L=$;while(1){if(!L)aa=f[r>>2]|0;else{O=f[b>>2]|0;E=f[r>>2]|0;J=f[G>>2]|0;K=f[F>>2]|0;ba=0;do{ca=O+(ba<<2)|0;f[E+(f[ca>>2]<<2)>>2]=0;da=f[ca>>2]|0;ea=(f[a>>2]|0)-(f[J+(da<<2)>>2]|0)|0;do if(ea|0){fa=E+(da<<2)|0;ga=f[v>>2]|0;ha=32-ga|0;ia=f[w>>2]|0;ja=f[ia>>2]<(ha|0)){ga=ea-ha|0;f[v>>2]=ga;ka=ia+4|0;f[w>>2]=ka;la=32-ga|0;f[fa>>2]=(f[ka>>2]|0)>>>la|ja>>>(la-ha|0);break}f[fa>>2]=ja>>>(32-ea|0);ja=(f[v>>2]|0)+ea|0;f[v>>2]=ja;if((ja|0)!=32)break;f[w>>2]=ia+4;f[v>>2]=0}while(0);ea=f[ca>>2]|0;da=E+(ea<<2)|0;f[da>>2]=f[da>>2]|f[K+(ea<<2)>>2];ba=ba+1|0}while(ba>>>0<(f[h>>2]|0)>>>0);aa=E}E=f[aa>>2]|0;f[e>>2]=E;f[q>>2]=f[aa+4>>2];f[p>>2]=f[aa+8>>2];ba=f[c>>2]|0;K=ba+4|0;J=f[K>>2]|0;if(J>>>0<(f[ba+8>>2]|0)>>>0){f[J>>2]=E;f[J+4>>2]=f[q>>2];f[J+8>>2]=f[p>>2];f[K>>2]=J+12}else Pf(ba,e);ba=P+1|0;if(ba>>>0>=C>>>0)break a;P=ba;L=f[h>>2]|0}}}while(0);o=f[y>>2]|0}while((o|0)!=0)}o=f[z>>2]|0;h=f[s>>2]|0;e=o+(((h>>>0)/341|0)<<2)|0;p=f[x>>2]|0;q=p;c=o;if((p|0)==(o|0)){ma=0;na=0}else{aa=(f[e>>2]|0)+(((h>>>0)%341|0)*12|0)|0;ma=aa;na=aa}aa=e;e=na;b:while(1){na=e;do{h=na;if((ma|0)==(h|0))break b;na=h+12|0}while((na-(f[aa>>2]|0)|0)!=4092);na=aa+4|0;aa=na;e=f[na>>2]|0}f[y>>2]=0;y=q-c>>2;if(y>>>0>2){c=o;do{ip(f[c>>2]|0);c=(f[z>>2]|0)+4|0;f[z>>2]=c;oa=f[x>>2]|0;pa=oa-c>>2}while(pa>>>0>2);qa=pa;ra=c;sa=oa}else{qa=y;ra=o;sa=p}switch(qa|0){case 1:{ta=170;ua=81;break}case 2:{ta=341;ua=81;break}default:{}}if((ua|0)==81)f[s>>2]=ta;if((ra|0)!=(sa|0)){ta=ra;do{ip(f[ta>>2]|0);ta=ta+4|0}while((ta|0)!=(sa|0));sa=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(sa|0))f[x>>2]=z+(~((z+-4-sa|0)>>>2)<<2)}sa=f[g>>2]|0;if(!sa){u=d;return}ip(sa);u=d;return}function Ab(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;c=u;u=u+48|0;d=c+36|0;e=c+24|0;g=c+12|0;h=c;i=a+4|0;j=f[(f[i>>2]|0)+44>>2]|0;k=a+8|0;l=f[k>>2]|0;m=((f[l+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;l=j+96|0;n=j+100|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;j=f[n>>2]|0;o=f[l>>2]|0;p=(j-o|0)/12|0;q=o;o=j;if(m>>>0<=p>>>0){if(m>>>0

>>0?(j=q+(m*12|0)|0,(j|0)!=(o|0)):0)f[n>>2]=o+(~(((o+-12-j|0)>>>0)/12|0)*12|0)}else wf(l,m-p|0,d);p=a+212|0;m=a+216|0;if((f[p>>2]|0)==(f[m>>2]|0)){l=f[i>>2]|0;j=f[l+44>>2]|0;o=f[j+100>>2]|0;n=f[j+96>>2]|0;if((o|0)==(n|0))r=l;else{q=e+4|0;s=e+8|0;t=0;v=j;j=n;n=l;w=l;l=o;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;o=t*3|0;if((o|0)!=-1){x=f[(f[f[k>>2]>>2]|0)+(o<<2)>>2]|0;f[e>>2]=x;y=o+1|0;if((y|0)==-1){f[q>>2]=-1;z=0;A=x;B=95}else{C=y;D=x;B=94}}else{f[e>>2]=-1;C=0;D=-1;B=94}if((B|0)==94){B=0;f[q>>2]=f[(f[f[k>>2]>>2]|0)+(C<<2)>>2];x=o+2|0;if((x|0)==-1){E=-1;F=D}else{z=x;A=D;B=95}}if((B|0)==95){B=0;E=f[(f[f[k>>2]>>2]|0)+(z<<2)>>2]|0;F=A}f[s>>2]=E;x=v+96|0;o=v+100|0;y=(l-j|0)/12|0;G=j;H=t;t=t+1|0;if(H>>>0>>0){I=n;J=v;K=w;L=G;M=l;N=j}else{O=l;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if(t>>>0<=y>>>0)if(t>>>0>>0?(P=G+(t*12|0)|0,(P|0)!=(O|0)):0){Q=O+(~(((O+-12-P|0)>>>0)/12|0)*12|0)|0;f[o>>2]=Q;R=G;S=w;T=v;U=Q;V=j}else{R=G;S=w;T=v;U=l;V=j}else{wf(x,t-y|0,d);y=f[i>>2]|0;G=f[y+44>>2]|0;R=f[x>>2]|0;S=y;T=G;U=f[G+100>>2]|0;V=f[G+96>>2]|0}I=S;J=T;K=S;L=R;M=U;N=V}f[L+(H*12|0)>>2]=F;f[L+(H*12|0)+4>>2]=f[q>>2];f[L+(H*12|0)+8>>2]=f[s>>2];if(t>>>0>=((M-N|0)/12|0)>>>0){r=I;break}else{v=J;j=N;n=I;w=K;l=M}}}f[(f[r+4>>2]|0)+80>>2]=b;u=c;return 1}f[e>>2]=0;b=e+4|0;f[b>>2]=0;f[e+8>>2]=0;r=f[k>>2]|0;M=(f[r+4>>2]|0)-(f[r>>2]|0)|0;l=M>>2;f[g>>2]=0;K=g+4|0;f[K>>2]=0;f[g+8>>2]=0;do if(l|0)if(l>>>0>1073741823)zo(g);else{w=Vk(M)|0;f[g>>2]=w;I=w+(l<<2)|0;f[g+8>>2]=I;Dh(w|0,0,M|0)|0;f[K>>2]=I;break}while(0);if(((f[r+28>>2]|0)-(f[r+24>>2]|0)|0)>0){M=a+120|0;a=e+8|0;l=0;I=r;while(1){r=f[(f[I+24>>2]|0)+(l<<2)>>2]|0;a:do if((r|0)!=-1){b:do if((f[(f[M>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)==0?(w=f[m>>2]|0,n=f[p>>2]|0,N=n,(w|0)!=(n|0)):0){j=(((r>>>0)%3|0|0)==0?2:-1)+r|0;J=(w-n|0)/144|0;if((j|0)==-1){n=(r|0)==-1;w=0;while(1){v=f[(f[f[N+(w*144|0)+68>>2]>>2]|0)+(r<<2)>>2]|0;if(1<<(v&31)&f[(f[N+(w*144|0)+16>>2]|0)+(v>>>5<<2)>>2]|0){v=f[N+(w*144|0)+32>>2]|0;t=(f[v+-4>>2]|0)==(f[v+(r<<2)>>2]|0);do if(!t){W=-1;break b}while(!n)}w=w+1|0;if(w>>>0>=J>>>0){W=r;break b}}}w=I+12|0;n=0;while(1){t=f[(f[f[N+(n*144|0)+68>>2]>>2]|0)+(r<<2)>>2]|0;if(1<<(t&31)&f[(f[N+(n*144|0)+16>>2]|0)+(t>>>5<<2)>>2]|0){t=f[N+(n*144|0)+32>>2]|0;v=f[t+(r<<2)>>2]|0;s=f[w>>2]|0;L=f[s+(j<<2)>>2]|0;do if((L|0)!=-1)if(!((L>>>0)%3|0)){X=L+2|0;break}else{X=L+-1|0;break}else X=-1;while(0);if((X|0)!=(r|0)){L=X;while(1){if((f[t+(L<<2)>>2]|0)!=(v|0)){W=L;break b}do if((L|0)!=-1){q=(((L>>>0)%3|0|0)==0?2:-1)+L|0;if((q|0)==-1){Y=-1;break}F=f[s+(q<<2)>>2]|0;if((F|0)==-1){Y=-1;break}if(!((F>>>0)%3|0)){Y=F+2|0;break}else{Y=F+-1|0;break}}else Y=-1;while(0);if((Y|0)==(r|0))break;else L=Y}}}n=n+1|0;if(n>>>0>=J>>>0){W=r;break}}}else W=r;while(0);J=f[b>>2]|0;f[(f[g>>2]|0)+(W<<2)>>2]=J-(f[e>>2]|0)>>2;f[d>>2]=W;n=J;if((f[a>>2]|0)>>>0>n>>>0){f[n>>2]=W;f[b>>2]=n+4;Z=I}else{dh(e,d);Z=f[k>>2]|0}if((((W|0)!=-1?(n=(((W>>>0)%3|0|0)==0?2:-1)+W|0,(n|0)!=-1):0)?(J=f[(f[Z+12>>2]|0)+(n<<2)>>2]|0,(J|0)!=-1):0)?(n=J+(((J>>>0)%3|0|0)==0?2:-1)|0,(n|0)!=-1&(n|0)!=(W|0)):0){J=W;j=n;n=Z;while(1){w=f[m>>2]|0;N=f[p>>2]|0;L=N;c:do if((w|0)==(N|0))B=70;else{s=(w-N|0)/144|0;v=0;while(1){t=f[L+(v*144|0)+32>>2]|0;v=v+1|0;if((f[t+(j<<2)>>2]|0)!=(f[t+(J<<2)>>2]|0))break;if(v>>>0>=s>>>0){B=70;break c}}s=f[b>>2]|0;f[(f[g>>2]|0)+(j<<2)>>2]=s-(f[e>>2]|0)>>2;f[d>>2]=j;v=s;if((f[a>>2]|0)>>>0>v>>>0){f[v>>2]=j;f[b>>2]=v+4;_=n}else{dh(e,d);_=f[k>>2]|0}$=_}while(0);if((B|0)==70){B=0;L=f[g>>2]|0;f[L+(j<<2)>>2]=f[L+(J<<2)>>2];$=n}if((j|0)==-1){aa=$;break a}L=(((j>>>0)%3|0|0)==0?2:-1)+j|0;if((L|0)==-1){aa=$;break a}N=f[(f[$+12>>2]|0)+(L<<2)>>2]|0;if((N|0)==-1){aa=$;break a}L=N+(((N>>>0)%3|0|0)==0?2:-1)|0;if((L|0)!=-1&(L|0)!=(W|0)){N=j;j=L;n=$;J=N}else{aa=$;break}}}else aa=Z}else aa=I;while(0);l=l+1|0;if((l|0)>=((f[aa+28>>2]|0)-(f[aa+24>>2]|0)>>2|0))break;else I=aa}}aa=f[i>>2]|0;I=f[aa+44>>2]|0;l=f[I+100>>2]|0;Z=f[I+96>>2]|0;if((l|0)==(Z|0))ba=aa;else{$=h+4|0;W=h+8|0;B=0;_=I;I=l;l=Z;Z=aa;k=aa;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;aa=(f[g>>2]|0)+(B*3<<2)|0;f[h>>2]=f[aa>>2];f[h+4>>2]=f[aa+4>>2];f[h+8>>2]=f[aa+8>>2];aa=_+96|0;a=_+100|0;p=(I-l|0)/12|0;m=l;Y=B;B=B+1|0;if(Y>>>0

>>0){ca=m;da=I;ea=l;fa=Z;ga=_;ha=k}else{X=I;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;if(B>>>0<=p>>>0)if(B>>>0

>>0?(M=m+(B*12|0)|0,(M|0)!=(X|0)):0){r=X+(~(((X+-12-M|0)>>>0)/12|0)*12|0)|0;f[a>>2]=r;ia=m;ja=k;ka=_;la=r;ma=l}else{ia=m;ja=k;ka=_;la=I;ma=l}else{wf(aa,B-p|0,d);p=f[i>>2]|0;m=f[p+44>>2]|0;ia=f[aa>>2]|0;ja=p;ka=m;la=f[m+100>>2]|0;ma=f[m+96>>2]|0}ca=ia;da=la;ea=ma;fa=ja;ga=ka;ha=ja}f[ca+(Y*12|0)>>2]=f[h>>2];f[ca+(Y*12|0)+4>>2]=f[$>>2];f[ca+(Y*12|0)+8>>2]=f[W>>2];if(B>>>0>=((da-ea|0)/12|0)>>>0){ba=fa;break}else{_=ga;I=da;l=ea;Z=fa;k=ha}}}ha=f[e>>2]|0;f[(f[ba+4>>2]|0)+80>>2]=(f[b>>2]|0)-ha>>2;ba=f[g>>2]|0;if(!ba)na=ha;else{ha=f[K>>2]|0;if((ha|0)!=(ba|0))f[K>>2]=ha+(~((ha+-4-ba|0)>>>2)<<2);ip(ba);na=f[e>>2]|0}if(na|0){e=f[b>>2]|0;if((e|0)!=(na|0))f[b>>2]=e+(~((e+-4-na|0)>>>2)<<2);ip(na)}u=c;return 1}function Bb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;c=(a|0)!=0;o=l+40|0;q=o;r=l+39|0;l=m+4|0;s=0;t=0;v=0;a:while(1){do if((t|0)>-1)if((s|0)>(2147483647-t|0)){w=pp()|0;f[w>>2]=75;x=-1;break}else{x=s+t|0;break}else x=t;while(0);w=f[j>>2]|0;y=b[w>>0]|0;if(!(y<<24>>24)){z=88;break}else{A=y;B=w}b:while(1){switch(A<<24>>24){case 37:{C=B;D=B;z=9;break b;break}case 0:{E=B;break b;break}default:{}}y=B+1|0;f[j>>2]=y;A=b[y>>0]|0;B=y}c:do if((z|0)==9)while(1){z=0;if((b[D+1>>0]|0)!=37){E=C;break c}y=C+1|0;D=D+2|0;f[j>>2]=D;if((b[D>>0]|0)!=37){E=y;break}else{C=y;z=9}}while(0);y=E-w|0;if(c)ln(a,w,y);if(y|0){s=y;t=x;continue}y=(To(b[(f[j>>2]|0)+1>>0]|0)|0)==0;F=f[j>>2]|0;if(!y?(b[F+2>>0]|0)==36:0){G=(b[F+1>>0]|0)+-48|0;H=1;J=3}else{G=-1;H=v;J=1}y=F+J|0;f[j>>2]=y;F=b[y>>0]|0;K=(F<<24>>24)+-32|0;if(K>>>0>31|(1<>24)+-32|K;P=F+1|0;f[j>>2]=P;Q=b[P>>0]|0;R=(Q<<24>>24)+-32|0;if(R>>>0>31|(1<>24==42){if((To(b[N+1>>0]|0)|0)!=0?(F=f[j>>2]|0,(b[F+2>>0]|0)==36):0){O=F+1|0;f[h+((b[O>>0]|0)+-48<<2)>>2]=10;S=f[g+((b[O>>0]|0)+-48<<3)>>2]|0;T=1;U=F+3|0}else{if(H|0){V=-1;break}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);O=f[F>>2]|0;f[e>>2]=F+4;W=O}else W=0;S=W;T=0;U=(f[j>>2]|0)+1|0}f[j>>2]=U;O=(S|0)<0;X=O?0-S|0:S;Y=O?L|8192:L;Z=T;_=U}else{O=Mj(j)|0;if((O|0)<0){V=-1;break}X=O;Y=L;Z=H;_=f[j>>2]|0}do if((b[_>>0]|0)==46){if((b[_+1>>0]|0)!=42){f[j>>2]=_+1;O=Mj(j)|0;$=O;aa=f[j>>2]|0;break}if(To(b[_+2>>0]|0)|0?(O=f[j>>2]|0,(b[O+3>>0]|0)==36):0){F=O+2|0;f[h+((b[F>>0]|0)+-48<<2)>>2]=10;K=f[g+((b[F>>0]|0)+-48<<3)>>2]|0;F=O+4|0;f[j>>2]=F;$=K;aa=F;break}if(Z|0){V=-1;break a}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);K=f[F>>2]|0;f[e>>2]=F+4;ba=K}else ba=0;K=(f[j>>2]|0)+2|0;f[j>>2]=K;$=ba;aa=K}else{$=-1;aa=_}while(0);K=0;F=aa;while(1){if(((b[F>>0]|0)+-65|0)>>>0>57){V=-1;break a}O=F;F=F+1|0;f[j>>2]=F;ca=b[(b[O>>0]|0)+-65+(13456+(K*58|0))>>0]|0;da=ca&255;if((da+-1|0)>>>0>=8)break;else K=da}if(!(ca<<24>>24)){V=-1;break}O=(G|0)>-1;do if(ca<<24>>24==19)if(O){V=-1;break a}else z=50;else{if(O){f[h+(G<<2)>>2]=da;P=g+(G<<3)|0;Q=f[P+4>>2]|0;y=k;f[y>>2]=f[P>>2];f[y+4>>2]=Q;z=50;break}if(!c){V=0;break a}Qd(k,da,e);ea=f[j>>2]|0}while(0);if((z|0)==50){z=0;if(c)ea=F;else{s=0;t=x;v=Z;continue}}O=b[ea+-1>>0]|0;Q=(K|0)!=0&(O&15|0)==3?O&-33:O;O=Y&-65537;y=(Y&8192|0)==0?Y:O;d:do switch(Q|0){case 110:{switch((K&255)<<24>>24){case 0:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 1:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 2:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}case 3:{d[f[k>>2]>>1]=x;s=0;t=x;v=Z;continue a;break}case 4:{b[f[k>>2]>>0]=x;s=0;t=x;v=Z;continue a;break}case 6:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 7:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}default:{s=0;t=x;v=Z;continue a}}break}case 112:{fa=120;ga=$>>>0>8?$:8;ha=y|8;z=62;break}case 88:case 120:{fa=Q;ga=$;ha=y;z=62;break}case 111:{P=k;R=f[P>>2]|0;ia=f[P+4>>2]|0;P=Qj(R,ia,o)|0;ja=q-P|0;ka=P;la=0;ma=13920;na=(y&8|0)==0|($|0)>(ja|0)?$:ja+1|0;oa=y;pa=R;qa=ia;z=68;break}case 105:case 100:{ia=k;R=f[ia>>2]|0;ja=f[ia+4>>2]|0;if((ja|0)<0){ia=Tl(0,0,R|0,ja|0)|0;P=I;ra=k;f[ra>>2]=ia;f[ra+4>>2]=P;sa=1;ta=13920;ua=ia;va=P;z=67;break d}else{sa=(y&2049|0)!=0&1;ta=(y&2048|0)==0?((y&1|0)==0?13920:13922):13921;ua=R;va=ja;z=67;break d}break}case 117:{ja=k;sa=0;ta=13920;ua=f[ja>>2]|0;va=f[ja+4>>2]|0;z=67;break}case 99:{b[r>>0]=f[k>>2];wa=r;xa=0;ya=13920;za=o;Aa=1;Ba=O;break}case 109:{ja=pp()|0;Ca=qn(f[ja>>2]|0)|0;z=72;break}case 115:{ja=f[k>>2]|0;Ca=ja|0?ja:13930;z=72;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Da=-1;Ea=m;z=76;break}case 83:{ja=f[k>>2]|0;if(!$){Ti(a,32,X,0,y);Fa=0;z=85}else{Da=$;Ea=ja;z=76}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{s=ub(a,+p[k>>3],X,$,y,Q)|0;t=x;v=Z;continue a;break}default:{wa=w;xa=0;ya=13920;za=o;Aa=$;Ba=y}}while(0);e:do if((z|0)==62){z=0;w=k;Q=f[w>>2]|0;K=f[w+4>>2]|0;w=xj(Q,K,o,fa&32)|0;F=(ha&8|0)==0|(Q|0)==0&(K|0)==0;ka=w;la=F?0:2;ma=F?13920:13920+(fa>>4)|0;na=ga;oa=ha;pa=Q;qa=K;z=68}else if((z|0)==67){z=0;ka=$h(ua,va,o)|0;la=sa;ma=ta;na=$;oa=y;pa=ua;qa=va;z=68}else if((z|0)==72){z=0;K=_e(Ca,0,$)|0;Q=(K|0)==0;wa=Ca;xa=0;ya=13920;za=Q?Ca+$|0:K;Aa=Q?$:K-Ca|0;Ba=O}else if((z|0)==76){z=0;K=Ea;Q=0;F=0;while(1){w=f[K>>2]|0;if(!w){Ga=Q;Ha=F;break}ja=an(n,w)|0;if((ja|0)<0|ja>>>0>(Da-Q|0)>>>0){Ga=Q;Ha=ja;break}w=ja+Q|0;if(Da>>>0>w>>>0){K=K+4|0;Q=w;F=ja}else{Ga=w;Ha=ja;break}}if((Ha|0)<0){V=-1;break a}Ti(a,32,X,Ga,y);if(!Ga){Fa=0;z=85}else{F=Ea;Q=0;while(1){K=f[F>>2]|0;if(!K){Fa=Ga;z=85;break e}ja=an(n,K)|0;Q=ja+Q|0;if((Q|0)>(Ga|0)){Fa=Ga;z=85;break e}ln(a,n,ja);if(Q>>>0>=Ga>>>0){Fa=Ga;z=85;break}else F=F+4|0}}}while(0);if((z|0)==68){z=0;O=(pa|0)!=0|(qa|0)!=0;F=(na|0)!=0|O;Q=q-ka+((O^1)&1)|0;wa=F?ka:o;xa=la;ya=ma;za=o;Aa=F?((na|0)>(Q|0)?na:Q):na;Ba=(na|0)>-1?oa&-65537:oa}else if((z|0)==85){z=0;Ti(a,32,X,Fa,y^8192);s=(X|0)>(Fa|0)?X:Fa;t=x;v=Z;continue}Q=za-wa|0;F=(Aa|0)<(Q|0)?Q:Aa;O=F+xa|0;ja=(X|0)<(O|0)?O:X;Ti(a,32,ja,O,Ba);ln(a,ya,xa);Ti(a,48,ja,O,Ba^65536);Ti(a,48,F,Q,0);ln(a,wa,Q);Ti(a,32,ja,O,Ba^8192);s=ja;t=x;v=Z}f:do if((z|0)==88)if(!a)if(v){Z=1;while(1){t=f[h+(Z<<2)>>2]|0;if(!t){Ia=Z;break}Qd(g+(Z<<3)|0,t,e);t=Z+1|0;if((Z|0)<9)Z=t;else{Ia=t;break}}if((Ia|0)<10){Z=Ia;while(1){if(f[h+(Z<<2)>>2]|0){V=-1;break f}if((Z|0)<9)Z=Z+1|0;else{V=1;break}}}else V=1}else V=0;else V=x;while(0);u=i;return V|0}function Cb(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;c=u;u=u+32|0;d=c+20|0;e=c+16|0;g=c+4|0;i=c;j=a+36|0;k=a+37|0;l=a+32|0;m=f[l>>2]|0;do if((((h[j>>0]|0)<<8|(h[k>>0]|0))&65535)<514){n=m+8|0;o=f[n>>2]|0;p=f[n+4>>2]|0;n=m+16|0;q=n;r=f[q>>2]|0;s=f[q+4>>2]|0;q=Rl(r|0,s|0,4,0)|0;t=I;if((p|0)<(t|0)|(p|0)==(t|0)&o>>>0>>0){v=0;u=c;return v|0}w=(f[m>>2]|0)+r|0;x=h[w>>0]|h[w+1>>0]<<8|h[w+2>>0]<<16|h[w+3>>0]<<24;f[d>>2]=x;w=n;f[w>>2]=q;f[w+4>>2]=t;t=Rl(r|0,s|0,8,0)|0;s=I;if((p|0)<(s|0)|(p|0)==(s|0)&o>>>0>>0){v=0;u=c;return v|0}else{o=(f[m>>2]|0)+q|0;f[e>>2]=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;o=n;f[o>>2]=t;f[o+4>>2]=s;y=x;break}}else{if(!(Ph(d,m)|0)){v=0;u=c;return v|0}if(Ph(e,f[l>>2]|0)|0){y=f[d>>2]|0;break}else{v=0;u=c;return v|0}}while(0);if(y>>>0>1431655765){v=0;u=c;return v|0}m=f[e>>2]|0;x=_k(y|0,0,3,0)|0;s=I;if(s>>>0<0|(s|0)==0&x>>>0>>0){v=0;u=c;return v|0}x=f[l>>2]|0;s=x+8|0;o=f[s+4>>2]|0;t=x+16|0;n=t;q=f[n>>2]|0;p=f[n+4>>2]|0;if(!((o|0)>(p|0)|((o|0)==(p|0)?(f[s>>2]|0)>>>0>q>>>0:0))){v=0;u=c;return v|0}s=b[(f[x>>2]|0)+q>>0]|0;o=Rl(q|0,p|0,1,0)|0;n=I;r=t;f[r>>2]=o;f[r+4>>2]=n;a:do if(!(s<<24>>24)){if(!(qe(a,y)|0)){v=0;u=c;return v|0}}else{if(m>>>0<256){if(!y)break;r=a+44|0;t=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;z=x+8|0;A=f[z>>2]|0;B=f[z+4>>2]|0;b:do if((B|0)>(n|0)|(B|0)==(n|0)&A>>>0>o>>>0){z=0;C=x;D=o;E=n;F=B;G=A;H=y;while(1){J=C+16|0;K=f[C>>2]|0;L=b[K+D>>0]|0;M=Rl(D|0,E|0,1,0)|0;N=I;O=J;f[O>>2]=M;f[O+4>>2]=N;f[g>>2]=L&255;if(!((F|0)>(N|0)|(F|0)==(N|0)&G>>>0>M>>>0))break b;N=b[K+M>>0]|0;M=Rl(D|0,E|0,2,0)|0;L=I;O=J;f[O>>2]=M;f[O+4>>2]=L;f[t>>2]=N&255;if(!((F|0)>(L|0)|(F|0)==(L|0)&G>>>0>M>>>0))break b;L=b[K+M>>0]|0;M=Rl(D|0,E|0,3,0)|0;K=J;f[K>>2]=M;f[K+4>>2]=I;f[w>>2]=L&255;L=f[r>>2]|0;K=L+100|0;M=f[K>>2]|0;if((M|0)==(f[L+104>>2]|0)){Kg(L+96|0,g);P=f[d>>2]|0}else{f[M>>2]=f[g>>2];f[M+4>>2]=f[g+4>>2];f[M+8>>2]=f[g+8>>2];f[K>>2]=(f[K>>2]|0)+12;P=H}z=z+1|0;if(z>>>0>=P>>>0)break a;C=f[l>>2]|0;K=C+16|0;D=f[K>>2]|0;E=f[K+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;K=C+8|0;G=f[K>>2]|0;F=f[K+4>>2]|0;if(!((F|0)>(E|0)|(F|0)==(E|0)&G>>>0>D>>>0))break;else H=P}}while(0);v=0;u=c;return v|0}if(m>>>0<65536){if(!y)break;r=a+44|0;w=g+4|0;t=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;A=x+8|0;B=f[A>>2]|0;H=f[A+4>>2]|0;A=Rl(q|0,p|0,3,0)|0;D=I;c:do if(!((H|0)<(D|0)|(H|0)==(D|0)&B>>>0>>0)){G=0;E=x;F=o;C=A;z=D;K=n;M=H;L=B;J=y;while(1){N=E+16|0;O=f[E>>2]|0;Q=O+F|0;R=h[Q>>0]|h[Q+1>>0]<<8;Q=N;f[Q>>2]=C;f[Q+4>>2]=z;f[g>>2]=R&65535;R=Rl(F|0,K|0,4,0)|0;Q=I;if((M|0)<(Q|0)|(M|0)==(Q|0)&L>>>0>>0)break c;S=O+C|0;T=h[S>>0]|h[S+1>>0]<<8;S=N;f[S>>2]=R;f[S+4>>2]=Q;f[w>>2]=T&65535;T=Rl(F|0,K|0,6,0)|0;Q=I;if((M|0)<(Q|0)|(M|0)==(Q|0)&L>>>0>>0)break c;S=O+R|0;R=h[S>>0]|h[S+1>>0]<<8;S=N;f[S>>2]=T;f[S+4>>2]=Q;f[t>>2]=R&65535;R=f[r>>2]|0;Q=R+100|0;S=f[Q>>2]|0;if((S|0)==(f[R+104>>2]|0)){Kg(R+96|0,g);U=f[d>>2]|0}else{f[S>>2]=f[g>>2];f[S+4>>2]=f[g+4>>2];f[S+8>>2]=f[g+8>>2];f[Q>>2]=(f[Q>>2]|0)+12;U=J}G=G+1|0;if(G>>>0>=U>>>0)break a;E=f[l>>2]|0;Q=E+16|0;F=f[Q>>2]|0;K=f[Q+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Q=E+8|0;L=f[Q>>2]|0;M=f[Q+4>>2]|0;C=Rl(F|0,K|0,2,0)|0;z=I;if((M|0)<(z|0)|(M|0)==(z|0)&L>>>0>>0)break;else J=U}}while(0);v=0;u=c;return v|0}r=a+44|0;if((f[(f[r>>2]|0)+80>>2]|0)>>>0<2097152?(((h[j>>0]|0)<<8|(h[k>>0]|0))&65535)>513:0){if(!y)break;t=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;d:do if(Ph(i,x)|0){B=0;do{f[g>>2]=f[i>>2];if(!(Ph(i,f[l>>2]|0)|0))break d;f[t>>2]=f[i>>2];if(!(Ph(i,f[l>>2]|0)|0))break d;f[w>>2]=f[i>>2];H=f[r>>2]|0;D=H+100|0;A=f[D>>2]|0;if((A|0)==(f[H+104>>2]|0))Kg(H+96|0,g);else{f[A>>2]=f[g>>2];f[A+4>>2]=f[g+4>>2];f[A+8>>2]=f[g+8>>2];f[D>>2]=(f[D>>2]|0)+12}B=B+1|0;if(B>>>0>=(f[d>>2]|0)>>>0)break a;D=f[l>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0}while(Ph(i,D)|0)}while(0);v=0;u=c;return v|0}if(y|0){w=g+4|0;t=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;B=x+8|0;D=f[B>>2]|0;A=f[B+4>>2]|0;B=Rl(q|0,p|0,5,0)|0;H=I;e:do if(!((A|0)<(H|0)|(A|0)==(H|0)&D>>>0>>0)){J=0;C=x;L=o;z=B;M=H;K=n;F=A;E=D;G=y;while(1){Q=C+16|0;S=f[C>>2]|0;R=S+L|0;T=h[R>>0]|h[R+1>>0]<<8|h[R+2>>0]<<16|h[R+3>>0]<<24;R=Q;f[R>>2]=z;f[R+4>>2]=M;f[g>>2]=T;T=Rl(L|0,K|0,8,0)|0;R=I;if((F|0)<(R|0)|(F|0)==(R|0)&E>>>0>>0)break e;N=S+z|0;O=h[N>>0]|h[N+1>>0]<<8|h[N+2>>0]<<16|h[N+3>>0]<<24;N=Q;f[N>>2]=T;f[N+4>>2]=R;f[w>>2]=O;O=Rl(L|0,K|0,12,0)|0;R=I;if((F|0)<(R|0)|(F|0)==(R|0)&E>>>0>>0)break e;N=S+T|0;T=h[N>>0]|h[N+1>>0]<<8|h[N+2>>0]<<16|h[N+3>>0]<<24;N=Q;f[N>>2]=O;f[N+4>>2]=R;f[t>>2]=T;T=f[r>>2]|0;R=T+100|0;N=f[R>>2]|0;if((N|0)==(f[T+104>>2]|0)){Kg(T+96|0,g);V=f[d>>2]|0}else{f[N>>2]=f[g>>2];f[N+4>>2]=f[g+4>>2];f[N+8>>2]=f[g+8>>2];f[R>>2]=(f[R>>2]|0)+12;V=G}J=J+1|0;if(J>>>0>=V>>>0)break a;C=f[l>>2]|0;R=C+16|0;L=f[R>>2]|0;K=f[R+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;R=C+8|0;E=f[R>>2]|0;F=f[R+4>>2]|0;z=Rl(L|0,K|0,4,0)|0;M=I;if((F|0)<(M|0)|(F|0)==(M|0)&E>>>0>>0)break;else G=V}}while(0);v=0;u=c;return v|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[e>>2];v=1;u=c;return v|0}function Db(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Na,D=0,E=0.0,F=0,G=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=_k(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Rl(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){m=b[o>>0]|0;q=g+(r<<3)|0;f[q>>2]=m;f[q+4>>2]=((m|0)<0)<<31>>31;r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=_k(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Rl(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=g+(t<<3)|0;f[k>>2]=h[m>>0];f[k+4>>2]=0;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=_k(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Rl(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){o=d[l>>1]|0;k=g+(q<<3)|0;f[k>>2]=o;f[k+4>>2]=((o|0)<0)<<31>>31;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=_k(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Rl(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=j[r>>1];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(r<<3)|0,0,(e<<24>>24)-r<<3|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=_k(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Rl(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){l=f[t>>2]|0;m=g+(o<<3)|0;f[m>>2]=l;f[m+4>>2]=((l|0)<0)<<31>>31;o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=_k(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Rl(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){r=g+(m<<3)|0;f[r>>2]=f[q>>2];f[r+4>>2]=0;m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=_k(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Rl(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){t=k;r=f[t+4>>2]|0;z=g+(l<<3)|0;f[z>>2]=f[t>>2];f[z+4>>2]=r;l=l+1|0;r=b[q>>0]|0;if((l|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){A=r;break}else k=k+8|0}}else A=m;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;r=_k(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;z=Rl(r|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+z|0;z=0;while(1){q=o;r=f[q+4>>2]|0;t=g+(z<<3)|0;f[t>>2]=f[q>>2];f[t+4>>2]=r;z=z+1|0;r=b[k>>0]|0;if((z|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){B=r;break}else o=o+8|0}}else B=l;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 9:{o=a+24|0;z=b[o>>0]|0;if((z<<24>>24>e<<24>>24?e:z)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;r=_k(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Rl(r|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){C=$(n[m>>2]);k=+K(+C)>=1.0?(+C>0.0?~~+Y(+J(+C/4294967296.0),4294967295.0)>>>0:~~+W((+C-+(~~+C>>>0))/4294967296.0)>>>0):0;r=g+(t<<3)|0;f[r>>2]=~~+C>>>0;f[r+4>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else m=m+4|0}}else D=z;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=_k(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=Rl(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+r|0;r=0;while(1){E=+p[l>>3];o=+K(E)>=1.0?(E>0.0?~~+Y(+J(E/4294967296.0),4294967295.0)>>>0:~~+W((E-+(~~E>>>0))/4294967296.0)>>>0):0;k=g+(r<<3)|0;f[k>>2]=~~E>>>0;f[k+4>>2]=o;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){F=o;break}else l=l+8|0}}else F=t;l=F<<24>>24;if(F<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 11:{l=a+24|0;r=b[l>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){m=f[f[a>>2]>>2]|0;z=a+40|0;o=_k(f[z>>2]|0,f[z+4>>2]|0,f[c>>2]|0,0)|0;z=a+48|0;k=Rl(o|0,I|0,f[z>>2]|0,f[z+4>>2]|0)|0;z=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=h[z>>0];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){G=m;break}else z=z+1|0}}else G=r;z=G<<24>>24;if(G<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(z<<3)|0,0,(e<<24>>24)-z<<3|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Eb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;c=u;u=u+16|0;d=c+8|0;e=c;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=c;return}g=a+56|0;h=f[g>>2]|0;if((h|0)==(f[a+60>>2]|0)){dh(a+52|0,b);i=b}else{f[h>>2]=f[b>>2];f[g>>2]=h+4;i=b}b=a+88|0;f[b>>2]=0;h=f[a>>2]|0;g=f[i>>2]|0;j=g+1|0;if((g|0)!=-1){k=((j>>>0)%3|0|0)==0?g+-2|0:j;if((k|0)==-1)l=-1;else l=f[(f[h>>2]|0)+(k<<2)>>2]|0;k=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((k|0)==-1){m=l;n=-1}else{m=l;n=f[(f[h>>2]|0)+(k<<2)>>2]|0}}else{m=-1;n=-1}k=a+24|0;h=f[k>>2]|0;l=h+(m>>>5<<2)|0;g=1<<(m&31);j=f[l>>2]|0;if(!(j&g)){f[l>>2]=j|g;g=f[i>>2]|0;j=g+1|0;if((g|0)==-1)o=-1;else o=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=o;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[a+48>>2]|0;f[d>>2]=j;g=f[o+4>>2]|0;o=g+4|0;l=f[o>>2]|0;if((l|0)==(f[g+8>>2]|0))dh(g,d);else{f[l>>2]=j;f[o>>2]=l+4}l=a+40|0;o=f[l>>2]|0;j=o+4|0;g=f[j>>2]|0;if((g|0)==(f[o+8>>2]|0)){dh(o,e);p=f[l>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;p=o}o=p+24|0;f[(f[p+12>>2]|0)+(m<<2)>>2]=f[o>>2];f[o>>2]=(f[o>>2]|0)+1;q=f[k>>2]|0}else q=h;h=q+(n>>>5<<2)|0;q=1<<(n&31);o=f[h>>2]|0;if(!(o&q)){f[h>>2]=o|q;q=f[i>>2]|0;do if((q|0)!=-1)if(!((q>>>0)%3|0)){r=q+2|0;break}else{r=q+-1|0;break}else r=-1;while(0);f[e>>2]=r;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=q;o=f[r+4>>2]|0;r=o+4|0;h=f[r>>2]|0;if((h|0)==(f[o+8>>2]|0))dh(o,d);else{f[h>>2]=q;f[r>>2]=h+4}h=a+40|0;r=f[h>>2]|0;q=r+4|0;o=f[q>>2]|0;if((o|0)==(f[r+8>>2]|0)){dh(r,e);s=f[h>>2]|0}else{f[o>>2]=f[e>>2];f[q>>2]=o+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(n<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1}r=f[i>>2]|0;if((r|0)==-1)t=-1;else t=f[(f[f[a>>2]>>2]|0)+(r<<2)>>2]|0;r=(f[k>>2]|0)+(t>>>5<<2)|0;n=1<<(t&31);s=f[r>>2]|0;if(!(n&s)){f[r>>2]=s|n;n=f[i>>2]|0;f[e>>2]=n;s=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((n>>>0)/3|0)*12|0)+(((n>>>0)%3|0)<<2)>>2]|0;n=f[a+48>>2]|0;f[d>>2]=s;r=f[n+4>>2]|0;n=r+4|0;o=f[n>>2]|0;if((o|0)==(f[r+8>>2]|0))dh(r,d);else{f[o>>2]=s;f[n>>2]=o+4}o=a+40|0;n=f[o>>2]|0;s=n+4|0;r=f[s>>2]|0;if((r|0)==(f[n+8>>2]|0)){dh(n,e);v=f[o>>2]|0}else{f[r>>2]=f[e>>2];f[s>>2]=r+4;v=n}n=v+24|0;f[(f[v+12>>2]|0)+(t<<2)>>2]=f[n>>2];f[n>>2]=(f[n>>2]|0)+1}n=f[b>>2]|0;a:do if((n|0)<3){t=a+12|0;v=a+44|0;r=a+48|0;s=a+40|0;o=a+92|0;q=n;while(1){h=q;while(1){w=a+52+(h*12|0)+4|0;x=f[w>>2]|0;if((f[a+52+(h*12|0)>>2]|0)!=(x|0))break;if((h|0)<2)h=h+1|0;else break a}m=x+-4|0;p=f[m>>2]|0;f[w>>2]=m;f[b>>2]=h;f[i>>2]=p;if((p|0)==-1)break;m=(p>>>0)/3|0;g=f[t>>2]|0;do if(!(f[g+(m>>>5<<2)>>2]&1<<(m&31))){j=p;l=g;b:while(1){y=(j>>>0)/3|0;z=l+(y>>>5<<2)|0;f[z>>2]=1<<(y&31)|f[z>>2];z=f[i>>2]|0;if((z|0)==-1)A=-1;else A=f[(f[f[a>>2]>>2]|0)+(z<<2)>>2]|0;y=(f[k>>2]|0)+(A>>>5<<2)|0;B=1<<(A&31);C=f[y>>2]|0;if(!(B&C)){f[y>>2]=C|B;B=f[i>>2]|0;f[e>>2]=B;C=f[(f[(f[v>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=C;y=f[B+4>>2]|0;B=y+4|0;D=f[B>>2]|0;if((D|0)==(f[y+8>>2]|0))dh(y,d);else{f[D>>2]=C;f[B>>2]=D+4}D=f[s>>2]|0;B=D+4|0;C=f[B>>2]|0;if((C|0)==(f[D+8>>2]|0)){dh(D,e);E=f[s>>2]|0}else{f[C>>2]=f[e>>2];f[B>>2]=C+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;F=f[i>>2]|0}else F=z;z=f[a>>2]|0;if((F|0)==-1){G=93;break}D=F+1|0;C=((D>>>0)%3|0|0)==0?F+-2|0:D;if((C|0)==-1)H=-1;else H=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((C|0)==-1)I=-1;else I=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(H|0)==-1;D=C?-1:(H>>>0)/3|0;B=(I|0)==-1;y=B?-1:(I>>>0)/3|0;if(C)J=1;else J=(f[(f[t>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)|0)!=0;do if(B)if(J){G=93;break b}else G=82;else{if(f[(f[t>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)|0)if(J){G=93;break b}else{G=82;break}D=f[(f[z>>2]|0)+(I<<2)>>2]|0;if(!(1<<(D&31)&f[(f[k>>2]|0)+(D>>>5<<2)>>2])){K=(f[o>>2]|0)+(D<<2)|0;D=f[K>>2]|0;f[K>>2]=D+1;L=(D|0)>0?1:2}else L=0;if(J?(L|0)<=(f[b>>2]|0):0){M=I;break}f[d>>2]=I;D=a+52+(L*12|0)+4|0;K=f[D>>2]|0;if((K|0)==(f[a+52+(L*12|0)+8>>2]|0))dh(a+52+(L*12|0)|0,d);else{f[K>>2]=I;f[D>>2]=K+4}if((f[b>>2]|0)>(L|0))f[b>>2]=L;if(J){G=93;break b}else G=82}while(0);if((G|0)==82){G=0;if(C)N=-1;else N=f[(f[f[a>>2]>>2]|0)+(H<<2)>>2]|0;if(!(1<<(N&31)&f[(f[k>>2]|0)+(N>>>5<<2)>>2])){z=(f[o>>2]|0)+(N<<2)|0;y=f[z>>2]|0;f[z>>2]=y+1;O=(y|0)>0?1:2}else O=0;if((O|0)>(f[b>>2]|0))break;else M=H}f[i>>2]=M;j=M;l=f[t>>2]|0}if((G|0)==93){G=0;P=f[b>>2]|0;break}f[d>>2]=H;l=a+52+(O*12|0)+4|0;j=f[l>>2]|0;if((j|0)==(f[a+52+(O*12|0)+8>>2]|0))dh(a+52+(O*12|0)|0,d);else{f[j>>2]=H;f[l>>2]=j+4}j=f[b>>2]|0;if((j|0)>(O|0)){f[b>>2]=O;Q=O}else Q=j;P=Q}else P=h;while(0);if((P|0)<3)q=P;else break a}u=c;return}while(0);f[i>>2]=-1;u=c;return}function Fb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=_k(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Rl(o|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=l+q|0;q=0;while(1){d[g+(q<<1)>>1]=b[m>>0]|0;q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){r=l;break}else m=m+1|0}}else r=k;m=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 2:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=_k(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Rl(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){d[g+(s<<1)>>1]=h[l>>0]|0;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){t=j;break}else l=l+1|0}}else t=q;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=_k(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Rl(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=d[k>>1]|0;o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else k=k+2|0}}else u=s;k=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 4:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=_k(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Rl(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=d[q>>1]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else q=q+2|0}}else v=o;q=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}case 5:{q=a+24|0;j=b[q>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;s=a+40|0;l=_k(f[s>>2]|0,f[s+4>>2]|0,f[c>>2]|0,0)|0;s=a+48|0;m=Rl(l|0,I|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=k+m|0;m=0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;k=b[q>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){w=k;break}else s=s+4|0}}else w=j;s=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 6:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=_k(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;l=Rl(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+l|0;l=0;while(1){d[g+(l<<1)>>1]=f[o>>2];l=l+1|0;q=b[s>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else o=o+4|0}}else x=m;o=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 7:{o=a+24|0;l=b[o>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){s=f[f[a>>2]>>2]|0;j=a+40|0;q=_k(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=Rl(q|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=s+k|0;k=0;while(1){d[g+(k<<1)>>1]=f[j>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){y=s;break}else j=j+8|0}}else y=l;j=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 8:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=_k(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Rl(s|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+q|0;q=0;while(1){d[g+(q<<1)>>1]=f[m>>2];q=q+1|0;o=b[j>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else m=m+8|0}}else z=k;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 9:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=_k(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Rl(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){j=~~$(n[l>>2])&65535;d[g+(s<<1)>>1]=j;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){A=j;break}else l=l+4|0}}else A=q;l=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 10:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=_k(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Rl(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=~~+p[k>>3];o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else k=k+8|0}}else B=s;k=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=_k(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Rl(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=h[q>>0]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){C=l;break}else q=q+1|0}}else C=o;q=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Gb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=_k(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Rl(o|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=l+q|0;q=0;while(1){d[g+(q<<1)>>1]=b[m>>0]|0;q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){r=l;break}else m=m+1|0}}else r=k;m=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 2:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=_k(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Rl(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){d[g+(s<<1)>>1]=h[l>>0]|0;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){t=j;break}else l=l+1|0}}else t=q;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=_k(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Rl(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=d[k>>1]|0;o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else k=k+2|0}}else u=s;k=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 4:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=_k(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Rl(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=d[q>>1]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else q=q+2|0}}else v=o;q=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}case 5:{q=a+24|0;j=b[q>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;s=a+40|0;l=_k(f[s>>2]|0,f[s+4>>2]|0,f[c>>2]|0,0)|0;s=a+48|0;m=Rl(l|0,I|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=k+m|0;m=0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;k=b[q>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){w=k;break}else s=s+4|0}}else w=j;s=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 6:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=_k(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;l=Rl(k|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+l|0;l=0;while(1){d[g+(l<<1)>>1]=f[o>>2];l=l+1|0;q=b[s>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else o=o+4|0}}else x=m;o=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 7:{o=a+24|0;l=b[o>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){s=f[f[a>>2]>>2]|0;j=a+40|0;q=_k(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=Rl(q|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=s+k|0;k=0;while(1){d[g+(k<<1)>>1]=f[j>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){y=s;break}else j=j+8|0}}else y=l;j=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 8:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=_k(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=Rl(s|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+q|0;q=0;while(1){d[g+(q<<1)>>1]=f[m>>2];q=q+1|0;o=b[j>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else m=m+8|0}}else z=k;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 9:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=_k(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=Rl(o|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){j=~~$(n[l>>2]);d[g+(s<<1)>>1]=j;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){A=j;break}else l=l+4|0}}else A=q;l=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 10:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=_k(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=Rl(j|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=~~+p[k>>3];o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else k=k+8|0}}else B=s;k=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=_k(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=Rl(m|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=h[q>>0]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){C=l;break}else q=q+1|0}}else C=o;q=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Hb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=_k(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Rl(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=_k(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Rl(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=_k(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Rl(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=_k(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Rl(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=_k(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Rl(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=_k(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Rl(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=_k(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Rl(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=_k(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Rl(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=_k(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Rl(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~$(n[m>>2])>>>0;f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=_k(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Rl(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3]>>>0;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=_k(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Rl(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Ib(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=_k(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Rl(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=_k(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Rl(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=_k(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Rl(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=_k(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Rl(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=_k(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Rl(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=_k(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Rl(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=_k(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Rl(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=_k(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Rl(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=_k(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Rl(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~$(n[m>>2]);f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=_k(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Rl(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=_k(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Rl(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Jb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=_k(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Rl(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=k+o|0;o=0;while(1){b[g+o>>0]=b[l>>0]|0;o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){q=k;break}else l=l+1|0}}else q=j;l=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 2:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=_k(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Rl(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){b[g+r>>0]=b[k>>0]|0;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){s=i;break}else k=k+1|0}}else s=o;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=_k(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Rl(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=d[j>>1];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){t=l;break}else j=j+2|0}}else t=r;j=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 4:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=_k(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Rl(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=d[o>>1];i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else o=o+2|0}}else u=m;o=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}case 5:{o=a+24|0;i=b[o>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){j=f[f[a>>2]>>2]|0;r=a+40|0;k=_k(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;l=Rl(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=j+l|0;l=0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;j=b[o>>0]|0;if((l|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){v=j;break}else r=r+4|0}}else v=i;r=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 6:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;j=_k(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;k=Rl(j|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+k|0;k=0;while(1){b[g+k>>0]=f[m>>2];k=k+1|0;o=b[r>>0]|0;if((k|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){w=o;break}else m=m+4|0}}else w=l;m=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 7:{m=a+24|0;k=b[m>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;i=a+40|0;o=_k(f[i>>2]|0,f[i+4>>2]|0,f[c>>2]|0,0)|0;i=a+48|0;j=Rl(o|0,I|0,f[i>>2]|0,f[i+4>>2]|0)|0;i=r+j|0;j=0;while(1){b[g+j>>0]=f[i>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){x=r;break}else i=i+8|0}}else x=k;i=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 8:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=_k(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Rl(r|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=m+o|0;o=0;while(1){b[g+o>>0]=f[l>>2];o=o+1|0;m=b[i>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else l=l+8|0}}else y=j;l=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 9:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=_k(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Rl(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){i=~~$(n[k>>2])&255;b[g+r>>0]=i;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){z=i;break}else k=k+4|0}}else z=o;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 10:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=_k(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Rl(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=~~+p[j>>3];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else j=j+8|0}}else A=r;j=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 11:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=_k(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Rl(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=b[o>>0]|0;i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else o=o+1|0}}else B=m;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function Kb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=_k(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Rl(m|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=k+o|0;o=0;while(1){b[g+o>>0]=b[l>>0]|0;o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){q=k;break}else l=l+1|0}}else q=j;l=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 2:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=_k(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Rl(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){b[g+r>>0]=b[k>>0]|0;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){s=i;break}else k=k+1|0}}else s=o;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=_k(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Rl(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=d[j>>1];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){t=l;break}else j=j+2|0}}else t=r;j=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 4:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=_k(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Rl(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=d[o>>1];i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else o=o+2|0}}else u=m;o=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}case 5:{o=a+24|0;i=b[o>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){j=f[f[a>>2]>>2]|0;r=a+40|0;k=_k(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;l=Rl(k|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=j+l|0;l=0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;j=b[o>>0]|0;if((l|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){v=j;break}else r=r+4|0}}else v=i;r=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 6:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;j=_k(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;k=Rl(j|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+k|0;k=0;while(1){b[g+k>>0]=f[m>>2];k=k+1|0;o=b[r>>0]|0;if((k|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){w=o;break}else m=m+4|0}}else w=l;m=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 7:{m=a+24|0;k=b[m>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;i=a+40|0;o=_k(f[i>>2]|0,f[i+4>>2]|0,f[c>>2]|0,0)|0;i=a+48|0;j=Rl(o|0,I|0,f[i>>2]|0,f[i+4>>2]|0)|0;i=r+j|0;j=0;while(1){b[g+j>>0]=f[i>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){x=r;break}else i=i+8|0}}else x=k;i=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 8:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=_k(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=Rl(r|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=m+o|0;o=0;while(1){b[g+o>>0]=f[l>>2];o=o+1|0;m=b[i>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else l=l+8|0}}else y=j;l=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 9:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=_k(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Rl(m|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){i=~~$(n[k>>2]);b[g+r>>0]=i;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){z=i;break}else k=k+4|0}}else z=o;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 10:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=_k(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=Rl(i|0,I|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=~~+p[j>>3];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else j=j+8|0}}else A=r;j=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 11:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=_k(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=Rl(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=b[o>>0]|0;i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else o=o+1|0}}else B=m;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}Dh(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function Lb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;c=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((o|0)==-1)p=-1;else p=f[(f[f[m>>2]>>2]|0)+(o<<2)>>2]|0;if((c|0)==-1){q=p;r=-1}else{q=p;r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{q=-1;r=-1}c=f[a+36>>2]|0;m=f[c>>2]|0;p=(f[c+4>>2]|0)-m>>2;if(p>>>0<=q>>>0)zo(c);o=m;m=f[o+(q<<2)>>2]|0;if(p>>>0<=r>>>0)zo(c);c=f[o+(r<<2)>>2]|0;r=(m|0)<(e|0);do if(r&(c|0)<(e|0)){o=m<<1;p=f[d+(o<<2)>>2]|0;q=((p|0)<0)<<31>>31;n=f[d+((o|1)<<2)>>2]|0;o=((n|0)<0)<<31>>31;s=c<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(p|0)|(v|0)!=(n|0))){f[a+8>>2]=p;f[a+12>>2]=n;u=g;return}s=a+4|0;w=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))y=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else y=w;f[i>>2]=y;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];Db(x,h,w,j)|0;w=f[(f[s>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))z=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else z=w;f[i>>2]=z;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];Db(x,h,w,k)|0;w=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))A=f[(f[s+68>>2]|0)+(w<<2)>>2]|0;else A=w;f[i>>2]=A;w=b[s+24>>0]|0;f[h>>2]=f[i>>2];Db(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=Tl(f[w>>2]|0,f[w+4>>2]|0,x|0,B|0)|0;w=I;C=l+8|0;D=k+8|0;E=f[D>>2]|0;F=f[D+4>>2]|0;D=Tl(f[C>>2]|0,f[C+4>>2]|0,E|0,F|0)|0;C=I;G=l+16|0;H=k+16|0;J=f[H>>2]|0;K=f[H+4>>2]|0;H=Tl(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=_k(s|0,w|0,s|0,w|0)|0;M=I;N=_k(D|0,C|0,D|0,C|0)|0;O=Rl(N|0,I|0,L|0,M|0)|0;M=I;L=_k(H|0,G|0,H|0,G|0)|0;N=Rl(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=Tl(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=Tl(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=Tl(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=_k(O|0,B|0,s|0,w|0)|0;E=I;P=_k(M|0,F|0,D|0,C|0)|0;Q=Rl(P|0,I|0,J|0,E|0)|0;E=I;J=_k(x|0,K|0,H|0,G|0)|0;P=Rl(Q|0,E|0,J|0,I|0)|0;J=I;E=Tl(t|0,((t|0)<0)<<31>>31|0,p|0,q|0)|0;t=I;Q=Tl(v|0,((v|0)<0)<<31>>31|0,n|0,o|0)|0;v=I;R=_k(N|0,L|0,p|0,q|0)|0;q=I;p=_k(N|0,L|0,n|0,o|0)|0;o=I;n=_k(P|0,J|0,E|0,t|0)|0;S=I;T=_k(P|0,J|0,Q|0,v|0)|0;U=I;V=Rl(n|0,S|0,R|0,q|0)|0;q=I;R=Rl(T|0,U|0,p|0,o|0)|0;o=I;p=_k(P|0,J|0,s|0,w|0)|0;w=I;s=_k(P|0,J|0,D|0,C|0)|0;C=I;D=_k(P|0,J|0,H|0,G|0)|0;G=I;H=Ki(p|0,w|0,N|0,L|0)|0;w=I;p=Ki(s|0,C|0,N|0,L|0)|0;C=I;s=Ki(D|0,G|0,N|0,L|0)|0;G=I;D=Tl(O|0,B|0,H|0,w|0)|0;w=I;H=Tl(M|0,F|0,p|0,C|0)|0;C=I;p=Tl(x|0,K|0,s|0,G|0)|0;G=I;s=_k(D|0,w|0,D|0,w|0)|0;w=I;D=_k(H|0,C|0,H|0,C|0)|0;C=Rl(D|0,I|0,s|0,w|0)|0;w=I;s=_k(p|0,G|0,p|0,G|0)|0;G=Rl(C|0,w|0,s|0,I|0)|0;s=I;w=Tl(0,0,E|0,t|0)|0;t=I;E=_k(G|0,s|0,N|0,L|0)|0;s=I;switch(E|0){case 0:{if(!s){W=0;X=0}else{Y=1;Z=0;_=E;$=s;aa=23}break}case 1:{if(!s){ba=1;ca=0;aa=24}else{Y=1;Z=0;_=E;$=s;aa=23}break}default:{Y=1;Z=0;_=E;$=s;aa=23}}if((aa|0)==23)while(1){aa=0;G=Ol(Y|0,Z|0,1)|0;C=I;p=_;_=Ul(_|0,$|0,2)|0;if(!($>>>0>0|($|0)==0&p>>>0>7)){ba=G;ca=C;aa=24;break}else{Y=G;Z=C;$=I;aa=23}}if((aa|0)==24)while(1){aa=0;C=In(E|0,s|0,ba|0,ca|0)|0;G=Rl(C|0,I|0,ba|0,ca|0)|0;C=Ul(G|0,I|0,1)|0;G=I;p=_k(C|0,G|0,C|0,G|0)|0;D=I;if(D>>>0>s>>>0|(D|0)==(s|0)&p>>>0>E>>>0){ba=C;ca=G;aa=24}else{W=C;X=G;break}}E=_k(W|0,X|0,Q|0,v|0)|0;s=I;G=_k(W|0,X|0,w|0,t|0)|0;C=I;p=a+20|0;D=(f[p>>2]|0)+-1|0;H=(1<<(D&31)&f[(f[a+16>>2]|0)+(D>>>5<<2)>>2]|0)!=0;f[p>>2]=D;D=Tl(0,0,E|0,s|0)|0;p=Rl(V|0,q|0,(H?E:D)|0,(H?s:I)|0)|0;s=I;D=Tl(0,0,G|0,C|0)|0;E=Rl(R|0,o|0,(H?G:D)|0,(H?C:I)|0)|0;C=I;H=Ki(p|0,s|0,N|0,L|0)|0;s=Ki(E|0,C|0,N|0,L|0)|0;f[a+8>>2]=H;f[a+12>>2]=s;u=g;return}while(0);do if(r)da=m<<1;else{if((e|0)>0){da=(e<<1)+-2|0;break}X=a+8|0;f[X>>2]=0;f[X+4>>2]=0;u=g;return}while(0);f[a+8>>2]=f[d+(da<<2)>>2];f[a+12>>2]=f[d+(da+1<<2)>>2];u=g;return}function Mb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){u=c;return}h=(g>>>0)/3|0;i=a+12|0;if(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0){u=c;return}h=a+56|0;j=f[h>>2]|0;k=a+60|0;l=f[k>>2]|0;if((l|0)==(j|0))m=j;else{n=l+(~((l+-4-j|0)>>>2)<<2)|0;f[k>>2]=n;m=n}n=a+64|0;if((m|0)==(f[n>>2]|0))dh(h,b);else{f[m>>2]=g;f[k>>2]=m+4}m=f[a>>2]|0;g=f[b>>2]|0;j=g+1|0;do if((g|0)!=-1){l=f[m+28>>2]|0;o=f[l+((((j>>>0)%3|0|0)==0?g+-2|0:j)<<2)>>2]|0;if(!((g>>>0)%3|0)){p=o;q=g+2|0;r=l;break}else{p=o;q=g+-1|0;r=l;break}}else{l=f[m+28>>2]|0;p=f[l+-4>>2]|0;q=-1;r=l}while(0);m=f[r+(q<<2)>>2]|0;q=a+24|0;r=f[q>>2]|0;g=r+(p>>>5<<2)|0;j=1<<(p&31);l=f[g>>2]|0;if(!(l&j)){f[g>>2]=l|j;j=f[b>>2]|0;l=j+1|0;if((j|0)==-1)s=-1;else s=((l>>>0)%3|0|0)==0?j+-2|0:l;f[e>>2]=s;l=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((s>>>0)/3|0)*12|0)+(((s>>>0)%3|0)<<2)>>2]|0;s=f[a+48>>2]|0;f[d>>2]=l;j=f[s+4>>2]|0;s=j+4|0;g=f[s>>2]|0;if((g|0)==(f[j+8>>2]|0))dh(j,d);else{f[g>>2]=l;f[s>>2]=g+4}g=a+40|0;s=f[g>>2]|0;l=s+4|0;j=f[l>>2]|0;if((j|0)==(f[s+8>>2]|0)){dh(s,e);t=f[g>>2]|0}else{f[j>>2]=f[e>>2];f[l>>2]=j+4;t=s}s=t+24|0;f[(f[t+12>>2]|0)+(p<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1;v=f[q>>2]|0}else v=r;r=v+(m>>>5<<2)|0;v=1<<(m&31);s=f[r>>2]|0;if(!(s&v)){f[r>>2]=s|v;v=f[b>>2]|0;do if((v|0)!=-1)if(!((v>>>0)%3|0)){w=v+2|0;break}else{w=v+-1|0;break}else w=-1;while(0);f[e>>2]=w;v=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w>>>0)%3|0)<<2)>>2]|0;w=f[a+48>>2]|0;f[d>>2]=v;s=f[w+4>>2]|0;w=s+4|0;r=f[w>>2]|0;if((r|0)==(f[s+8>>2]|0))dh(s,d);else{f[r>>2]=v;f[w>>2]=r+4}r=a+40|0;w=f[r>>2]|0;v=w+4|0;s=f[v>>2]|0;if((s|0)==(f[w+8>>2]|0)){dh(w,e);x=f[r>>2]|0}else{f[s>>2]=f[e>>2];f[v>>2]=s+4;x=w}w=x+24|0;f[(f[x+12>>2]|0)+(m<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+1}w=f[h>>2]|0;m=f[k>>2]|0;if((w|0)==(m|0)){u=c;return}x=a+44|0;s=a+48|0;v=a+40|0;r=m;m=w;while(1){w=f[r+-4>>2]|0;f[b>>2]=w;p=(w>>>0)/3|0;if((w|0)!=-1?(w=f[i>>2]|0,(f[w+(p>>>5<<2)>>2]&1<<(p&31)|0)==0):0){t=p;p=w;w=f[a>>2]|0;a:while(1){j=p+(t>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(t&31);j=f[b>>2]|0;l=f[(f[w+28>>2]|0)+(j<<2)>>2]|0;g=(f[q>>2]|0)+(l>>>5<<2)|0;o=1<<(l&31);y=f[g>>2]|0;if(!(o&y)){z=f[(f[w+40>>2]|0)+(l<<2)>>2]|0;if((z|0)==-1)A=1;else{B=f[(f[f[w+64>>2]>>2]|0)+(z<<2)>>2]|0;A=(1<<(B&31)&f[(f[w+12>>2]|0)+(B>>>5<<2)>>2]|0)!=0}f[g>>2]=y|o;o=f[b>>2]|0;f[e>>2]=o;y=f[(f[(f[x>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[s>>2]|0;f[d>>2]=y;g=f[o+4>>2]|0;o=g+4|0;B=f[o>>2]|0;if((B|0)==(f[g+8>>2]|0))dh(g,d);else{f[B>>2]=y;f[o>>2]=B+4}B=f[v>>2]|0;o=B+4|0;y=f[o>>2]|0;if((y|0)==(f[B+8>>2]|0)){dh(B,e);C=f[v>>2]|0}else{f[y>>2]=f[e>>2];f[o>>2]=y+4;C=B}B=C+24|0;f[(f[C+12>>2]|0)+(l<<2)>>2]=f[B>>2];f[B>>2]=(f[B>>2]|0)+1;B=f[a>>2]|0;l=f[b>>2]|0;if(A){D=l;E=B;F=57}else{y=l+1|0;do if((l|0)==-1)G=-1;else{o=((y>>>0)%3|0|0)==0?l+-2|0:y;if((o|0)==-1){G=-1;break}if(f[(f[B>>2]|0)+(o>>>5<<2)>>2]&1<<(o&31)|0){G=-1;break}G=f[(f[(f[B+64>>2]|0)+12>>2]|0)+(o<<2)>>2]|0}while(0);f[b>>2]=G;H=(G>>>0)/3|0;I=B}}else{D=j;E=w;F=57}if((F|0)==57){F=0;y=D+1|0;if((D|0)==-1){F=58;break}l=((y>>>0)%3|0|0)==0?D+-2|0:y;if((l|0)!=-1?(f[(f[E>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)==0:0)J=f[(f[(f[E+64>>2]|0)+12>>2]|0)+(l<<2)>>2]|0;else J=-1;f[d>>2]=J;l=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((l|0)!=-1?(f[(f[E>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)==0:0)K=f[(f[(f[E+64>>2]|0)+12>>2]|0)+(l<<2)>>2]|0;else K=-1;l=(J|0)==-1;y=(J>>>0)/3|0;o=l?-1:y;g=(K|0)==-1;z=(K>>>0)/3|0;L=g?-1:z;do if(!l){M=f[i>>2]|0;if(f[M+(o>>>5<<2)>>2]&1<<(o&31)|0){F=67;break}if(g){N=J;O=y;break}if(!(f[M+(L>>>5<<2)>>2]&1<<(L&31))){F=72;break a}else{N=J;O=y}}else F=67;while(0);if((F|0)==67){F=0;if(g){F=69;break}if(!(f[(f[i>>2]|0)+(L>>>5<<2)>>2]&1<<(L&31))){N=K;O=z}else{F=69;break}}f[b>>2]=N;H=O;I=E}t=H;p=f[i>>2]|0;w=I}do if((F|0)==58){F=0;f[d>>2]=-1;F=69}else if((F|0)==72){F=0;w=f[k>>2]|0;f[w+-4>>2]=K;if((w|0)==(f[n>>2]|0)){dh(h,d);P=f[k>>2]|0;break}else{f[w>>2]=f[d>>2];p=w+4|0;f[k>>2]=p;P=p;break}}while(0);if((F|0)==69){F=0;p=(f[k>>2]|0)+-4|0;f[k>>2]=p;P=p}Q=f[h>>2]|0;R=P}else{p=r+-4|0;f[k>>2]=p;Q=m;R=p}if((Q|0)==(R|0))break;else{r=R;m=Q}}u=c;return}function Nb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;do if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;if(!((n>>>0)%3|0)){p=n+2|0;q=o;break}else{p=n+-1|0;q=o;break}}else{p=-1;q=-1}while(0);n=f[(f[m>>2]|0)+28>>2]|0;m=f[n+(q<<2)>>2]|0;q=f[n+(p<<2)>>2]|0;p=f[a+36>>2]|0;n=f[p>>2]|0;c=(f[p+4>>2]|0)-n>>2;if(c>>>0<=m>>>0)zo(p);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=q>>>0)zo(p);p=f[o+(q<<2)>>2]|0;q=(n|0)<(e|0);do if(q&(p|0)<(e|0)){o=n<<1;c=f[d+(o<<2)>>2]|0;m=((c|0)<0)<<31>>31;r=f[d+((o|1)<<2)>>2]|0;o=((r|0)<0)<<31>>31;s=p<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(c|0)|(v|0)!=(r|0))){f[a+8>>2]=c;f[a+12>>2]=r;u=g;return}s=a+4|0;w=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))y=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else y=w;f[i>>2]=y;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];Db(x,h,w,j)|0;w=f[(f[s>>2]|0)+(n<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))z=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else z=w;f[i>>2]=z;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];Db(x,h,w,k)|0;w=f[(f[s>>2]|0)+(p<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))A=f[(f[s+68>>2]|0)+(w<<2)>>2]|0;else A=w;f[i>>2]=A;w=b[s+24>>0]|0;f[h>>2]=f[i>>2];Db(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=Tl(f[w>>2]|0,f[w+4>>2]|0,x|0,B|0)|0;w=I;C=l+8|0;D=k+8|0;E=f[D>>2]|0;F=f[D+4>>2]|0;D=Tl(f[C>>2]|0,f[C+4>>2]|0,E|0,F|0)|0;C=I;G=l+16|0;H=k+16|0;J=f[H>>2]|0;K=f[H+4>>2]|0;H=Tl(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=_k(s|0,w|0,s|0,w|0)|0;M=I;N=_k(D|0,C|0,D|0,C|0)|0;O=Rl(N|0,I|0,L|0,M|0)|0;M=I;L=_k(H|0,G|0,H|0,G|0)|0;N=Rl(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=Tl(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=Tl(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=Tl(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=_k(O|0,B|0,s|0,w|0)|0;E=I;P=_k(M|0,F|0,D|0,C|0)|0;Q=Rl(P|0,I|0,J|0,E|0)|0;E=I;J=_k(x|0,K|0,H|0,G|0)|0;P=Rl(Q|0,E|0,J|0,I|0)|0;J=I;E=Tl(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=I;Q=Tl(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=I;R=_k(N|0,L|0,c|0,m|0)|0;m=I;c=_k(N|0,L|0,r|0,o|0)|0;o=I;r=_k(P|0,J|0,E|0,t|0)|0;S=I;T=_k(P|0,J|0,Q|0,v|0)|0;U=I;V=Rl(r|0,S|0,R|0,m|0)|0;m=I;R=Rl(T|0,U|0,c|0,o|0)|0;o=I;c=_k(P|0,J|0,s|0,w|0)|0;w=I;s=_k(P|0,J|0,D|0,C|0)|0;C=I;D=_k(P|0,J|0,H|0,G|0)|0;G=I;H=Ki(c|0,w|0,N|0,L|0)|0;w=I;c=Ki(s|0,C|0,N|0,L|0)|0;C=I;s=Ki(D|0,G|0,N|0,L|0)|0;G=I;D=Tl(O|0,B|0,H|0,w|0)|0;w=I;H=Tl(M|0,F|0,c|0,C|0)|0;C=I;c=Tl(x|0,K|0,s|0,G|0)|0;G=I;s=_k(D|0,w|0,D|0,w|0)|0;w=I;D=_k(H|0,C|0,H|0,C|0)|0;C=Rl(D|0,I|0,s|0,w|0)|0;w=I;s=_k(c|0,G|0,c|0,G|0)|0;G=Rl(C|0,w|0,s|0,I|0)|0;s=I;w=Tl(0,0,E|0,t|0)|0;t=I;E=_k(G|0,s|0,N|0,L|0)|0;s=I;switch(E|0){case 0:{if(!s){W=0;X=0}else{Y=1;Z=0;_=E;$=s;aa=22}break}case 1:{if(!s){ba=1;ca=0;aa=23}else{Y=1;Z=0;_=E;$=s;aa=22}break}default:{Y=1;Z=0;_=E;$=s;aa=22}}if((aa|0)==22)while(1){aa=0;G=Ol(Y|0,Z|0,1)|0;C=I;c=_;_=Ul(_|0,$|0,2)|0;if(!($>>>0>0|($|0)==0&c>>>0>7)){ba=G;ca=C;aa=23;break}else{Y=G;Z=C;$=I;aa=22}}if((aa|0)==23)while(1){aa=0;C=In(E|0,s|0,ba|0,ca|0)|0;G=Rl(C|0,I|0,ba|0,ca|0)|0;C=Ul(G|0,I|0,1)|0;G=I;c=_k(C|0,G|0,C|0,G|0)|0;D=I;if(D>>>0>s>>>0|(D|0)==(s|0)&c>>>0>E>>>0){ba=C;ca=G;aa=23}else{W=C;X=G;break}}E=_k(W|0,X|0,Q|0,v|0)|0;s=I;G=_k(W|0,X|0,w|0,t|0)|0;C=I;c=a+20|0;D=(f[c>>2]|0)+-1|0;H=(1<<(D&31)&f[(f[a+16>>2]|0)+(D>>>5<<2)>>2]|0)!=0;f[c>>2]=D;D=Tl(0,0,E|0,s|0)|0;c=Rl(V|0,m|0,(H?E:D)|0,(H?s:I)|0)|0;s=I;D=Tl(0,0,G|0,C|0)|0;E=Rl(R|0,o|0,(H?G:D)|0,(H?C:I)|0)|0;C=I;H=Ki(c|0,s|0,N|0,L|0)|0;s=Ki(E|0,C|0,N|0,L|0)|0;f[a+8>>2]=H;f[a+12>>2]=s;u=g;return}while(0);do if(q)da=n<<1;else{if((e|0)>0){da=(e<<1)+-2|0;break}X=a+8|0;f[X>>2]=0;f[X+4>>2]=0;u=g;return}while(0);f[a+8>>2]=f[d+(da<<2)>>2];f[a+12>>2]=f[d+(da+1<<2)>>2];u=g;return}function Ob(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=(o|0)==-1;if(p)q=-1;else q=f[(f[n>>2]|0)+(o<<2)>>2]|0;n=a+20|0;r=f[n>>2]|0;s=f[r>>2]|0;if((f[r+4>>2]|0)-s>>2>>>0<=q>>>0)zo(r);r=a+8|0;t=f[(f[r>>2]|0)+(f[s+(q<<2)>>2]<<2)>>2]|0;q=a+4|0;s=f[q>>2]|0;if(!(b[s+84>>0]|0))v=f[(f[s+68>>2]|0)+(t<<2)>>2]|0;else v=t;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=v;v=b[s+24>>0]|0;f[g>>2]=f[h>>2];Db(s,g,v,j)|0;v=a+28|0;a=(f[v>>2]|0)==0;a:do if(!p){s=k+8|0;t=j+8|0;w=k+16|0;x=j+16|0;y=l+8|0;z=l+16|0;A=o;B=o;C=0;D=0;E=0;F=0;G=0;H=0;J=a;K=o;while(1){do if(J){L=K+1|0;if((K|0)==-1){M=A;N=-1;O=-1;P=-1;break}Q=((L>>>0)%3|0|0)==0?K+-2|0:L;if((A|0)!=-1)if(!((A>>>0)%3|0)){R=A;S=A+2|0;T=Q;U=A;V=19;break}else{R=A;S=A+-1|0;T=Q;U=A;V=19;break}else{R=-1;S=-1;T=Q;U=-1;V=19}}else{Q=B+1|0;L=((Q>>>0)%3|0|0)==0?B+-2|0:Q;if(!((B>>>0)%3|0)){R=A;S=B+2|0;T=L;U=K;V=19;break}else{R=A;S=B+-1|0;T=L;U=K;V=19;break}}while(0);if((V|0)==19){V=0;if((T|0)==-1){M=R;N=-1;O=S;P=U}else{M=R;N=f[(f[f[m>>2]>>2]|0)+(T<<2)>>2]|0;O=S;P=U}}W=f[n>>2]|0;L=f[W>>2]|0;if((f[W+4>>2]|0)-L>>2>>>0<=N>>>0){V=22;break}Q=f[(f[r>>2]|0)+(f[L+(N<<2)>>2]<<2)>>2]|0;L=f[q>>2]|0;if(!(b[L+84>>0]|0))X=f[(f[L+68>>2]|0)+(Q<<2)>>2]|0;else X=Q;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=X;Q=b[L+24>>0]|0;f[g>>2]=f[h>>2];Db(L,g,Q,k)|0;if((O|0)==-1)Y=-1;else Y=f[(f[f[m>>2]>>2]|0)+(O<<2)>>2]|0;Z=f[n>>2]|0;Q=f[Z>>2]|0;if((f[Z+4>>2]|0)-Q>>2>>>0<=Y>>>0){V=28;break}L=f[(f[r>>2]|0)+(f[Q+(Y<<2)>>2]<<2)>>2]|0;Q=f[q>>2]|0;if(!(b[Q+84>>0]|0))_=f[(f[Q+68>>2]|0)+(L<<2)>>2]|0;else _=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=_;L=b[Q+24>>0]|0;f[g>>2]=f[h>>2];Db(Q,g,L,l)|0;L=k;Q=j;$=f[Q>>2]|0;aa=f[Q+4>>2]|0;Q=Tl(f[L>>2]|0,f[L+4>>2]|0,$|0,aa|0)|0;L=I;ba=s;ca=t;da=f[ca>>2]|0;ea=f[ca+4>>2]|0;ca=Tl(f[ba>>2]|0,f[ba+4>>2]|0,da|0,ea|0)|0;ba=I;fa=w;ga=x;ha=f[ga>>2]|0;ia=f[ga+4>>2]|0;ga=Tl(f[fa>>2]|0,f[fa+4>>2]|0,ha|0,ia|0)|0;fa=I;ja=l;ka=Tl(f[ja>>2]|0,f[ja+4>>2]|0,$|0,aa|0)|0;aa=I;$=y;ja=Tl(f[$>>2]|0,f[$+4>>2]|0,da|0,ea|0)|0;ea=I;da=z;$=Tl(f[da>>2]|0,f[da+4>>2]|0,ha|0,ia|0)|0;ia=I;ha=_k($|0,ia|0,ca|0,ba|0)|0;da=I;la=_k(ja|0,ea|0,ga|0,fa|0)|0;ma=I;na=_k(ka|0,aa|0,ga|0,fa|0)|0;fa=I;ga=_k($|0,ia|0,Q|0,L|0)|0;ia=I;$=_k(ja|0,ea|0,Q|0,L|0)|0;L=I;Q=_k(ka|0,aa|0,ca|0,ba|0)|0;ba=I;ca=Tl(C|0,D|0,la|0,ma|0)|0;ma=Rl(ca|0,I|0,ha|0,da|0)|0;da=I;ha=Rl(na|0,fa|0,E|0,F|0)|0;fa=Tl(ha|0,I|0,ga|0,ia|0)|0;ia=I;ga=Tl(G|0,H|0,Q|0,ba|0)|0;ba=Rl(ga|0,I|0,$|0,L|0)|0;L=I;hg(i);B=f[c>>2]|0;$=(f[v>>2]|0)==0;if((B|0)==-1){oa=$;pa=da;qa=ma;ra=ia;sa=fa;ta=L;ua=ba;break a}else{A=M;C=ma;D=da;E=fa;F=ia;G=ba;H=L;J=$;K=P}}if((V|0)==22)zo(W);else if((V|0)==28)zo(Z)}else{oa=a;pa=0;qa=0;ra=0;sa=0;ta=0;ua=0}while(0);a=(pa|0)>-1|(pa|0)==-1&qa>>>0>4294967295;Z=Tl(0,0,qa|0,pa|0)|0;V=a?pa:I;W=(ra|0)>-1|(ra|0)==-1&sa>>>0>4294967295;P=Tl(0,0,sa|0,ra|0)|0;M=W?ra:I;v=(ta|0)>-1|(ta|0)==-1&ua>>>0>4294967295;c=Tl(0,0,ua|0,ta|0)|0;i=Rl((W?sa:P)|0,M|0,(v?ua:c)|0,(v?ta:I)|0)|0;v=Rl(i|0,I|0,(a?qa:Z)|0,V|0)|0;V=I;if(oa){if((v|0)<=536870912){va=qa;wa=sa;xa=ua;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}oa=Ul(v|0,V|0,29)|0;Z=oa&7;oa=Ki(qa|0,pa|0,Z|0,0)|0;a=Ki(sa|0,ra|0,Z|0,0)|0;i=Ki(ua|0,ta|0,Z|0,0)|0;va=oa;wa=a;xa=i;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}else{if(!((V|0)>0|(V|0)==0&v>>>0>536870912)){va=qa;wa=sa;xa=ua;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}i=Ul(v|0,V|0,29)|0;V=I;v=Ki(qa|0,pa|0,i|0,V|0)|0;pa=Ki(sa|0,ra|0,i|0,V|0)|0;ra=Ki(ua|0,ta|0,i|0,V|0)|0;va=v;wa=pa;xa=ra;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}}function Pb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){u=c;return}h=(g>>>0)/3|0;i=a+12|0;if(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0){u=c;return}h=a+56|0;j=f[h>>2]|0;k=a+60|0;l=f[k>>2]|0;if((l|0)==(j|0))m=j;else{n=l+(~((l+-4-j|0)>>>2)<<2)|0;f[k>>2]=n;m=n}n=a+64|0;if((m|0)==(f[n>>2]|0))dh(h,b);else{f[m>>2]=g;f[k>>2]=m+4}m=f[a>>2]|0;g=f[b>>2]|0;j=g+1|0;if((g|0)!=-1){l=((j>>>0)%3|0|0)==0?g+-2|0:j;if((l|0)==-1)o=-1;else o=f[(f[m>>2]|0)+(l<<2)>>2]|0;l=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((l|0)==-1){p=o;q=-1}else{p=o;q=f[(f[m>>2]|0)+(l<<2)>>2]|0}}else{p=-1;q=-1}l=a+24|0;m=f[l>>2]|0;o=m+(p>>>5<<2)|0;g=1<<(p&31);j=f[o>>2]|0;if(!(j&g)){f[o>>2]=j|g;g=f[b>>2]|0;j=g+1|0;if((g|0)==-1)r=-1;else r=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=r;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=j;g=f[r+4>>2]|0;r=g+4|0;o=f[r>>2]|0;if((o|0)==(f[g+8>>2]|0))dh(g,d);else{f[o>>2]=j;f[r>>2]=o+4}o=a+40|0;r=f[o>>2]|0;j=r+4|0;g=f[j>>2]|0;if((g|0)==(f[r+8>>2]|0)){dh(r,e);s=f[o>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(p<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1;t=f[l>>2]|0}else t=m;m=t+(q>>>5<<2)|0;t=1<<(q&31);r=f[m>>2]|0;if(!(r&t)){f[m>>2]=r|t;t=f[b>>2]|0;do if((t|0)!=-1)if(!((t>>>0)%3|0)){v=t+2|0;break}else{v=t+-1|0;break}else v=-1;while(0);f[e>>2]=v;t=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((v>>>0)/3|0)*12|0)+(((v>>>0)%3|0)<<2)>>2]|0;v=f[a+48>>2]|0;f[d>>2]=t;r=f[v+4>>2]|0;v=r+4|0;m=f[v>>2]|0;if((m|0)==(f[r+8>>2]|0))dh(r,d);else{f[m>>2]=t;f[v>>2]=m+4}m=a+40|0;v=f[m>>2]|0;t=v+4|0;r=f[t>>2]|0;if((r|0)==(f[v+8>>2]|0)){dh(v,e);w=f[m>>2]|0}else{f[r>>2]=f[e>>2];f[t>>2]=r+4;w=v}v=w+24|0;f[(f[w+12>>2]|0)+(q<<2)>>2]=f[v>>2];f[v>>2]=(f[v>>2]|0)+1}v=f[h>>2]|0;q=f[k>>2]|0;if((v|0)==(q|0)){u=c;return}w=a+44|0;r=a+48|0;t=a+40|0;m=q;q=v;while(1){v=f[m+-4>>2]|0;f[b>>2]=v;p=(v>>>0)/3|0;if((v|0)!=-1?(v=f[i>>2]|0,(f[v+(p>>>5<<2)>>2]&1<<(p&31)|0)==0):0){s=p;p=v;a:while(1){v=p+(s>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(s&31);v=f[b>>2]|0;if((v|0)==-1)x=-1;else x=f[(f[f[a>>2]>>2]|0)+(v<<2)>>2]|0;g=(f[l>>2]|0)+(x>>>5<<2)|0;j=1<<(x&31);o=f[g>>2]|0;do if(!(j&o)){y=f[a>>2]|0;z=f[(f[y+24>>2]|0)+(x<<2)>>2]|0;A=z+1|0;if(((z|0)!=-1?(B=((A>>>0)%3|0|0)==0?z+-2|0:A,(B|0)!=-1):0)?(A=f[(f[y+12>>2]|0)+(B<<2)>>2]|0,B=A+1|0,(A|0)!=-1):0)C=((((B>>>0)%3|0|0)==0?A+-2|0:B)|0)==-1;else C=1;f[g>>2]=o|j;B=f[b>>2]|0;f[e>>2]=B;A=f[(f[(f[w>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=A;y=f[B+4>>2]|0;B=y+4|0;z=f[B>>2]|0;if((z|0)==(f[y+8>>2]|0))dh(y,d);else{f[z>>2]=A;f[B>>2]=z+4}z=f[t>>2]|0;B=z+4|0;A=f[B>>2]|0;if((A|0)==(f[z+8>>2]|0)){dh(z,e);D=f[t>>2]|0}else{f[A>>2]=f[e>>2];f[B>>2]=A+4;D=z}z=D+24|0;f[(f[D+12>>2]|0)+(x<<2)>>2]=f[z>>2];f[z>>2]=(f[z>>2]|0)+1;if(C){E=f[b>>2]|0;F=60;break}z=f[a>>2]|0;A=f[b>>2]|0;do if((A|0)==-1)G=-1;else{B=A+1|0;y=((B>>>0)%3|0|0)==0?A+-2|0:B;if((y|0)==-1){G=-1;break}G=f[(f[z+12>>2]|0)+(y<<2)>>2]|0}while(0);f[b>>2]=G;H=(G>>>0)/3|0}else{E=v;F=60}while(0);if((F|0)==60){F=0;v=f[a>>2]|0;if((E|0)==-1){F=61;break}j=E+1|0;o=((j>>>0)%3|0|0)==0?E+-2|0:j;if((o|0)==-1)I=-1;else I=f[(f[v+12>>2]|0)+(o<<2)>>2]|0;f[d>>2]=I;o=(((E>>>0)%3|0|0)==0?2:-1)+E|0;if((o|0)==-1)J=-1;else J=f[(f[v+12>>2]|0)+(o<<2)>>2]|0;o=(I|0)==-1;v=(I>>>0)/3|0;j=o?-1:v;g=(J|0)==-1;z=(J>>>0)/3|0;A=g?-1:z;do if(!o){y=f[i>>2]|0;if(f[y+(j>>>5<<2)>>2]&1<<(j&31)|0){F=68;break}if(g){K=I;L=v;break}if(!(f[y+(A>>>5<<2)>>2]&1<<(A&31))){F=73;break a}else{K=I;L=v}}else F=68;while(0);if((F|0)==68){F=0;if(g){F=70;break}if(!(f[(f[i>>2]|0)+(A>>>5<<2)>>2]&1<<(A&31))){K=J;L=z}else{F=70;break}}f[b>>2]=K;H=L}s=H;p=f[i>>2]|0}do if((F|0)==61){F=0;f[d>>2]=-1;F=70}else if((F|0)==73){F=0;p=f[k>>2]|0;f[p+-4>>2]=J;if((p|0)==(f[n>>2]|0)){dh(h,d);M=f[k>>2]|0;break}else{f[p>>2]=f[d>>2];s=p+4|0;f[k>>2]=s;M=s;break}}while(0);if((F|0)==70){F=0;s=(f[k>>2]|0)+-4|0;f[k>>2]=s;M=s}N=f[h>>2]|0;O=M}else{s=m+-4|0;f[k>>2]=s;N=q;O=s}if((N|0)==(O|0))break;else{m=O;q=N}}u=c;return}function Qb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Na,K=Na,L=Na,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Dc(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];ie(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;l=f[d>>2]|0;m=(f[d+4>>2]|0)-l|0;if(!m){o=0;p=l}else{Rg(j,m);o=f[j>>2]|0;p=f[d>>2]|0}Jf(o|0,p|0,m|0)|0;zh(i,c);c=i+12|0;f[c>>2]=0;m=i+16|0;f[m>>2]=0;f[i+20>>2]=0;p=f[k>>2]|0;o=f[j>>2]|0;d=p-o|0;if(!d){q=o;r=p;s=0}else{Rg(c,d);q=f[j>>2]|0;r=f[k>>2]|0;s=f[c>>2]|0}Jf(s|0,q|0,r-q|0)|0;q=i+11|0;r=b[q>>0]|0;s=r<<24>>24<0;c=s?f[i>>2]|0:i;d=s?f[i+4>>2]|0:r&255;if(d>>>0>3){r=c;s=d;p=d;while(1){o=X(h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24,1540483477)|0;s=(X(o>>>24^o,1540483477)|0)^(X(s,1540483477)|0);p=p+-4|0;if(p>>>0<=3)break;else r=r+4|0}r=d+-4|0;p=r&-4;t=r-p|0;v=c+(p+4)|0;w=s}else{t=d;v=c;w=d}switch(t|0){case 3:{x=h[v+2>>0]<<16^w;y=12;break}case 2:{x=w;y=12;break}case 1:{z=w;y=13;break}default:A=w}if((y|0)==12){z=h[v+1>>0]<<8^x;y=13}if((y|0)==13)A=X(z^h[v>>0],1540483477)|0;v=X(A>>>13^A,1540483477)|0;A=v>>>15^v;v=a+4|0;z=f[v>>2]|0;x=(z|0)==0;a:do if(!x){w=z+-1|0;t=(w&z|0)==0;if(!t)if(A>>>0>>0)B=A;else B=(A>>>0)%(z>>>0)|0;else B=A&w;s=f[(f[a>>2]|0)+(B<<2)>>2]|0;if((s|0)!=0?(p=f[s>>2]|0,(p|0)!=0):0){s=(d|0)==0;if(t){if(s){t=p;while(1){r=f[t+4>>2]|0;if(!((r|0)==(A|0)|(r&w|0)==(B|0))){C=B;y=54;break a}r=b[t+8+11>>0]|0;if(!((r<<24>>24<0?f[t+12>>2]|0:r&255)|0))break a;t=f[t>>2]|0;if(!t){C=B;y=54;break a}}}else D=p;while(1){t=f[D+4>>2]|0;if(!((t|0)==(A|0)|(t&w|0)==(B|0))){C=B;y=54;break a}t=D+8|0;r=b[t+11>>0]|0;o=r<<24>>24<0;l=r&255;do if(((o?f[D+12>>2]|0:l)|0)==(d|0)){r=f[t>>2]|0;if(o)if(!($i(r,c,d)|0))break a;else break;if((b[c>>0]|0)==(r&255)<<24>>24){r=t;E=l;F=c;do{E=E+-1|0;r=r+1|0;if(!E)break a;F=F+1|0}while((b[r>>0]|0)==(b[F>>0]|0))}}while(0);D=f[D>>2]|0;if(!D){C=B;y=54;break a}}}if(s){w=p;while(1){l=f[w+4>>2]|0;if((l|0)!=(A|0)){if(l>>>0>>0)G=l;else G=(l>>>0)%(z>>>0)|0;if((G|0)!=(B|0)){C=B;y=54;break a}}l=b[w+8+11>>0]|0;if(!((l<<24>>24<0?f[w+12>>2]|0:l&255)|0))break a;w=f[w>>2]|0;if(!w){C=B;y=54;break a}}}else H=p;while(1){w=f[H+4>>2]|0;if((w|0)!=(A|0)){if(w>>>0>>0)I=w;else I=(w>>>0)%(z>>>0)|0;if((I|0)!=(B|0)){C=B;y=54;break a}}w=H+8|0;s=b[w+11>>0]|0;l=s<<24>>24<0;t=s&255;do if(((l?f[H+12>>2]|0:t)|0)==(d|0)){s=f[w>>2]|0;if(l)if(!($i(s,c,d)|0))break a;else break;if((b[c>>0]|0)==(s&255)<<24>>24){s=w;o=t;F=c;do{o=o+-1|0;s=s+1|0;if(!o)break a;F=F+1|0}while((b[s>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){C=B;y=54;break}}}else{C=B;y=54}}else{C=0;y=54}while(0);if((y|0)==54){zg(g,a,A,i);y=a+12|0;J=$(((f[y>>2]|0)+1|0)>>>0);K=$(z>>>0);L=$(n[a+16>>2]);do if(x|$(L*K)>>0<3|(z+-1&z|0)!=0)&1;H=~~$(W($(J/L)))>>>0;rg(a,B>>>0>>0?H:B);B=f[v>>2]|0;H=B+-1|0;if(!(H&B)){M=B;N=H&A;break}if(A>>>0>>0){M=B;N=A}else{M=B;N=(A>>>0)%(B>>>0)|0}}else{M=z;N=C}while(0);C=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!C){z=a+8|0;f[f[g>>2]>>2]=f[z>>2];f[z>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=z;z=f[g>>2]|0;N=f[z>>2]|0;if(!N)O=g;else{A=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(A>>>0>>0)P=A;else P=(A>>>0)%(M>>>0)|0;else P=A&N;f[(f[a>>2]|0)+(P<<2)>>2]=z;O=g}}else{f[f[g>>2]>>2]=f[C>>2];f[C>>2]=f[g>>2];O=g}f[y>>2]=(f[y>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[m>>2]|0)!=(O|0))f[m>>2]=O;ip(O)}if((b[q>>0]|0)<0)ip(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;ip(i);u=e;return}function Rb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=f[(f[n+28>>2]|0)+(o<<2)>>2]|0;n=a+20|0;q=f[n>>2]|0;r=f[q>>2]|0;if((f[q+4>>2]|0)-r>>2>>>0<=p>>>0)zo(q);q=a+8|0;s=f[(f[q>>2]|0)+(f[r+(p<<2)>>2]<<2)>>2]|0;p=a+4|0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))t=f[(f[r+68>>2]|0)+(s<<2)>>2]|0;else t=s;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=t;t=b[r+24>>0]|0;f[g>>2]=f[h>>2];Db(r,g,t,j)|0;t=a+28|0;a=(f[t>>2]|0)==0;a:do if((o|0)!=-1){r=k+8|0;s=j+8|0;v=k+16|0;w=j+16|0;x=l+8|0;y=l+16|0;z=o;A=o;B=0;C=0;D=0;E=0;F=0;G=0;H=a;J=o;while(1){do if(H){K=J+1|0;if((J|0)!=-1){L=((K>>>0)%3|0|0)==0?J+-2|0:K;if((z|0)!=-1)if(!((z>>>0)%3|0)){M=z;N=z+2|0;O=L;P=z;break}else{M=z;N=z+-1|0;O=L;P=z;break}else{M=-1;N=-1;O=L;P=-1}}else{M=z;N=-1;O=-1;P=-1}}else{L=A+1|0;K=((L>>>0)%3|0|0)==0?A+-2|0:L;if(!((A>>>0)%3|0)){M=z;N=A+2|0;O=K;P=J;break}else{M=z;N=A+-1|0;O=K;P=J;break}}while(0);K=f[(f[(f[m>>2]|0)+28>>2]|0)+(O<<2)>>2]|0;Q=f[n>>2]|0;L=f[Q>>2]|0;if((f[Q+4>>2]|0)-L>>2>>>0<=K>>>0){R=17;break}S=f[(f[q>>2]|0)+(f[L+(K<<2)>>2]<<2)>>2]|0;K=f[p>>2]|0;if(!(b[K+84>>0]|0))T=f[(f[K+68>>2]|0)+(S<<2)>>2]|0;else T=S;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=T;S=b[K+24>>0]|0;f[g>>2]=f[h>>2];Db(K,g,S,k)|0;S=f[(f[(f[m>>2]|0)+28>>2]|0)+(N<<2)>>2]|0;U=f[n>>2]|0;K=f[U>>2]|0;if((f[U+4>>2]|0)-K>>2>>>0<=S>>>0){R=21;break}L=f[(f[q>>2]|0)+(f[K+(S<<2)>>2]<<2)>>2]|0;S=f[p>>2]|0;if(!(b[S+84>>0]|0))V=f[(f[S+68>>2]|0)+(L<<2)>>2]|0;else V=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=V;L=b[S+24>>0]|0;f[g>>2]=f[h>>2];Db(S,g,L,l)|0;L=k;S=j;K=f[S>>2]|0;W=f[S+4>>2]|0;S=Tl(f[L>>2]|0,f[L+4>>2]|0,K|0,W|0)|0;L=I;X=r;Y=s;Z=f[Y>>2]|0;_=f[Y+4>>2]|0;Y=Tl(f[X>>2]|0,f[X+4>>2]|0,Z|0,_|0)|0;X=I;$=v;aa=w;ba=f[aa>>2]|0;ca=f[aa+4>>2]|0;aa=Tl(f[$>>2]|0,f[$+4>>2]|0,ba|0,ca|0)|0;$=I;da=l;ea=Tl(f[da>>2]|0,f[da+4>>2]|0,K|0,W|0)|0;W=I;K=x;da=Tl(f[K>>2]|0,f[K+4>>2]|0,Z|0,_|0)|0;_=I;Z=y;K=Tl(f[Z>>2]|0,f[Z+4>>2]|0,ba|0,ca|0)|0;ca=I;ba=_k(K|0,ca|0,Y|0,X|0)|0;Z=I;fa=_k(da|0,_|0,aa|0,$|0)|0;ga=I;ha=_k(ea|0,W|0,aa|0,$|0)|0;$=I;aa=_k(K|0,ca|0,S|0,L|0)|0;ca=I;K=_k(da|0,_|0,S|0,L|0)|0;L=I;S=_k(ea|0,W|0,Y|0,X|0)|0;X=I;Y=Tl(B|0,C|0,fa|0,ga|0)|0;ga=Rl(Y|0,I|0,ba|0,Z|0)|0;Z=I;ba=Rl(ha|0,$|0,D|0,E|0)|0;$=Tl(ba|0,I|0,aa|0,ca|0)|0;ca=I;aa=Tl(F|0,G|0,S|0,X|0)|0;X=Rl(aa|0,I|0,K|0,L|0)|0;L=I;tf(i);A=f[c>>2]|0;K=(f[t>>2]|0)==0;if((A|0)==-1){ia=K;ja=Z;ka=ga;la=ca;ma=$;na=L;oa=X;break a}else{z=M;B=ga;C=Z;D=$;E=ca;F=X;G=L;H=K;J=P}}if((R|0)==17)zo(Q);else if((R|0)==21)zo(U)}else{ia=a;ja=0;ka=0;la=0;ma=0;na=0;oa=0}while(0);a=(ja|0)>-1|(ja|0)==-1&ka>>>0>4294967295;U=Tl(0,0,ka|0,ja|0)|0;R=a?ja:I;Q=(la|0)>-1|(la|0)==-1&ma>>>0>4294967295;P=Tl(0,0,ma|0,la|0)|0;M=Q?la:I;t=(na|0)>-1|(na|0)==-1&oa>>>0>4294967295;c=Tl(0,0,oa|0,na|0)|0;i=Rl((Q?ma:P)|0,M|0,(t?oa:c)|0,(t?na:I)|0)|0;t=Rl(i|0,I|0,(a?ka:U)|0,R|0)|0;R=I;if(ia){if((t|0)<=536870912){pa=ka;qa=ma;ra=oa;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}ia=Ul(t|0,R|0,29)|0;U=ia&7;ia=Ki(ka|0,ja|0,U|0,0)|0;a=Ki(ma|0,la|0,U|0,0)|0;i=Ki(oa|0,na|0,U|0,0)|0;pa=ia;qa=a;ra=i;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}else{if(!((R|0)>0|(R|0)==0&t>>>0>536870912)){pa=ka;qa=ma;ra=oa;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}i=Ul(t|0,R|0,29)|0;R=I;t=Ki(ka|0,ja|0,i|0,R|0)|0;ja=Ki(ma|0,la|0,i|0,R|0)|0;la=Ki(oa|0,na|0,i|0,R|0)|0;pa=t;qa=ja;ra=la;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}}function Sb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;d=u;u=u+32|0;e=d+20|0;g=d+8|0;i=d+4|0;j=d;k=a+4|0;do if((h[(f[k>>2]|0)+36>>0]<<8&65535)<512){l=c+8|0;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=Rl(p|0,f[o+4>>2]|0,4,0)|0;o=I;if((n|0)<(o|0)|(n|0)==(o|0)&m>>>0>>0){r=-1;u=d;return r|0}else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;f[e>>2]=p;m=l;f[m>>2]=q;f[m+4>>2]=o;s=p;break}}else if(Ph(e,c)|0){s=f[e>>2]|0;break}else{r=-1;u=d;return r|0}while(0);a:do if(s|0){p=f[a+8>>2]|0;if(s>>>0>(((f[p+4>>2]|0)-(f[p>>2]|0)>>2>>>0)/3|0)>>>0){r=-1;u=d;return r|0}p=f[k>>2]|0;if(((h[p+36>>0]<<8|h[p+37>>0])&65535)<258){p=c+8|0;o=c+16|0;m=g+4|0;q=g+8|0;l=a+40|0;n=a+44|0;t=a+36|0;v=0;w=s;while(1){x=p;y=f[x>>2]|0;z=f[x+4>>2]|0;x=o;A=f[x>>2]|0;B=f[x+4>>2]|0;x=Rl(A|0,B|0,4,0)|0;C=I;if((z|0)<(C|0)|(z|0)==(C|0)&y>>>0>>0)break;D=f[c>>2]|0;E=D+A|0;f[g>>2]=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24;E=o;f[E>>2]=x;f[E+4>>2]=C;C=Rl(A|0,B|0,8,0)|0;E=I;if((z|0)<(E|0)|(z|0)==(E|0)&y>>>0>>0)break;C=D+x|0;f[m>>2]=h[C>>0]|h[C+1>>0]<<8|h[C+2>>0]<<16|h[C+3>>0]<<24;C=Rl(A|0,B|0,8,0)|0;x=I;E=o;f[E>>2]=C;f[E+4>>2]=x;if(!((z|0)>(x|0)|(z|0)==(x|0)&y>>>0>C>>>0))break;y=b[D+C>>0]|0;C=Rl(A|0,B|0,9,0)|0;B=o;f[B>>2]=C;f[B+4>>2]=I;b[q>>0]=b[q>>0]&-2|y&1;y=f[l>>2]|0;if((y|0)==(f[n>>2]|0)){Kg(t,g);F=f[e>>2]|0}else{f[y>>2]=f[g>>2];f[y+4>>2]=f[g+4>>2];f[y+8>>2]=f[g+8>>2];f[l>>2]=(f[l>>2]|0)+12;F=w}v=v+1|0;if(v>>>0>=F>>>0)break a;else w=F}r=-1;u=d;return r|0}w=g+4|0;v=a+40|0;l=a+44|0;t=a+36|0;n=0;q=0;do{Ph(i,c)|0;f[w>>2]=(f[i>>2]|0)+q;Ph(i,c)|0;o=f[i>>2]|0;q=f[w>>2]|0;if(q>>>0>>0){G=36;break}f[g>>2]=q-o;o=f[v>>2]|0;if((o|0)==(f[l>>2]|0))Kg(t,g);else{f[o>>2]=f[g>>2];f[o+4>>2]=f[g+4>>2];f[o+8>>2]=f[g+8>>2];f[v>>2]=(f[v>>2]|0)+12}n=n+1|0}while(n>>>0<(f[e>>2]|0)>>>0);if((G|0)==36){r=-1;u=d;return r|0}Ef(c,0,0)|0;n=f[e>>2]|0;if(n|0){v=c+36|0;t=c+32|0;l=c+24|0;q=c+28|0;w=a+36|0;o=0;m=0;while(1){p=f[k>>2]|0;y=(b[v>>0]|0)==0;if(((h[p+36>>0]<<8|h[p+37>>0])&65535)<514)if(!y){p=f[t>>2]|0;B=f[l>>2]|0;C=f[q>>2]|0;A=B+(p>>>3)|0;if(A>>>0>>0){D=(h[A>>0]|0)>>>(p&7)&1;A=p+1|0;f[t>>2]=A;H=D;J=A}else{H=0;J=p}if((B+(J>>>3)|0)>>>0>>0){f[t>>2]=J+1;K=H}else K=H}else K=m;else if(!y){y=f[t>>2]|0;C=(f[l>>2]|0)+(y>>>3)|0;if(C>>>0<(f[q>>2]|0)>>>0){B=(h[C>>0]|0)>>>(y&7)&1;f[t>>2]=y+1;K=B}else K=0}else K=m;B=(f[w>>2]|0)+(o*12|0)+8|0;b[B>>0]=b[B>>0]&-2|K&1;o=o+1|0;if(o>>>0>=n>>>0)break;else m=K}}Wj(c)}while(0);f[g>>2]=0;K=f[k>>2]|0;H=(h[K+36>>0]<<8|h[K+37>>0])&65535;if((H&65535)<512){K=c+8|0;J=f[K>>2]|0;e=f[K+4>>2]|0;K=c+16|0;F=K;s=f[F>>2]|0;m=Rl(s|0,f[F+4>>2]|0,4,0)|0;F=I;if((e|0)<(F|0)|(e|0)==(F|0)&J>>>0>>0)L=-1;else{J=(f[c>>2]|0)+s|0;s=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[g>>2]=s;J=K;f[J>>2]=m;f[J+4>>2]=F;M=s;G=43}}else if(H<<16>>16==512)if(Ph(g,c)|0){M=f[g>>2]|0;G=43}else L=-1;else G=57;b:do if((G|0)==43)if(!M)G=57;else{H=f[k>>2]|0;if(((h[H+36>>0]<<8|h[H+37>>0])&65535)>=258){H=a+52|0;s=a+56|0;F=a+48|0;J=0;m=0;while(1){f[i>>2]=0;Ph(j,c)|0;m=(f[j>>2]|0)+m|0;f[i>>2]=m;K=f[H>>2]|0;if((K|0)==(f[s>>2]|0))dh(F,i);else{f[K>>2]=m;f[H>>2]=K+4}J=J+1|0;if(J>>>0>=(f[g>>2]|0)>>>0){G=57;break b}}}J=c+8|0;H=c+16|0;m=a+52|0;F=a+56|0;s=a+48|0;K=0;while(1){f[i>>2]=0;e=J;n=f[e>>2]|0;o=f[e+4>>2]|0;e=H;w=f[e>>2]|0;t=Rl(w|0,f[e+4>>2]|0,4,0)|0;e=I;if((o|0)<(e|0)|(o|0)==(e|0)&n>>>0>>0)break;n=(f[c>>2]|0)+w|0;w=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;f[i>>2]=w;n=H;f[n>>2]=t;f[n+4>>2]=e;e=f[m>>2]|0;if((e|0)==(f[F>>2]|0))dh(s,i);else{f[e>>2]=w;f[m>>2]=e+4}K=K+1|0;if(K>>>0>=(f[g>>2]|0)>>>0){G=57;break b}}L=-1}while(0);if((G|0)==57)L=f[c+16>>2]|0;r=L;u=d;return r|0}function Tb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=u;u=u+736|0;e=d+712|0;g=d;h=d+64|0;if((j[c+38>>1]|0)<515){i=1;u=d;return i|0}k=c+8|0;l=f[k+4>>2]|0;m=c+16|0;n=m;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((l|0)>(p|0)|((l|0)==(p|0)?(f[k>>2]|0)>>>0>o>>>0:0))){i=0;u=d;return i|0}k=b[(f[c>>2]|0)+o>>0]|0;l=Rl(o|0,p|0,1,0)|0;p=m;f[p>>2]=l;f[p+4>>2]=I;p=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;l=f[(f[p>>2]|0)+80>>2]|0;p=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;f[e>>2]=0;m=e+4|0;f[m>>2]=0;f[e+8>>2]=0;do if(p|0)if(p>>>0>214748364)zo(e);else{o=p*20|0;n=Vk(o)|0;f[e>>2]=n;f[e+8>>2]=n+(p*20|0);Dh(n|0,0,o|0)|0;f[m>>2]=n+o;break}while(0);p=a+64|0;o=a+68|0;n=a+60|0;q=a+52|0;r=a+56|0;s=a+48|0;t=0;v=0;a:while(1){if((v|0)>=(Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0)){w=44;break}x=Qa[f[(f[a>>2]|0)+20>>2]&127](a,v)|0;y=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;z=f[(f[(f[y>>2]|0)+8>>2]|0)+(x<<2)>>2]|0;Lh(z,l)|0;b[z+84>>0]=1;x=f[z+68>>2]|0;y=z+72|0;A=f[y>>2]|0;if((A|0)!=(x|0))f[y>>2]=A+(~((A+-4-x|0)>>>2)<<2);switch(f[z+28>>2]|0){case 2:case 4:case 6:{B=z;break}case 1:case 3:case 5:{x=z+24|0;A=b[x>>0]|0;if(A<<24>>24>0){y=0;C=A;while(1){f[g>>2]=0;A=f[q>>2]|0;if(A>>>0<(f[r>>2]|0)>>>0){f[A>>2]=0;f[q>>2]=A+4;D=C}else{dh(s,g);D=b[x>>0]|0}y=y+1|0;if((y|0)>=(D<<24>>24|0))break;else C=D}}B=z;break}case 9:{C=b[z+24>>0]|0;Jj(g);y=f[z+56>>2]|0;x=X(Vj(6)|0,C<<24>>24)|0;Vh(g,y,0,C,6,0,x,((x|0)<0)<<31>>31,0,0);x=Vk(96)|0;wj(x,g);f[h>>2]=x;b[x+84>>0]=1;C=f[x+68>>2]|0;y=x+72|0;A=f[y>>2]|0;if((A|0)!=(C|0))f[y>>2]=A+(~((A+-4-C|0)>>>2)<<2);Lh(x,l)|0;x=f[p>>2]|0;if(x>>>0<(f[o>>2]|0)>>>0){C=f[h>>2]|0;f[h>>2]=0;f[x>>2]=C;C=x+4|0;f[p>>2]=C;E=C}else{Vd(n,h);E=f[p>>2]|0}C=f[E+-4>>2]|0;x=f[h>>2]|0;f[h>>2]=0;if(x|0){A=x+88|0;y=f[A>>2]|0;f[A>>2]=0;if(y|0){A=f[y+8>>2]|0;if(A|0){F=y+12|0;if((f[F>>2]|0)!=(A|0))f[F>>2]=A;ip(A)}ip(y)}y=f[x+68>>2]|0;if(y|0){A=x+72|0;F=f[A>>2]|0;if((F|0)!=(y|0))f[A>>2]=F+(~((F+-4-y|0)>>>2)<<2);ip(y)}y=x+64|0;F=f[y>>2]|0;f[y>>2]=0;if(F|0){y=f[F>>2]|0;if(y|0){A=F+4|0;if((f[A>>2]|0)!=(y|0))f[A>>2]=y;ip(y)}ip(F)}ip(x)}B=C;break}default:{G=0;break a}}C=B;x=f[C+28>>2]|0;F=Vj(x)|0;y=b[C+24>>0]|0;C=f[e>>2]|0;f[C+(v*20|0)>>2]=B;f[C+(v*20|0)+4>>2]=t;f[C+(v*20|0)+8>>2]=x;f[C+(v*20|0)+12>>2]=(F|0)>0?F:0;f[C+(v*20|0)+16>>2]=y;t=t+y|0;v=v+1|0}if((w|0)==44){_f(g,e);switch(k<<24>>24){case 0:{Ce(h,t);k=ne(h,c,g)|0;we(h);if(k)w=52;else H=0;break}case 1:{Ce(h,t);k=me(h,c,g)|0;we(h);if(k)w=52;else H=0;break}case 2:{Ee(h,t);k=pe(h,c,g)|0;Me(h);if(k)w=52;else H=0;break}case 3:{Ee(h,t);k=oe(h,c,g)|0;Me(h);if(k)w=52;else H=0;break}case 4:{ue(h,t);k=le(h,c,g)|0;Ae(h);if(k)w=52;else H=0;break}case 5:{ue(h,t);k=ke(h,c,g)|0;Ae(h);if(k)w=52;else H=0;break}case 6:{ue(h,t);t=je(h,c,g)|0;Ae(h);if(t)w=52;else H=0;break}default:H=0}if((w|0)==52)H=1;w=f[g+16>>2]|0;if(w|0){t=g+20|0;h=f[t>>2]|0;if((h|0)!=(w|0))f[t>>2]=h+(~(((h+-20-w|0)>>>0)/20|0)*20|0);ip(w)}w=f[g>>2]|0;if(w|0){h=g+4|0;if((f[h>>2]|0)!=(w|0))f[h>>2]=w;ip(w)}G=H}H=f[e>>2]|0;if(H|0){e=f[m>>2]|0;if((e|0)!=(H|0))f[m>>2]=e+(~(((e+-20-H|0)>>>0)/20|0)*20|0);ip(H)}i=G;u=d;return i|0}function Ub(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;if(!b){h=0;u=c;return h|0}i=a+12|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=a+16|0;o=f[n>>2]|0;p=f[i>>2]|0;q=o-p>>2;r=p;p=o;if(m>>>0<=q>>>0)if(m>>>0>>0?(o=r+(m<<2)|0,(o|0)!=(p|0)):0){f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2);s=k;t=l}else{s=k;t=l}else{dg(i,m-q|0,3564);s=f[j>>2]|0;t=f[a>>2]|0}f[d>>2]=0;q=d+4|0;f[q>>2]=0;f[d+8>>2]=0;oi(d,s-t>>2);t=f[j>>2]|0;s=f[a>>2]|0;if((t|0)==(s|0)){v=t;w=t}else{m=f[d>>2]|0;l=m;k=l;o=0;p=t;t=l;l=s;s=m;while(1){m=f[l+(o<<2)>>2]|0;n=f[q>>2]|0;if(m>>>0>2>>>0){x=k;y=t;z=p;A=l}else{r=m+1|0;f[e>>2]=0;B=n-s>>2;C=s;D=n;if(r>>>0<=B>>>0)if(r>>>0>>0?(n=C+(r<<2)|0,(n|0)!=(D|0)):0){f[q>>2]=D+(~((D+-4-n|0)>>>2)<<2);E=k;F=p;G=l}else{E=k;F=p;G=l}else{dg(d,r-B|0,e);E=f[d>>2]|0;F=f[j>>2]|0;G=f[a>>2]|0}x=E;y=E;z=F;A=G}B=y+(m<<2)|0;f[B>>2]=(f[B>>2]|0)+1;o=o+1|0;if(o>>>0>=z-A>>2>>>0){v=z;w=A;break}else{k=x;p=z;t=y;l=A;s=y}}}y=v-w|0;w=y>>2;f[e>>2]=0;v=e+4|0;f[v>>2]=0;f[e+8>>2]=0;if(!w){H=0;I=0}else{if(w>>>0>536870911)zo(e);s=Vk(y<<1)|0;f[v>>2]=s;f[e>>2]=s;y=s+(w<<3)|0;f[e+8>>2]=y;A=w;w=s;l=s;while(1){t=w;f[t>>2]=-1;f[t+4>>2]=-1;t=l+8|0;z=A+-1|0;if(!z)break;else{A=z;w=t;l=t}}f[v>>2]=y;H=s;I=s}s=f[q>>2]|0;y=f[d>>2]|0;l=s-y|0;w=l>>2;f[g>>2]=0;A=g+4|0;f[A>>2]=0;f[g+8>>2]=0;t=y;do if(w)if(w>>>0>1073741823)zo(g);else{z=Vk(l)|0;f[g>>2]=z;p=z+(w<<2)|0;f[g+8>>2]=p;Dh(z|0,0,l|0)|0;f[A>>2]=p;J=z;K=p;L=z;break}else{J=0;K=0;L=0}while(0);if((s|0)!=(y|0)){y=0;s=0;while(1){f[J+(s<<2)>>2]=y;l=s+1|0;if(l>>>0>>0){y=(f[t+(s<<2)>>2]|0)+y|0;s=l}else break}}s=f[j>>2]|0;j=f[a>>2]|0;y=j;if((s|0)!=(j|0)){l=a+40|0;a=s-j>>2;j=H;s=H;g=H;z=H;p=H;x=H;k=0;o=J;while(1){G=f[y+(k<<2)>>2]|0;F=k+1|0;E=((F>>>0)%3|0|0)==0?k+-2|0:F;if((E|0)==-1)M=-1;else M=f[y+(E<<2)>>2]|0;E=((k>>>0)%3|0|0)==0;F=(E?2:-1)+k|0;if((F|0)==-1)N=-1;else N=f[y+(F<<2)>>2]|0;if(E?(M|0)==(N|0)|((G|0)==(M|0)|(G|0)==(N|0)):0){f[l>>2]=(f[l>>2]|0)+1;O=j;P=s;Q=g;R=z;S=p;T=x;U=k+2|0;V=o}else W=51;a:do if((W|0)==51){W=0;E=f[t+(N<<2)>>2]|0;b:do if((E|0)>0){F=0;B=f[o+(N<<2)>>2]|0;while(1){m=f[p+(B<<3)>>2]|0;if((m|0)==-1){X=j;Y=s;Z=z;_=p;break b}if((m|0)==(M|0)){m=f[p+(B<<3)+4>>2]|0;if((m|0)==-1)$=-1;else $=f[y+(m<<2)>>2]|0;if((G|0)!=($|0))break}m=F+1|0;if((m|0)<(E|0)){F=m;B=B+1|0}else{X=j;Y=s;Z=z;_=p;break b}}m=f[z+(B<<3)+4>>2]|0;r=F;n=B;D=s;while(1){r=r+1|0;if((r|0)>=(E|0))break;C=n+1|0;f[D+(n<<3)>>2]=f[D+(C<<3)>>2];f[D+(n<<3)+4>>2]=f[D+(C<<3)+4>>2];if((f[j+(n<<3)>>2]|0)==-1)break;else{n=C;D=j}}f[g+(n<<3)>>2]=-1;if((m|0)==-1){X=g;Y=g;Z=g;_=g}else{D=f[i>>2]|0;f[D+(k<<2)>>2]=m;f[D+(m<<2)>>2]=k;O=g;P=g;Q=g;R=g;S=g;T=x;U=k;V=o;break a}}else{X=j;Y=s;Z=z;_=p}while(0);E=f[t+(M<<2)>>2]|0;if((E|0)>0){D=0;r=f[J+(M<<2)>>2]|0;while(1){aa=x+(r<<3)|0;if((f[aa>>2]|0)==-1)break;D=D+1|0;if((D|0)>=(E|0)){O=x;P=x;Q=x;R=x;S=x;T=x;U=k;V=J;break a}else r=r+1|0}f[aa>>2]=N;f[H+(r<<3)+4>>2]=k;O=H;P=H;Q=H;R=H;S=H;T=H;U=k;V=J}else{O=X;P=Y;Q=g;R=Z;S=_;T=x;U=k;V=o}}while(0);k=U+1|0;if(k>>>0>=a>>>0)break;else{j=O;s=P;g=Q;z=R;p=S;x=T;o=V}}}f[b>>2]=w;if(!J){ba=H;ca=I}else{if((K|0)!=(J|0))f[A>>2]=K+(~((K+-4-J|0)>>>2)<<2);ip(L);L=f[e>>2]|0;ba=L;ca=L}if(ba|0){L=f[v>>2]|0;if((L|0)!=(ba|0))f[v>>2]=L+(~((L+-8-ba|0)>>>3)<<3);ip(ca)}ca=f[d>>2]|0;if(ca|0){d=f[q>>2]|0;if((d|0)!=(ca|0))f[q>>2]=d+(~((d+-4-ca|0)>>>2)<<2);ip(ca)}h=1;u=c;return h|0}function Vb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(i=l+(e<<2)|0,(i|0)!=(j|0)):0)f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2)}else Ng(d,e-k|0);k=e>>>0>1073741823?-1:e<<2;d=fp(k)|0;Dh(d|0,0,k|0)|0;i=fp(k)|0;Dh(i|0,0,k|0)|0;k=f[g>>2]|0;if((k|0)>0){j=a+16|0;h=a+32|0;l=a+12|0;m=0;do{n=f[d+(m<<2)>>2]|0;o=f[j>>2]|0;if((n|0)>(o|0)){p=f[h>>2]|0;f[p+(m<<2)>>2]=o;q=p}else{p=f[l>>2]|0;o=f[h>>2]|0;f[o+(m<<2)>>2]=(n|0)<(p|0)?p:n;q=o}m=m+1|0;r=f[g>>2]|0}while((m|0)<(r|0));if((r|0)>0){m=a+20|0;h=0;do{o=(f[b+(h<<2)>>2]|0)+(f[q+(h<<2)>>2]|0)|0;n=c+(h<<2)|0;f[n>>2]=o;if((o|0)<=(f[j>>2]|0)){if((o|0)<(f[l>>2]|0)){s=(f[m>>2]|0)+o|0;t=18}}else{s=o-(f[m>>2]|0)|0;t=18}if((t|0)==18){t=0;f[n>>2]=s}h=h+1|0;n=f[g>>2]|0}while((h|0)<(n|0));u=n}else u=r}else u=k;k=f[a+48>>2]|0;r=f[a+56>>2]|0;h=r+4|0;s=f[h>>2]|0;m=f[r>>2]|0;l=s-m|0;j=l>>2;if((l|0)<=4){gp(i);gp(d);return 1}l=f[a+52>>2]|0;q=(e|0)>0;n=a+16|0;o=a+32|0;p=a+12|0;v=a+20|0;a=k+12|0;w=e<<2;if(s-m>>2>>>0>1){x=1;y=u;z=m}else zo(r);while(1){m=f[z+(x<<2)>>2]|0;if(q)Dh(d|0,0,w|0)|0;if((m|0)!=-1){u=f[a>>2]|0;s=0;A=m;while(1){B=f[u+(A<<2)>>2]|0;if((B|0)!=-1){C=f[k>>2]|0;D=f[l>>2]|0;E=f[D+(f[C+(B<<2)>>2]<<2)>>2]|0;F=B+1|0;G=((F>>>0)%3|0|0)==0?B+-2|0:F;if((G|0)==-1)H=-1;else H=f[C+(G<<2)>>2]|0;G=f[D+(H<<2)>>2]|0;F=(((B>>>0)%3|0|0)==0?2:-1)+B|0;if((F|0)==-1)I=-1;else I=f[C+(F<<2)>>2]|0;F=f[D+(I<<2)>>2]|0;if((E|0)<(x|0)&(G|0)<(x|0)&(F|0)<(x|0)){D=X(E,e)|0;E=X(G,e)|0;G=X(F,e)|0;if(q){F=0;do{f[i+(F<<2)>>2]=(f[c+(F+G<<2)>>2]|0)+(f[c+(F+E<<2)>>2]|0)-(f[c+(F+D<<2)>>2]|0);F=F+1|0}while((F|0)!=(e|0));if(q){F=0;do{D=d+(F<<2)|0;f[D>>2]=(f[D>>2]|0)+(f[i+(F<<2)>>2]|0);F=F+1|0}while((F|0)!=(e|0))}}J=s+1|0}else J=s}else J=s;F=(((A>>>0)%3|0|0)==0?2:-1)+A|0;do if((F|0)!=-1?(D=f[u+(F<<2)>>2]|0,(D|0)!=-1):0)if(!((D>>>0)%3|0)){K=D+2|0;break}else{K=D+-1|0;break}else K=-1;while(0);A=(K|0)==(m|0)?-1:K;if((A|0)==-1)break;else s=J}s=X(x,e)|0;if(J){if(q){A=0;do{m=d+(A<<2)|0;f[m>>2]=(f[m>>2]|0)/(J|0)|0;A=A+1|0}while((A|0)!=(e|0))}A=b+(s<<2)|0;m=c+(s<<2)|0;if((y|0)>0){u=0;do{F=f[d+(u<<2)>>2]|0;D=f[n>>2]|0;if((F|0)>(D|0)){E=f[o>>2]|0;f[E+(u<<2)>>2]=D;L=E}else{E=f[p>>2]|0;D=f[o>>2]|0;f[D+(u<<2)>>2]=(F|0)<(E|0)?E:F;L=D}u=u+1|0;M=f[g>>2]|0}while((u|0)<(M|0));if((M|0)>0){u=0;do{D=(f[A+(u<<2)>>2]|0)+(f[L+(u<<2)>>2]|0)|0;F=m+(u<<2)|0;f[F>>2]=D;if((D|0)<=(f[n>>2]|0)){if((D|0)<(f[p>>2]|0)){N=(f[v>>2]|0)+D|0;t=70}}else{N=D-(f[v>>2]|0)|0;t=70}if((t|0)==70){t=0;f[F>>2]=N}u=u+1|0;F=f[g>>2]|0}while((u|0)<(F|0));O=F}else O=M}else O=y}else{P=s;t=48}}else{P=X(x,e)|0;t=48}if((t|0)==48){t=0;u=c+((X(x+-1|0,e)|0)<<2)|0;m=b+(P<<2)|0;A=c+(P<<2)|0;if((y|0)>0){F=0;do{D=f[u+(F<<2)>>2]|0;E=f[n>>2]|0;if((D|0)>(E|0)){G=f[o>>2]|0;f[G+(F<<2)>>2]=E;Q=G}else{G=f[p>>2]|0;E=f[o>>2]|0;f[E+(F<<2)>>2]=(D|0)<(G|0)?G:D;Q=E}F=F+1|0;R=f[g>>2]|0}while((F|0)<(R|0));if((R|0)>0){F=0;do{u=(f[m+(F<<2)>>2]|0)+(f[Q+(F<<2)>>2]|0)|0;s=A+(F<<2)|0;f[s>>2]=u;if((u|0)<=(f[n>>2]|0)){if((u|0)<(f[p>>2]|0)){S=(f[v>>2]|0)+u|0;t=58}}else{S=u-(f[v>>2]|0)|0;t=58}if((t|0)==58){t=0;f[s>>2]=S}F=F+1|0;s=f[g>>2]|0}while((F|0)<(s|0));O=s}else O=R}else O=y}x=x+1|0;if((x|0)>=(j|0)){t=22;break}z=f[r>>2]|0;if((f[h>>2]|0)-z>>2>>>0<=x>>>0){t=23;break}else y=O}if((t|0)==22){gp(i);gp(d);return 1}else if((t|0)==23)zo(r);return 0}function Wb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(i=l+(e<<2)|0,(i|0)!=(j|0)):0)f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2)}else Ng(d,e-k|0);k=e>>>0>1073741823?-1:e<<2;d=fp(k)|0;Dh(d|0,0,k|0)|0;i=fp(k)|0;Dh(i|0,0,k|0)|0;k=f[g>>2]|0;if((k|0)>0){j=a+16|0;h=a+32|0;l=a+12|0;m=0;do{n=f[d+(m<<2)>>2]|0;o=f[j>>2]|0;if((n|0)>(o|0)){p=f[h>>2]|0;f[p+(m<<2)>>2]=o;q=p}else{p=f[l>>2]|0;o=f[h>>2]|0;f[o+(m<<2)>>2]=(n|0)<(p|0)?p:n;q=o}m=m+1|0;r=f[g>>2]|0}while((m|0)<(r|0));if((r|0)>0){m=a+20|0;h=0;do{o=(f[b+(h<<2)>>2]|0)+(f[q+(h<<2)>>2]|0)|0;n=c+(h<<2)|0;f[n>>2]=o;if((o|0)<=(f[j>>2]|0)){if((o|0)<(f[l>>2]|0)){s=(f[m>>2]|0)+o|0;t=18}}else{s=o-(f[m>>2]|0)|0;t=18}if((t|0)==18){t=0;f[n>>2]=s}h=h+1|0;n=f[g>>2]|0}while((h|0)<(n|0));u=n}else u=r}else u=k;k=f[a+48>>2]|0;r=f[a+56>>2]|0;h=r+4|0;s=f[h>>2]|0;m=f[r>>2]|0;l=s-m|0;j=l>>2;if((l|0)<=4){gp(i);gp(d);return 1}l=f[a+52>>2]|0;q=(e|0)>0;n=a+16|0;o=a+32|0;p=a+12|0;v=a+20|0;a=k+64|0;w=k+28|0;x=e<<2;if(s-m>>2>>>0>1){y=1;z=u;A=m}else zo(r);while(1){m=f[A+(y<<2)>>2]|0;if(q)Dh(d|0,0,x|0)|0;if((m|0)!=-1){u=f[k>>2]|0;s=0;B=m;while(1){if(((f[u+(B>>>5<<2)>>2]&1<<(B&31)|0)==0?(C=f[(f[(f[a>>2]|0)+12>>2]|0)+(B<<2)>>2]|0,(C|0)!=-1):0)?(D=f[w>>2]|0,E=f[l>>2]|0,F=f[E+(f[D+(C<<2)>>2]<<2)>>2]|0,G=C+1|0,H=f[E+(f[D+((((G>>>0)%3|0|0)==0?C+-2|0:G)<<2)>>2]<<2)>>2]|0,G=f[E+(f[D+((((C>>>0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(F|0)<(y|0)&(H|0)<(y|0)&(G|0)<(y|0)):0){C=X(F,e)|0;F=X(H,e)|0;H=X(G,e)|0;if(q){G=0;do{f[i+(G<<2)>>2]=(f[c+(G+H<<2)>>2]|0)+(f[c+(G+F<<2)>>2]|0)-(f[c+(G+C<<2)>>2]|0);G=G+1|0}while((G|0)!=(e|0));if(q){G=0;do{C=d+(G<<2)|0;f[C>>2]=(f[C>>2]|0)+(f[i+(G<<2)>>2]|0);G=G+1|0}while((G|0)!=(e|0))}}I=s+1|0}else I=s;G=(((B>>>0)%3|0|0)==0?2:-1)+B|0;do if(((G|0)!=-1?(f[u+(G>>>5<<2)>>2]&1<<(G&31)|0)==0:0)?(C=f[(f[(f[a>>2]|0)+12>>2]|0)+(G<<2)>>2]|0,(C|0)!=-1):0)if(!((C>>>0)%3|0)){J=C+2|0;break}else{J=C+-1|0;break}else J=-1;while(0);B=(J|0)==(m|0)?-1:J;if((B|0)==-1)break;else s=I}s=X(y,e)|0;if(I){if(q){B=0;do{m=d+(B<<2)|0;f[m>>2]=(f[m>>2]|0)/(I|0)|0;B=B+1|0}while((B|0)!=(e|0))}B=b+(s<<2)|0;m=c+(s<<2)|0;if((z|0)>0){u=0;do{G=f[d+(u<<2)>>2]|0;C=f[n>>2]|0;if((G|0)>(C|0)){F=f[o>>2]|0;f[F+(u<<2)>>2]=C;K=F}else{F=f[p>>2]|0;C=f[o>>2]|0;f[C+(u<<2)>>2]=(G|0)<(F|0)?F:G;K=C}u=u+1|0;L=f[g>>2]|0}while((u|0)<(L|0));if((L|0)>0){u=0;do{C=(f[B+(u<<2)>>2]|0)+(f[K+(u<<2)>>2]|0)|0;G=m+(u<<2)|0;f[G>>2]=C;if((C|0)<=(f[n>>2]|0)){if((C|0)<(f[p>>2]|0)){M=(f[v>>2]|0)+C|0;t=68}}else{M=C-(f[v>>2]|0)|0;t=68}if((t|0)==68){t=0;f[G>>2]=M}u=u+1|0;G=f[g>>2]|0}while((u|0)<(G|0));N=G}else N=L}else N=z}else{O=s;t=46}}else{O=X(y,e)|0;t=46}if((t|0)==46){t=0;u=c+((X(y+-1|0,e)|0)<<2)|0;m=b+(O<<2)|0;B=c+(O<<2)|0;if((z|0)>0){G=0;do{C=f[u+(G<<2)>>2]|0;F=f[n>>2]|0;if((C|0)>(F|0)){H=f[o>>2]|0;f[H+(G<<2)>>2]=F;P=H}else{H=f[p>>2]|0;F=f[o>>2]|0;f[F+(G<<2)>>2]=(C|0)<(H|0)?H:C;P=F}G=G+1|0;Q=f[g>>2]|0}while((G|0)<(Q|0));if((Q|0)>0){G=0;do{u=(f[m+(G<<2)>>2]|0)+(f[P+(G<<2)>>2]|0)|0;s=B+(G<<2)|0;f[s>>2]=u;if((u|0)<=(f[n>>2]|0)){if((u|0)<(f[p>>2]|0)){R=(f[v>>2]|0)+u|0;t=56}}else{R=u-(f[v>>2]|0)|0;t=56}if((t|0)==56){t=0;f[s>>2]=R}G=G+1|0;s=f[g>>2]|0}while((G|0)<(s|0));N=s}else N=Q}else N=z}y=y+1|0;if((y|0)>=(j|0)){t=22;break}A=f[r>>2]|0;if((f[h>>2]|0)-A>>2>>>0<=y>>>0){t=23;break}else z=N}if((t|0)==22){gp(i);gp(d);return 1}else if((t|0)==23)zo(r);return 0}function Xb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=Na,ca=Na,da=0,ea=0,fa=Na,ga=Na,ha=Na;c=u;u=u+32|0;d=c+12|0;e=c;g=a+60|0;if((f[g>>2]|0)==(f[a+64>>2]|0)?(f[a+48>>2]|0)==(f[a+52>>2]|0):0){h=1;u=c;return h|0}if((Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0)<=0){h=1;u=c;return h|0}i=d+4|0;j=d+8|0;k=e+4|0;l=e+8|0;m=e+8|0;o=d+8|0;p=a+36|0;q=d+8|0;r=d+4|0;s=d+11|0;t=d+4|0;v=0;w=0;x=0;a:while(1){y=Qa[f[(f[a>>2]|0)+20>>2]&127](a,x)|0;z=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;A=f[(f[(f[z>>2]|0)+8>>2]|0)+(y<<2)>>2]|0;y=A+28|0;b:do switch(f[y>>2]|0){case 1:case 3:case 5:{z=A+24|0;B=b[z>>0]|0;C=B<<24>>24;f[d>>2]=0;f[i>>2]=0;f[j>>2]=0;if(!(B<<24>>24))D=0;else{if(B<<24>>24<0){E=8;break a}B=C<<2;F=Vk(B)|0;f[d>>2]=F;G=F+(C<<2)|0;f[o>>2]=G;Dh(F|0,0,B|0)|0;f[i>>2]=G;D=b[z>>0]|0}G=D<<24>>24;f[e>>2]=0;f[k>>2]=0;f[l>>2]=0;if(D<<24>>24){if(D<<24>>24<0){E=12;break a}B=G<<2;F=Vk(B)|0;f[e>>2]=F;C=F+(G<<2)|0;f[m>>2]=C;Dh(F|0,0,B|0)|0;f[k>>2]=C}switch(f[y>>2]|0){case 5:{if(Kd(a,A,w)|0)E=18;else{H=1;I=w}break}case 3:{if(Jd(a,A,w)|0)E=18;else{H=1;I=w}break}case 1:{if(Ad(a,A,w)|0)E=18;else{H=1;I=w}break}default:E=18}if((E|0)==18){E=0;H=0;I=w+(b[z>>0]|0)|0}z=f[e>>2]|0;if(z|0){C=f[k>>2]|0;if((C|0)!=(z|0))f[k>>2]=C+(~((C+-4-z|0)>>>2)<<2);ip(z)}z=f[d>>2]|0;if(z|0){C=f[i>>2]|0;if((C|0)!=(z|0))f[i>>2]=C+(~((C+-4-z|0)>>>2)<<2);ip(z)}if(!H){J=v;K=I}else{h=0;E=52;break a}break}case 9:{z=f[(f[g>>2]|0)+(v<<2)>>2]|0;C=f[p>>2]|0;B=v+1|0;F=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;G=f[F>>2]|0;F=f[A+56>>2]|0;L=Vk(32)|0;f[d>>2]=L;f[q>>2]=-2147483616;f[r>>2]=24;M=L;N=11767;O=M+24|0;do{b[M>>0]=b[N>>0]|0;M=M+1|0;N=N+1|0}while((M|0)<(O|0));b[L+24>>0]=0;N=G+16|0;M=f[N>>2]|0;if(M){O=N;P=M;c:while(1){M=P;while(1){if((f[M+16>>2]|0)>=(F|0))break;Q=f[M+4>>2]|0;if(!Q){R=O;break c}else M=Q}P=f[M>>2]|0;if(!P){R=M;break}else O=M}if(((R|0)!=(N|0)?(F|0)>=(f[R+16>>2]|0):0)?(O=R+20|0,(ig(O,d)|0)!=0):0)S=ei(O,d,0)|0;else E=37}else E=37;if((E|0)==37){E=0;S=ei(G,d,0)|0}if((b[s>>0]|0)<0)ip(f[d>>2]|0);if(S){$d(A,z);J=B;K=w;break b}O=f[C+(v*24|0)+4>>2]|0;P=b[A+24>>0]|0;L=P<<24>>24;Q=L<<2;T=fp(L>>>0>1073741823?-1:L<<2)|0;Bn(d);if(!(Pk(d,$(n[C+(v*24|0)+20>>2]),(1<>2]>>2]|0)+(f[z+48>>2]|0)|0;U=z+80|0;d:do if(f[U>>2]|0){V=A+64|0;W=C+(v*24|0)+8|0;if(P<<24>>24>0){X=0;Y=0;Z=0}else{_=0;aa=0;while(1){Jf((f[f[V>>2]>>2]|0)+aa|0,T|0,Q|0)|0;_=_+1|0;if(_>>>0>=(f[U>>2]|0)>>>0)break d;else aa=aa+Q|0}}while(1){aa=f[W>>2]|0;ba=$(n[t>>2]);ca=$(n[d>>2]);_=0;M=Z;while(1){da=f[O+(M<<2)>>2]|0;ea=(da|0)<0;fa=$(ba*$((ea?0-da|0:da)|0));ga=$(-fa);ha=$(ca*(ea?ga:fa));fa=$($(n[aa+(_<<2)>>2])+ha);n[T+(_<<2)>>2]=fa;_=_+1|0;if((_|0)==(L|0))break;else M=M+1|0}Jf((f[f[V>>2]>>2]|0)+Y|0,T|0,Q|0)|0;X=X+1|0;if(X>>>0>=(f[U>>2]|0)>>>0)break;else{Y=Y+Q|0;Z=Z+L|0}}}while(0);gp(T);J=B;K=w;break}default:{J=v;K=w}}while(0);x=x+1|0;if((x|0)>=(Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0)){h=1;E=52;break}else{v=J;w=K}}if((E|0)==8)zo(d);else if((E|0)==12)zo(e);else if((E|0)==51){gp(T);h=0;u=c;return h|0}else if((E|0)==52){u=c;return h|0}return 0}function Yb(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;e=a+8|0;g=f[e>>2]|0;switch(f[g+28>>2]|0){case 2:{h=b[g+24>>0]|0;i=h<<24>>24;j=fp((i|0)>-1?i:-1)|0;k=f[a+16>>2]|0;l=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;a:do if(c|0){if(h<<24>>24>0){m=0;n=0}else{Jf(f[f[g+64>>2]>>2]|0,j|0,i|0)|0;if((c|0)==1)break;else{o=0;p=1}while(1){o=o+i|0;Jf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+o|0,j|0,i|0)|0;p=p+1|0;if((p|0)==(c|0))break a}}while(1){k=0;q=n;while(1){b[j+k>>0]=f[l+(q<<2)>>2];k=k+1|0;if((k|0)==(i|0))break;else q=q+1|0}Jf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+n|0,j|0,i|0)|0;m=m+1|0;if((m|0)==(c|0))break;else n=n+i|0}}while(0);gp(j);r=1;return r|0}case 1:{j=b[g+24>>0]|0;i=j<<24>>24;n=fp((i|0)>-1?i:-1)|0;m=f[a+16>>2]|0;l=(f[f[m>>2]>>2]|0)+(f[m+48>>2]|0)|0;b:do if(c|0){if(j<<24>>24>0){s=0;t=0}else{Jf(f[f[g+64>>2]>>2]|0,n|0,i|0)|0;if((c|0)==1)break;else{u=0;v=1}while(1){u=u+i|0;Jf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+u|0,n|0,i|0)|0;v=v+1|0;if((v|0)==(c|0))break b}}while(1){m=0;p=t;while(1){b[n+m>>0]=f[l+(p<<2)>>2];m=m+1|0;if((m|0)==(i|0))break;else p=p+1|0}Jf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+t|0,n|0,i|0)|0;s=s+1|0;if((s|0)==(c|0))break;else t=t+i|0}}while(0);gp(n);r=1;return r|0}case 4:{n=b[g+24>>0]|0;i=n<<24>>24;t=i<<1;s=fp(i>>>0>2147483647?-1:i<<1)|0;l=f[a+16>>2]|0;v=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;c:do if(c|0){if(n<<24>>24>0){w=0;x=0;y=0}else{Jf(f[f[g+64>>2]>>2]|0,s|0,t|0)|0;if((c|0)==1)break;else{z=0;A=1}while(1){z=z+t|0;Jf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+z|0,s|0,t|0)|0;A=A+1|0;if((A|0)==(c|0))break c}}while(1){l=0;u=y;while(1){d[s+(l<<1)>>1]=f[v+(u<<2)>>2];l=l+1|0;if((l|0)==(i|0))break;else u=u+1|0}Jf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+x|0,s|0,t|0)|0;w=w+1|0;if((w|0)==(c|0))break;else{x=x+t|0;y=y+i|0}}}while(0);gp(s);r=1;return r|0}case 3:{s=b[g+24>>0]|0;i=s<<24>>24;y=i<<1;t=fp(i>>>0>2147483647?-1:i<<1)|0;x=f[a+16>>2]|0;w=(f[f[x>>2]>>2]|0)+(f[x+48>>2]|0)|0;d:do if(c|0){if(s<<24>>24>0){B=0;C=0;D=0}else{Jf(f[f[g+64>>2]>>2]|0,t|0,y|0)|0;if((c|0)==1)break;else{E=0;F=1}while(1){E=E+y|0;Jf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+E|0,t|0,y|0)|0;F=F+1|0;if((F|0)==(c|0))break d}}while(1){x=0;v=D;while(1){d[t+(x<<1)>>1]=f[w+(v<<2)>>2];x=x+1|0;if((x|0)==(i|0))break;else v=v+1|0}Jf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+C|0,t|0,y|0)|0;B=B+1|0;if((B|0)==(c|0))break;else{C=C+y|0;D=D+i|0}}}while(0);gp(t);r=1;return r|0}case 6:{t=b[g+24>>0]|0;i=t<<24>>24;D=i<<2;y=fp(i>>>0>1073741823?-1:i<<2)|0;C=f[a+16>>2]|0;B=(f[f[C>>2]>>2]|0)+(f[C+48>>2]|0)|0;e:do if(c|0){if(t<<24>>24>0){G=0;H=0;I=0}else{Jf(f[f[g+64>>2]>>2]|0,y|0,D|0)|0;if((c|0)==1)break;else{J=0;K=1}while(1){J=J+D|0;Jf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+J|0,y|0,D|0)|0;K=K+1|0;if((K|0)==(c|0))break e}}while(1){C=0;w=I;while(1){f[y+(C<<2)>>2]=f[B+(w<<2)>>2];C=C+1|0;if((C|0)==(i|0))break;else w=w+1|0}Jf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+H|0,y|0,D|0)|0;G=G+1|0;if((G|0)==(c|0))break;else{H=H+D|0;I=I+i|0}}}while(0);gp(y);r=1;return r|0}case 5:{y=b[g+24>>0]|0;i=y<<24>>24;I=i<<2;D=fp(i>>>0>1073741823?-1:i<<2)|0;H=f[a+16>>2]|0;a=(f[f[H>>2]>>2]|0)+(f[H+48>>2]|0)|0;f:do if(c|0){if(y<<24>>24>0){L=0;M=0;N=0}else{Jf(f[f[g+64>>2]>>2]|0,D|0,I|0)|0;if((c|0)==1)break;else{O=0;P=1}while(1){O=O+I|0;Jf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+O|0,D|0,I|0)|0;P=P+1|0;if((P|0)==(c|0))break f}}while(1){H=0;G=N;while(1){f[D+(H<<2)>>2]=f[a+(G<<2)>>2];H=H+1|0;if((H|0)==(i|0))break;else G=G+1|0}Jf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+M|0,D|0,I|0)|0;L=L+1|0;if((L|0)==(c|0))break;else{M=M+I|0;N=N+i|0}}}while(0);gp(D);r=1;return r|0}default:{r=0;return r|0}}return 0}function Zb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=u;u=u+176|0;e=d+136|0;g=d+32|0;i=d;j=d+104|0;k=d+100|0;l=a+4|0;m=f[l>>2]|0;n=f[m+32>>2]|0;o=n+8|0;p=f[o>>2]|0;q=f[o+4>>2]|0;o=n+16|0;r=o;s=f[r>>2]|0;t=f[r+4>>2]|0;if(!((q|0)>(t|0)|(q|0)==(t|0)&p>>>0>s>>>0)){v=0;u=d;return v|0}r=f[n>>2]|0;n=b[r+s>>0]|0;w=Rl(s|0,t|0,1,0)|0;x=I;y=o;f[y>>2]=w;f[y+4>>2]=x;if(!((q|0)>(x|0)|(q|0)==(x|0)&p>>>0>w>>>0)){v=0;u=d;return v|0}x=b[r+w>>0]|0;w=Rl(s|0,t|0,2,0)|0;y=I;z=o;f[z>>2]=w;f[z+4>>2]=y;do if(n<<24>>24>-1){z=n<<24>>24;A=f[a+212>>2]|0;if((((f[a+216>>2]|0)-A|0)/144|0)>>>0>z>>>0){f[A+(z*144|0)>>2]=c;break}else{v=0;u=d;return v|0}}while(0);do if((((h[m+36>>0]|0)<<8|(h[m+37>>0]|0))&65535)>257)if((q|0)>(y|0)|(q|0)==(y|0)&p>>>0>w>>>0){z=b[r+w>>0]|0;A=Rl(s|0,t|0,3,0)|0;B=o;f[B>>2]=A;f[B+4>>2]=I;C=z&255;break}else{v=0;u=d;return v|0}else C=0;while(0);o=f[m+44>>2]|0;if(!(x<<24>>24)){if(n<<24>>24<0)D=a+184|0;else{x=n<<24>>24;m=f[a+212>>2]|0;b[m+(x*144|0)+100>>0]=0;D=m+(x*144|0)+104|0}switch((C&255)<<24>>24){case 0:{Lc(e,a,D);E=f[e>>2]|0;break}case 1:{Rd(e,a,D);E=f[e>>2]|0;break}default:{v=0;u=d;return v|0}}if(!E){v=0;u=d;return v|0}else F=E}else{if(n<<24>>24<0|(C|0)!=0){v=0;u=d;return v|0}C=Vk(88)|0;E=n<<24>>24;n=f[a+212>>2]|0;a=n+(E*144|0)+104|0;f[C+4>>2]=0;f[C>>2]=3124;D=C+12|0;f[D>>2]=3148;x=C+64|0;f[x>>2]=0;f[C+68>>2]=0;f[C+72>>2]=0;m=C+16|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));f[C+76>>2]=o;f[C+80>>2]=a;f[C+84>>2]=0;s=g+4|0;f[s>>2]=3148;w=g+56|0;f[w>>2]=0;r=g+60|0;f[r>>2]=0;f[g+64>>2]=0;m=g+8|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));m=n+(E*144|0)+4|0;f[i>>2]=3148;t=i+4|0;p=t+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[t>>2]=m;t=f[n+(E*144|0)+68>>2]|0;E=((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;Nf(i+8|0,E,e);Ua[f[(f[i>>2]|0)+8>>2]&127](i);ze(j,i);ze(e,j);f[g>>2]=f[e+4>>2];E=g+4|0;Se(E,e)|0;f[e>>2]=3148;t=f[e+20>>2]|0;if(t|0)ip(t);t=f[e+8>>2]|0;if(t|0)ip(t);f[g+36>>2]=m;f[g+40>>2]=a;f[g+44>>2]=o;f[g+48>>2]=C;f[j>>2]=3148;o=f[j+20>>2]|0;if(o|0)ip(o);o=f[j+8>>2]|0;if(o|0)ip(o);f[C+8>>2]=f[g>>2];Se(D,E)|0;E=C+44|0;D=g+36|0;f[E>>2]=f[D>>2];f[E+4>>2]=f[D+4>>2];f[E+8>>2]=f[D+8>>2];f[E+12>>2]=f[D+12>>2];b[E+16>>0]=b[D+16>>0]|0;We(x,f[w>>2]|0,f[r>>2]|0);x=C;f[i>>2]=3148;C=f[i+20>>2]|0;if(C|0)ip(C);C=f[i+8>>2]|0;if(C|0)ip(C);C=f[w>>2]|0;if(C|0){w=f[r>>2]|0;if((w|0)!=(C|0))f[r>>2]=w+(~((w+-4-C|0)>>>2)<<2);ip(C)}f[s>>2]=3148;s=f[g+24>>2]|0;if(s|0)ip(s);s=f[g+12>>2]|0;if(s|0)ip(s);F=x}x=Vk(64)|0;f[k>>2]=F;tj(x,k);F=x;s=f[k>>2]|0;f[k>>2]=0;if(s|0)Ua[f[(f[s>>2]|0)+4>>2]&127](s);s=f[l>>2]|0;if((c|0)<0){Ua[f[(f[x>>2]|0)+4>>2]&127](x);v=0;u=d;return v|0}x=s+8|0;l=s+12|0;s=f[l>>2]|0;k=f[x>>2]|0;g=s-k>>2;do if((g|0)<=(c|0)){C=c+1|0;w=s;if(C>>>0>g>>>0){hf(x,C-g|0);break}if(C>>>0>>0?(r=k+(C<<2)|0,(r|0)!=(w|0)):0){C=w;do{w=C+-4|0;f[l>>2]=w;i=f[w>>2]|0;f[w>>2]=0;if(i|0)Ua[f[(f[i>>2]|0)+4>>2]&127](i);C=f[l>>2]|0}while((C|0)!=(r|0))}}while(0);l=(f[x>>2]|0)+(c<<2)|0;c=f[l>>2]|0;f[l>>2]=F;if(!c){v=1;u=d;return v|0}Ua[f[(f[c>>2]|0)+4>>2]&127](c);v=1;u=d;return v|0}function _b(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!a)return;b=a+-8|0;c=f[4118]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((f[4119]|0)==(h|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=i;n=h;break}f[4116]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[4114]=f[4114]&~(1<>2]=j;f[j+8>>2]=g;l=h;m=i;n=h;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}while(1){o=s+20|0;p=f[o>>2]|0;if(p|0){s=p;t=o;continue}o=s+16|0;p=f[o>>2]|0;if(!p)break;else{s=p;t=o}}f[t>>2]=0;r=s}else{o=f[h+8>>2]|0;f[o+12>>2]=j;f[j+8>>2]=o;r=j}while(0);if(g){j=f[h+28>>2]|0;o=16760+(j<<2)|0;if((f[o>>2]|0)==(h|0)){f[o>>2]=r;if(!r){f[4115]=f[4115]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=r;if(!r){l=h;m=i;n=h;break}}f[r+24>>2]=g;j=h+16|0;o=f[j>>2]|0;if(o|0){f[r+16>>2]=o;f[o+24>>2]=r}o=f[j+4>>2]|0;if(o){f[r+20>>2]=o;f[o+24>>2]=r;l=h;m=i;n=h}else{l=h;m=i;n=h}}else{l=h;m=i;n=h}}else{l=b;m=a;n=b}while(0);if(n>>>0>=e>>>0)return;b=e+4|0;a=f[b>>2]|0;if(!(a&1))return;if(!(a&2)){if((f[4120]|0)==(e|0)){r=(f[4117]|0)+m|0;f[4117]=r;f[4120]=l;f[l+4>>2]=r|1;if((l|0)!=(f[4119]|0))return;f[4119]=0;f[4116]=0;return}if((f[4119]|0)==(e|0)){r=(f[4116]|0)+m|0;f[4116]=r;f[4119]=n;f[l+4>>2]=r|1;f[n+r>>2]=r;return}r=(a&-8)+m|0;s=a>>>3;do if(a>>>0<256){t=f[e+8>>2]|0;c=f[e+12>>2]|0;if((c|0)==(t|0)){f[4114]=f[4114]&~(1<>2]=c;f[c+8>>2]=t;break}}else{t=f[e+24>>2]|0;c=f[e+12>>2]|0;do if((c|0)==(e|0)){d=e+16|0;o=d+4|0;j=f[o>>2]|0;if(!j){p=f[d>>2]|0;if(!p){u=0;break}else{v=p;w=d}}else{v=j;w=o}while(1){o=v+20|0;j=f[o>>2]|0;if(j|0){v=j;w=o;continue}o=v+16|0;j=f[o>>2]|0;if(!j)break;else{v=j;w=o}}f[w>>2]=0;u=v}else{o=f[e+8>>2]|0;f[o+12>>2]=c;f[c+8>>2]=o;u=c}while(0);if(t|0){c=f[e+28>>2]|0;h=16760+(c<<2)|0;if((f[h>>2]|0)==(e|0)){f[h>>2]=u;if(!u){f[4115]=f[4115]&~(1<>2]|0)!=(e|0)&1)<<2)>>2]=u;if(!u)break}f[u+24>>2]=t;c=e+16|0;h=f[c>>2]|0;if(h|0){f[u+16>>2]=h;f[h+24>>2]=u}h=f[c+4>>2]|0;if(h|0){f[u+20>>2]=h;f[h+24>>2]=u}}}while(0);f[l+4>>2]=r|1;f[n+r>>2]=r;if((l|0)==(f[4119]|0)){f[4116]=r;return}else x=r}else{f[b>>2]=a&-2;f[l+4>>2]=m|1;f[n+m>>2]=m;x=m}m=x>>>3;if(x>>>0<256){n=16496+(m<<1<<2)|0;a=f[4114]|0;b=1<>2]|0;z=b}f[z>>2]=l;f[y+12>>2]=l;f[l+8>>2]=y;f[l+12>>2]=n;return}n=x>>>8;if(n)if(x>>>0>16777215)A=31;else{y=(n+1048320|0)>>>16&8;z=n<>>16&4;b=z<>>16&2;a=14-(n|y|z)+(b<>>15)|0;A=x>>>(a+7|0)&1|a<<1}else A=0;a=16760+(A<<2)|0;f[l+28>>2]=A;f[l+20>>2]=0;f[l+16>>2]=0;z=f[4115]|0;b=1<>>1)|0);n=f[a>>2]|0;while(1){if((f[n+4>>2]&-8|0)==(x|0)){B=73;break}C=n+16+(y>>>31<<2)|0;m=f[C>>2]|0;if(!m){B=72;break}else{y=y<<1;n=m}}if((B|0)==72){f[C>>2]=l;f[l+24>>2]=n;f[l+12>>2]=l;f[l+8>>2]=l;break}else if((B|0)==73){y=n+8|0;t=f[y>>2]|0;f[t+12>>2]=l;f[y>>2]=l;f[l+8>>2]=t;f[l+12>>2]=n;f[l+24>>2]=0;break}}else{f[4115]=z|b;f[a>>2]=l;f[l+24>>2]=a;f[l+12>>2]=l;f[l+8>>2]=l}while(0);l=(f[4122]|0)+-1|0;f[4122]=l;if(!l)D=16912;else return;while(1){l=f[D>>2]|0;if(!l)break;else D=l+8|0}f[4122]=-1;return}function $b(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+16|0;e=d;g=a+144|0;i=f[g>>2]|0;k=Pa[f[(f[i>>2]|0)+32>>2]&127](i)|0;do if((((h[k+36>>0]|0)<<8|(h[k+37>>0]|0))&65535)<514){i=a+40|0;l=i;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if(Ef(i,1,e)|0){l=a;m=i;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i=e;o=f[i>>2]|0;p=f[i+4>>2]|0;i=a+8|0;q=a+16|0;r=q;s=f[r>>2]|0;t=f[r+4>>2]|0;r=Tl(f[i>>2]|0,f[i+4>>2]|0,s|0,t|0)|0;i=I;if(!(p>>>0>i>>>0|(p|0)==(i|0)&o>>>0>r>>>0)){r=Rl(s|0,t|0,o|0,p|0)|0;p=q;f[p>>2]=r;f[p+4>>2]=I;break}}v=0;u=d;return v|0}while(0);do if((j[a+38>>1]|0)<514){k=a+96|0;l=k;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if(Ef(k,1,e)|0){l=a;m=k;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));k=e;p=f[k>>2]|0;r=f[k+4>>2]|0;k=a+8|0;q=a+16|0;o=q;t=f[o>>2]|0;s=f[o+4>>2]|0;o=Tl(f[k>>2]|0,f[k+4>>2]|0,t|0,s|0)|0;k=I;if(!(r>>>0>k>>>0|(r|0)==(k|0)&p>>>0>o>>>0)){o=Rl(t|0,s|0,p|0,r|0)|0;r=q;f[r>>2]=o;f[r+4>>2]=I;break}}v=0;u=d;return v|0}else Bd(a+80|0,a)|0;while(0);if(!(Yg(a)|0)){v=0;u=d;return v|0}l=c;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));m=f[g>>2]|0;l=Pa[f[(f[m>>2]|0)+32>>2]&127](m)|0;do if((((h[l+36>>0]|0)<<8|(h[l+37>>0]|0))&65535)<514){m=f[g>>2]|0;n=(Pa[f[(f[m>>2]|0)+32>>2]&127](m)|0)+36|0;if(((h[n>>0]|0)<<8&65535)<512){n=c+8|0;m=f[n>>2]|0;r=f[n+4>>2]|0;n=c+16|0;o=n;q=f[o>>2]|0;p=Rl(q|0,f[o+4>>2]|0,4,0)|0;o=I;if(!((r|0)<(o|0)|(r|0)==(o|0)&m>>>0

>>0)){m=(f[c>>2]|0)+q|0;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;f[e>>2]=q;m=n;f[m>>2]=p;f[m+4>>2]=o;w=q;x=19}}else if(Ph(e,c)|0){w=f[e>>2]|0;x=19}if((((x|0)==19?(q=f[a+152>>2]|0,w>>>0>>0):0)?(o=c+8|0,m=f[o+4>>2]|0,p=c+16|0,n=p,r=f[n>>2]|0,s=f[n+4>>2]|0,(m|0)>(s|0)|((m|0)==(s|0)?(f[o>>2]|0)>>>0>r>>>0:0)):0)?(o=b[(f[c>>2]|0)+r>>0]|0,m=Rl(r|0,s|0,1,0)|0,s=p,f[s>>2]=m,f[s+4>>2]=I,o<<24>>24==0):0){f[a+176>>2]=2;f[a+180>>2]=7;y=q;break}v=0;u=d;return v|0}else{f[a+176>>2]=2;f[a+180>>2]=7;y=f[a+152>>2]|0}while(0);if((y|0)<0){v=0;u=d;return v|0}w=a+156|0;f[e>>2]=0;x=a+160|0;g=f[x>>2]|0;l=f[w>>2]|0;q=g-l>>2;o=l;l=g;if(y>>>0<=q>>>0)if(y>>>0>>0?(g=o+(y<<2)|0,(g|0)!=(l|0)):0){f[x>>2]=l+(~((l+-4-g|0)>>>2)<<2);z=7;A=2}else{z=7;A=2}else{dg(w,y-q|0,e);z=f[a+180>>2]|0;A=f[a+176>>2]|0}q=z-A+1|0;A=a+184|0;z=a+188|0;y=f[z>>2]|0;w=f[A>>2]|0;g=(y-w|0)/12|0;l=w;w=y;if(q>>>0<=g>>>0)if(q>>>0>>0?(x=l+(q*12|0)|0,(x|0)!=(w|0)):0){l=w;while(1){w=l+-12|0;f[z>>2]=w;o=f[w>>2]|0;if(!o)B=w;else{w=l+-8|0;s=f[w>>2]|0;if((s|0)!=(o|0))f[w>>2]=s+(~((s+-4-o|0)>>>2)<<2);ip(o);B=f[z>>2]|0}if((B|0)==(x|0))break;else l=B}C=B}else C=y;else{Fe(A,q-g|0);C=f[z>>2]|0}g=a+196|0;q=f[A>>2]|0;y=(C-q|0)/12|0;B=a+200|0;a=f[B>>2]|0;l=f[g>>2]|0;x=a-l>>2;o=l;l=a;if(y>>>0<=x>>>0)if(y>>>0>>0?(a=o+(y<<2)|0,(a|0)!=(l|0)):0){f[B>>2]=l+(~((l+-4-a|0)>>>2)<<2);D=C;E=q}else{D=C;E=q}else{Ng(g,y-x|0);D=f[z>>2]|0;E=f[A>>2]|0}if((D|0)==(E|0)){v=1;u=d;return v|0}E=0;do{Ph(e,c)|0;D=f[e>>2]|0;if(D|0){x=f[A>>2]|0;y=x+(E*12|0)|0;q=x+(E*12|0)+4|0;C=f[q>>2]|0;a=f[y>>2]|0;l=C-a>>2;B=a;a=C;if(D>>>0<=l>>>0)if(D>>>0>>0?(C=B+(D<<2)|0,(C|0)!=(a|0)):0){f[q>>2]=a+(~((a+-4-C|0)>>>2)<<2);F=x;G=D}else{F=x;G=D}else{Ng(y,D-l|0);F=f[A>>2]|0;G=f[e>>2]|0}yh(G,1,c,f[F+(E*12|0)>>2]|0)|0;f[(f[g>>2]|0)+(E<<2)>>2]=f[e>>2]}E=E+1|0}while(E>>>0<(((f[z>>2]|0)-(f[A>>2]|0)|0)/12|0)>>>0);v=1;u=d;return v|0}function ac(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=Na,F=Na,G=Na,H=0,I=0,J=0,K=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;e=i;j=i;while(1){k=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;e=(X(k>>>24^k,1540483477)|0)^(X(e,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else d=d+4|0}d=i+-4|0;j=d&-4;l=d-j|0;m=g+(j+4)|0;o=e}else{l=i;m=g;o=i}switch(l|0){case 3:{p=h[m+2>>0]<<16^o;q=6;break}case 2:{p=o;q=6;break}case 1:{r=o;q=7;break}default:s=o}if((q|0)==6){r=h[m+1>>0]<<8^p;q=7}if((q|0)==7)s=X(r^h[m>>0],1540483477)|0;m=X(s>>>13^s,1540483477)|0;s=m>>>15^m;m=a+4|0;r=f[m>>2]|0;p=(r|0)==0;a:do if(!p){o=r+-1|0;l=(o&r|0)==0;if(!l)if(s>>>0>>0)t=s;else t=(s>>>0)%(r>>>0)|0;else t=s&o;e=f[(f[a>>2]|0)+(t<<2)>>2]|0;if((e|0)!=0?(j=f[e>>2]|0,(j|0)!=0):0){e=(i|0)==0;if(l){if(e){l=j;while(1){d=f[l+4>>2]|0;if(!((d|0)==(s|0)|(d&o|0)==(t|0))){u=t;break a}d=b[l+8+11>>0]|0;if(!((d<<24>>24<0?f[l+12>>2]|0:d&255)|0)){v=l;break}l=f[l>>2]|0;if(!l){u=t;break a}}w=v+20|0;return w|0}else x=j;b:while(1){l=f[x+4>>2]|0;if(!((l|0)==(s|0)|(l&o|0)==(t|0))){u=t;break a}l=x+8|0;d=b[l+11>>0]|0;k=d<<24>>24<0;y=d&255;do if(((k?f[x+12>>2]|0:y)|0)==(i|0)){d=f[l>>2]|0;if(k)if(!($i(d,g,i)|0)){v=x;q=63;break b}else break;if((b[g>>0]|0)==(d&255)<<24>>24){d=l;z=y;A=g;do{z=z+-1|0;d=d+1|0;if(!z){v=x;q=63;break b}A=A+1|0}while((b[d>>0]|0)==(b[A>>0]|0))}}while(0);x=f[x>>2]|0;if(!x){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}if(e){o=j;while(1){y=f[o+4>>2]|0;if((y|0)!=(s|0)){if(y>>>0>>0)B=y;else B=(y>>>0)%(r>>>0)|0;if((B|0)!=(t|0)){u=t;break a}}y=b[o+8+11>>0]|0;if(!((y<<24>>24<0?f[o+12>>2]|0:y&255)|0)){v=o;break}o=f[o>>2]|0;if(!o){u=t;break a}}w=v+20|0;return w|0}else C=j;c:while(1){o=f[C+4>>2]|0;if((o|0)!=(s|0)){if(o>>>0>>0)D=o;else D=(o>>>0)%(r>>>0)|0;if((D|0)!=(t|0)){u=t;break a}}o=C+8|0;e=b[o+11>>0]|0;y=e<<24>>24<0;l=e&255;do if(((y?f[C+12>>2]|0:l)|0)==(i|0)){e=f[o>>2]|0;if(y)if(!($i(e,g,i)|0)){v=C;q=63;break c}else break;if((b[g>>0]|0)==(e&255)<<24>>24){e=o;k=l;A=g;do{k=k+-1|0;e=e+1|0;if(!k){v=C;q=63;break c}A=A+1|0}while((b[e>>0]|0)==(b[A>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}else u=t}else u=0;while(0);t=Vk(24)|0;zh(t+8|0,c);f[t+20>>2]=0;f[t+4>>2]=s;f[t>>2]=0;c=a+12|0;E=$(((f[c>>2]|0)+1|0)>>>0);F=$(r>>>0);G=$(n[a+16>>2]);do if(p|$(G*F)>>0<3|(r+-1&r|0)!=0)&1;g=~~$(W($(E/G)))>>>0;rg(a,C>>>0>>0?g:C);C=f[m>>2]|0;g=C+-1|0;if(!(g&C)){H=C;I=g&s;break}if(s>>>0>>0){H=C;I=s}else{H=C;I=(s>>>0)%(C>>>0)|0}}else{H=r;I=u}while(0);u=(f[a>>2]|0)+(I<<2)|0;I=f[u>>2]|0;if(!I){r=a+8|0;f[t>>2]=f[r>>2];f[r>>2]=t;f[u>>2]=r;r=f[t>>2]|0;if(r|0){u=f[r+4>>2]|0;r=H+-1|0;if(r&H)if(u>>>0>>0)J=u;else J=(u>>>0)%(H>>>0)|0;else J=u&r;K=(f[a>>2]|0)+(J<<2)|0;q=61}}else{f[t>>2]=f[I>>2];K=I;q=61}if((q|0)==61)f[K>>2]=t;f[c>>2]=(f[c>>2]|0)+1;v=t;w=v+20|0;return w|0}function bc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;c=u;u=u+16|0;d=c;e=f[b>>2]|0;b=a+8|0;g=e+1|0;if((e|0)!=-1){h=((g>>>0)%3|0|0)==0?e+-2|0:g;g=e+(((e>>>0)%3|0|0)==0?2:-1)|0;i=a+212|0;j=a+216|0;k=a+360|0;if((f[(f[(f[b>>2]|0)+12>>2]|0)+(e<<2)>>2]|0)!=-1){l=f[j>>2]|0;m=f[i>>2]|0;n=m;if((l|0)==(m|0)){o=g;p=d;q=d;r=n;s=n;t=h;v=l;w=l;x=k;y=i;z=j;A=i}else{l=0;do{if(Ni((f[k>>2]|0)+(l<<4)|0)|0){n=f[i>>2]|0;f[d>>2]=e;m=n+(l*144|0)+136|0;B=f[m>>2]|0;if(B>>>0<(f[n+(l*144|0)+140>>2]|0)>>>0){f[B>>2]=e;f[m>>2]=B+4}else dh(n+(l*144|0)+132|0,d)}l=l+1|0;C=f[j>>2]|0;D=f[i>>2]|0}while(l>>>0<((C-D|0)/144|0)>>>0);l=D;o=g;p=d;q=d;r=l;s=l;t=h;v=C;w=D;x=k;y=i;z=j;A=i}}else{E=d;F=d;G=i;H=k;I=g;J=h;K=j;L=i;M=5}}else{i=a+212|0;E=d;F=d;G=i;H=a+360|0;I=-1;J=-1;K=a+216|0;L=i;M=5}if((M|0)==5){M=f[K>>2]|0;i=f[L>>2]|0;a=i;if((M|0)==(i|0)){o=I;p=E;q=F;r=a;s=a;t=J;v=M;w=M;x=H;y=G;z=K;A=L}else{j=0;h=a;g=a;k=i;i=M;M=a;while(1){f[d>>2]=e;a=M+(j*144|0)+136|0;D=f[a>>2]|0;if(D>>>0<(f[M+(j*144|0)+140>>2]|0)>>>0){f[D>>2]=e;f[a>>2]=D+4;N=h;O=g;P=i;Q=k}else{dh(M+(j*144|0)+132|0,d);D=f[L>>2]|0;a=D;N=a;O=a;P=f[K>>2]|0;Q=D}j=j+1|0;if(j>>>0>=((P-Q|0)/144|0)>>>0){o=I;p=E;q=F;r=N;s=O;t=J;v=P;w=Q;x=H;y=G;z=K;A=L;break}else{h=N;g=O;k=Q;i=P;M=Q}}}}if((t|0)!=-1?(f[(f[(f[b>>2]|0)+12>>2]|0)+(t<<2)>>2]|0)!=-1:0)if((v|0)==(w|0)){R=w;S=w;T=r}else{Q=0;do{if(Ni((f[x>>2]|0)+(Q<<4)|0)|0){M=f[y>>2]|0;f[d>>2]=t;P=M+(Q*144|0)+136|0;i=f[P>>2]|0;if(i>>>0<(f[M+(Q*144|0)+140>>2]|0)>>>0){f[i>>2]=t;f[P>>2]=i+4}else dh(M+(Q*144|0)+132|0,d)}Q=Q+1|0;U=f[z>>2]|0;V=f[A>>2]|0}while(Q>>>0<((U-V|0)/144|0)>>>0);R=U;S=V;T=V}else if((v|0)==(w|0)){R=w;S=w;T=r}else{V=0;U=s;s=r;r=w;w=v;while(1){f[d>>2]=t;v=U+(V*144|0)+136|0;Q=f[v>>2]|0;if(Q>>>0<(f[U+(V*144|0)+140>>2]|0)>>>0){f[Q>>2]=t;f[v>>2]=Q+4;W=w;X=r;Y=s}else{dh(U+(V*144|0)+132|0,d);Q=f[A>>2]|0;W=f[z>>2]|0;X=Q;Y=Q}V=V+1|0;if(V>>>0>=((W-X|0)/144|0)>>>0){R=W;S=X;T=Y;break}else{U=X;s=Y;r=X;w=W}}}if((o|0)!=-1?(f[(f[(f[b>>2]|0)+12>>2]|0)+(o<<2)>>2]|0)!=-1:0){if((R|0)==(S|0)){u=c;return 1}else Z=0;do{if(Ni((f[x>>2]|0)+(Z<<4)|0)|0){b=f[y>>2]|0;f[d>>2]=o;W=b+(Z*144|0)+136|0;w=f[W>>2]|0;if(w>>>0<(f[b+(Z*144|0)+140>>2]|0)>>>0){f[w>>2]=o;f[W>>2]=w+4}else dh(b+(Z*144|0)+132|0,d)}Z=Z+1|0}while(Z>>>0<(((f[z>>2]|0)-(f[A>>2]|0)|0)/144|0)>>>0);u=c;return 1}if((R|0)==(S|0)){u=c;return 1}else{_=0;$=T;aa=S;ba=R}while(1){f[d>>2]=o;R=$+(_*144|0)+136|0;S=f[R>>2]|0;if(S>>>0<(f[$+(_*144|0)+140>>2]|0)>>>0){f[S>>2]=o;f[R>>2]=S+4;ca=ba;da=aa}else{dh($+(_*144|0)+132|0,d);ca=f[z>>2]|0;da=f[A>>2]|0}_=_+1|0;if(_>>>0>=((ca-da|0)/144|0)>>>0)break;else{$=da;aa=da;ba=ca}}u=c;return 1}function cc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(i=l+(e<<2)|0,(i|0)!=(j|0)):0){f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2);m=e}else m=e;else{Ng(d,e-k|0);m=f[g>>2]|0}k=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=fp(i)|0;Dh(j|0,0,i|0)|0;if((m|0)>0){i=a+16|0;h=a+32|0;l=a+12|0;n=0;do{o=f[j+(n<<2)>>2]|0;p=f[i>>2]|0;if((o|0)>(p|0)){q=f[h>>2]|0;f[q+(n<<2)>>2]=p;r=q}else{q=f[l>>2]|0;p=f[h>>2]|0;f[p+(n<<2)>>2]=(o|0)<(q|0)?q:o;r=p}n=n+1|0;s=f[g>>2]|0}while((n|0)<(s|0));if((s|0)>0){n=a+20|0;h=0;do{p=(f[b+(h<<2)>>2]|0)+(f[r+(h<<2)>>2]|0)|0;o=c+(h<<2)|0;f[o>>2]=p;if((p|0)<=(f[i>>2]|0)){if((p|0)<(f[l>>2]|0)){t=(f[n>>2]|0)+p|0;u=18}}else{t=p-(f[n>>2]|0)|0;u=18}if((u|0)==18){u=0;f[o>>2]=t}h=h+1|0;o=f[g>>2]|0}while((h|0)<(o|0));v=o}else v=s}else v=m;m=f[a+56>>2]|0;s=f[m>>2]|0;h=(f[m+4>>2]|0)-s|0;t=h>>2;if((h|0)<=4){gp(j);return 1}h=a+16|0;n=a+32|0;l=a+12|0;i=a+20|0;a=k+12|0;r=(e|0)>0;o=s;s=1;p=v;while(1){if(t>>>0<=s>>>0){u=24;break}v=f[o+(s<<2)>>2]|0;q=X(s,e)|0;if((v|0)!=-1?(w=f[(f[a>>2]|0)+(v<<2)>>2]|0,(w|0)!=-1):0){v=f[k>>2]|0;x=f[d>>2]|0;y=f[x+(f[v+(w<<2)>>2]<<2)>>2]|0;z=w+1|0;A=((z>>>0)%3|0|0)==0?w+-2|0:z;if((A|0)==-1)B=-1;else B=f[v+(A<<2)>>2]|0;A=f[x+(B<<2)>>2]|0;z=(((w>>>0)%3|0|0)==0?2:-1)+w|0;if((z|0)==-1)C=-1;else C=f[v+(z<<2)>>2]|0;z=f[x+(C<<2)>>2]|0;if((y|0)<(s|0)&(A|0)<(s|0)&(z|0)<(s|0)){x=X(y,e)|0;y=X(A,e)|0;A=X(z,e)|0;if(r){z=0;do{f[j+(z<<2)>>2]=(f[c+(z+A<<2)>>2]|0)+(f[c+(z+y<<2)>>2]|0)-(f[c+(z+x<<2)>>2]|0);z=z+1|0}while((z|0)!=(e|0))}z=b+(q<<2)|0;x=c+(q<<2)|0;if((p|0)>0){y=0;do{A=f[j+(y<<2)>>2]|0;v=f[h>>2]|0;if((A|0)>(v|0)){w=f[n>>2]|0;f[w+(y<<2)>>2]=v;D=w}else{w=f[l>>2]|0;v=f[n>>2]|0;f[v+(y<<2)>>2]=(A|0)<(w|0)?w:A;D=v}y=y+1|0;E=f[g>>2]|0}while((y|0)<(E|0));if((E|0)>0){y=0;do{v=(f[z+(y<<2)>>2]|0)+(f[D+(y<<2)>>2]|0)|0;A=x+(y<<2)|0;f[A>>2]=v;if((v|0)<=(f[h>>2]|0)){if((v|0)<(f[l>>2]|0)){F=(f[i>>2]|0)+v|0;u=56}}else{F=v-(f[i>>2]|0)|0;u=56}if((u|0)==56){u=0;f[A>>2]=F}y=y+1|0;A=f[g>>2]|0}while((y|0)<(A|0));G=A}else G=E}else G=p}else u=34}else u=34;if((u|0)==34){u=0;y=c+((X(s+-1|0,e)|0)<<2)|0;x=b+(q<<2)|0;z=c+(q<<2)|0;if((p|0)>0){A=0;do{v=f[y+(A<<2)>>2]|0;w=f[h>>2]|0;if((v|0)>(w|0)){H=f[n>>2]|0;f[H+(A<<2)>>2]=w;I=H}else{H=f[l>>2]|0;w=f[n>>2]|0;f[w+(A<<2)>>2]=(v|0)<(H|0)?H:v;I=w}A=A+1|0;J=f[g>>2]|0}while((A|0)<(J|0));if((J|0)>0){A=0;do{y=(f[x+(A<<2)>>2]|0)+(f[I+(A<<2)>>2]|0)|0;q=z+(A<<2)|0;f[q>>2]=y;if((y|0)<=(f[h>>2]|0)){if((y|0)<(f[l>>2]|0)){K=(f[i>>2]|0)+y|0;u=44}}else{K=y-(f[i>>2]|0)|0;u=44}if((u|0)==44){u=0;f[q>>2]=K}A=A+1|0;q=f[g>>2]|0}while((A|0)<(q|0));G=q}else G=J}else G=p}s=s+1|0;if((s|0)>=(t|0)){u=22;break}else p=G}if((u|0)==22){gp(j);return 1}else if((u|0)==24)zo(m);return 0}function dc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[h>>2]|0;j=f[d>>2]|0;k=i-j>>2;l=j;j=i;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(i=l+(e<<2)|0,(i|0)!=(j|0)):0){f[h>>2]=j+(~((j+-4-i|0)>>>2)<<2);m=e}else m=e;else{Ng(d,e-k|0);m=f[g>>2]|0}k=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=fp(i)|0;Dh(j|0,0,i|0)|0;if((m|0)>0){i=a+16|0;h=a+32|0;l=a+12|0;n=0;do{o=f[j+(n<<2)>>2]|0;p=f[i>>2]|0;if((o|0)>(p|0)){q=f[h>>2]|0;f[q+(n<<2)>>2]=p;r=q}else{q=f[l>>2]|0;p=f[h>>2]|0;f[p+(n<<2)>>2]=(o|0)<(q|0)?q:o;r=p}n=n+1|0;s=f[g>>2]|0}while((n|0)<(s|0));if((s|0)>0){n=a+20|0;h=0;do{p=(f[b+(h<<2)>>2]|0)+(f[r+(h<<2)>>2]|0)|0;o=c+(h<<2)|0;f[o>>2]=p;if((p|0)<=(f[i>>2]|0)){if((p|0)<(f[l>>2]|0)){t=(f[n>>2]|0)+p|0;u=18}}else{t=p-(f[n>>2]|0)|0;u=18}if((u|0)==18){u=0;f[o>>2]=t}h=h+1|0;o=f[g>>2]|0}while((h|0)<(o|0));v=o}else v=s}else v=m;m=f[a+56>>2]|0;s=f[m>>2]|0;h=(f[m+4>>2]|0)-s|0;t=h>>2;if((h|0)<=4){gp(j);return 1}h=a+16|0;n=a+32|0;l=a+12|0;i=a+20|0;a=k+64|0;r=k+28|0;o=(e|0)>0;p=s;s=1;q=v;while(1){if(t>>>0<=s>>>0){u=24;break}v=f[p+(s<<2)>>2]|0;w=X(s,e)|0;if((((v|0)!=-1?(f[(f[k>>2]|0)+(v>>>5<<2)>>2]&1<<(v&31)|0)==0:0)?(x=f[(f[(f[a>>2]|0)+12>>2]|0)+(v<<2)>>2]|0,(x|0)!=-1):0)?(v=f[r>>2]|0,y=f[d>>2]|0,z=f[y+(f[v+(x<<2)>>2]<<2)>>2]|0,A=x+1|0,B=f[y+(f[v+((((A>>>0)%3|0|0)==0?x+-2|0:A)<<2)>>2]<<2)>>2]|0,A=f[y+(f[v+((((x>>>0)%3|0|0)==0?2:-1)+x<<2)>>2]<<2)>>2]|0,(z|0)<(s|0)&(B|0)<(s|0)&(A|0)<(s|0)):0){x=X(z,e)|0;z=X(B,e)|0;B=X(A,e)|0;if(o){A=0;do{f[j+(A<<2)>>2]=(f[c+(A+B<<2)>>2]|0)+(f[c+(A+z<<2)>>2]|0)-(f[c+(A+x<<2)>>2]|0);A=A+1|0}while((A|0)!=(e|0))}A=b+(w<<2)|0;x=c+(w<<2)|0;if((q|0)>0){z=0;do{B=f[j+(z<<2)>>2]|0;v=f[h>>2]|0;if((B|0)>(v|0)){y=f[n>>2]|0;f[y+(z<<2)>>2]=v;C=y}else{y=f[l>>2]|0;v=f[n>>2]|0;f[v+(z<<2)>>2]=(B|0)<(y|0)?y:B;C=v}z=z+1|0;D=f[g>>2]|0}while((z|0)<(D|0));if((D|0)>0){z=0;do{v=(f[A+(z<<2)>>2]|0)+(f[C+(z<<2)>>2]|0)|0;B=x+(z<<2)|0;f[B>>2]=v;if((v|0)<=(f[h>>2]|0)){if((v|0)<(f[l>>2]|0)){E=(f[i>>2]|0)+v|0;u=53}}else{E=v-(f[i>>2]|0)|0;u=53}if((u|0)==53){u=0;f[B>>2]=E}z=z+1|0;B=f[g>>2]|0}while((z|0)<(B|0));F=B}else F=D}else F=q}else{z=c+((X(s+-1|0,e)|0)<<2)|0;x=b+(w<<2)|0;A=c+(w<<2)|0;if((q|0)>0){B=0;do{v=f[z+(B<<2)>>2]|0;y=f[h>>2]|0;if((v|0)>(y|0)){G=f[n>>2]|0;f[G+(B<<2)>>2]=y;H=G}else{G=f[l>>2]|0;y=f[n>>2]|0;f[y+(B<<2)>>2]=(v|0)<(G|0)?G:v;H=y}B=B+1|0;I=f[g>>2]|0}while((B|0)<(I|0));if((I|0)>0){B=0;do{z=(f[x+(B<<2)>>2]|0)+(f[H+(B<<2)>>2]|0)|0;w=A+(B<<2)|0;f[w>>2]=z;if((z|0)<=(f[h>>2]|0)){if((z|0)<(f[l>>2]|0)){J=(f[i>>2]|0)+z|0;u=41}}else{J=z-(f[i>>2]|0)|0;u=41}if((u|0)==41){u=0;f[w>>2]=J}B=B+1|0;w=f[g>>2]|0}while((B|0)<(w|0));F=w}else F=I}else F=q}s=s+1|0;if((s|0)>=(t|0)){u=22;break}else q=F}if((u|0)==22){gp(j);return 1}else if((u|0)==24)zo(m);return 0}function ec(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;e=u;u=u+672|0;g=e;i=e+656|0;j=e+8|0;k=c+8|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=Rl(p|0,f[o+4>>2]|0,4,0)|0;o=I;if((n|0)<(o|0)|(n|0)==(o|0)&m>>>0>>0){r=0;u=e;return r|0}q=(f[c>>2]|0)+p|0;p=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;b[a>>0]=p;b[a+1>>0]=p>>8;b[a+2>>0]=p>>16;b[a+3>>0]=p>>24;q=l;m=f[q>>2]|0;o=f[q+4>>2]|0;q=Rl(m|0,o|0,4,0)|0;n=l;f[n>>2]=q;f[n+4>>2]=I;if(p>>>0>31){r=0;u=e;return r|0}p=k;n=f[p>>2]|0;s=f[p+4>>2]|0;p=Rl(m|0,o|0,8,0)|0;o=I;if((s|0)<(o|0)|(s|0)==(o|0)&n>>>0

>>0){r=0;u=e;return r|0}p=a+4|0;n=(f[c>>2]|0)+q|0;q=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;q=l;p=f[q>>2]|0;n=f[q+4>>2]|0;q=Rl(p|0,n|0,4,0)|0;o=l;f[o>>2]=q;f[o+4>>2]=I;o=a+12|0;s=k;m=f[s>>2]|0;t=f[s+4>>2]|0;s=Rl(p|0,n|0,8,0)|0;n=I;if((t|0)<(n|0)|(t|0)==(n|0)&m>>>0>>0){r=0;u=e;return r|0}s=(f[c>>2]|0)+q|0;q=h[s>>0]|h[s+1>>0]<<8|h[s+2>>0]<<16|h[s+3>>0]<<24;b[o>>0]=q;b[o+1>>0]=q>>8;b[o+2>>0]=q>>16;b[o+3>>0]=q>>24;s=l;m=f[s>>2]|0;n=f[s+4>>2]|0;s=Rl(m|0,n|0,4,0)|0;t=l;f[t>>2]=s;f[t+4>>2]=I;t=a+16|0;a=k;k=f[a>>2]|0;p=f[a+4>>2]|0;a=Rl(m|0,n|0,8,0)|0;n=I;if((p|0)<(n|0)|(p|0)==(n|0)&k>>>0>>0){r=0;u=e;return r|0}a=(f[c>>2]|0)+s|0;s=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;b[t>>0]=s;b[t+1>>0]=s>>8;b[t+2>>0]=s>>16;b[t+3>>0]=s>>24;a=l;k=Rl(f[a>>2]|0,f[a+4>>2]|0,4,0)|0;a=l;f[a>>2]=k;f[a+4>>2]=I;if(s>>>0>6){f[g>>2]=s;Il(13327,g)|0;r=0;u=e;return r|0}f[i>>2]=d;a:do if(!q)v=17;else{ih(d,q);switch(f[t>>2]|0){case 0:{Ce(j,3);Xd(j,c,i)|0;we(j);v=17;break a;break}case 1:{Ce(j,3);Wd(j,c,i)|0;we(j);v=17;break a;break}case 2:{Ee(j,3);Zd(j,c,i)|0;Me(j);v=17;break a;break}case 3:{Ee(j,3);Yd(j,c,i)|0;Me(j);v=17;break a;break}case 4:{ue(j,3);Ud(j,c,i)|0;Ae(j);v=17;break a;break}case 5:{ue(j,3);Td(j,c,i)|0;Ae(j);v=17;break a;break}case 6:{ue(j,3);Sd(j,c,i)|0;Ae(j);v=17;break a;break}default:{w=0;break a}}}while(0);if((v|0)==17)w=(((f[d+4>>2]|0)-(f[d>>2]|0)|0)/12|0|0)==(f[o>>2]|0);r=w;u=e;return r|0}function fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;c=u;u=u+16|0;d=c;e=f[b>>2]|0;b=a+8|0;g=e+1|0;if((e|0)!=-1){h=((g>>>0)%3|0|0)==0?e+-2|0:g;g=e+(((e>>>0)%3|0|0)==0?2:-1)|0;i=(e>>>0)/3|0;j=a+212|0;k=a+216|0;l=a+360|0;m=f[(f[(f[b>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;if((m|0)!=-1)if(((m>>>0)/3|0)>>>0>=i>>>0?(f[k>>2]|0)!=(f[j>>2]|0):0){m=0;do{if(Ni((f[l>>2]|0)+(m<<4)|0)|0){n=f[j>>2]|0;f[d>>2]=e;o=n+(m*144|0)+136|0;p=f[o>>2]|0;if(p>>>0<(f[n+(m*144|0)+140>>2]|0)>>>0){f[p>>2]=e;f[o>>2]=p+4}else dh(n+(m*144|0)+132|0,d)}m=m+1|0}while(m>>>0<(((f[k>>2]|0)-(f[j>>2]|0)|0)/144|0)>>>0);q=i;r=g;s=d;t=d;v=h;w=k;x=j;y=l;z=j}else{q=i;r=g;s=d;t=d;v=h;w=k;x=j;y=l;z=j}else{A=i;B=d;C=d;D=j;E=l;F=g;G=h;H=k;I=j;J=4}}else{j=a+212|0;A=-1;B=d;C=d;D=j;E=a+360|0;F=-1;G=-1;H=a+216|0;I=j;J=4}if((J|0)==4){j=f[H>>2]|0;a=f[I>>2]|0;if((j|0)==(a|0)){q=A;r=F;s=B;t=C;v=G;w=H;x=I;y=E;z=D}else{k=0;h=j;j=a;while(1){a=j;f[d>>2]=e;g=a+(k*144|0)+136|0;l=f[g>>2]|0;if(l>>>0<(f[a+(k*144|0)+140>>2]|0)>>>0){f[l>>2]=e;f[g>>2]=l+4;K=h;L=j}else{dh(a+(k*144|0)+132|0,d);K=f[H>>2]|0;L=f[I>>2]|0}k=k+1|0;if(k>>>0>=((K-L|0)/144|0)>>>0){q=A;r=F;s=B;t=C;v=G;w=H;x=I;y=E;z=D;break}else{h=K;j=L}}}}if((v|0)!=-1?(L=f[(f[(f[b>>2]|0)+12>>2]|0)+(v<<2)>>2]|0,(L|0)!=-1):0){if(((L>>>0)/3|0)>>>0>=q>>>0?(f[w>>2]|0)!=(f[x>>2]|0):0){L=0;do{if(Ni((f[y>>2]|0)+(L<<4)|0)|0){j=f[z>>2]|0;f[d>>2]=v;K=j+(L*144|0)+136|0;h=f[K>>2]|0;if(h>>>0<(f[j+(L*144|0)+140>>2]|0)>>>0){f[h>>2]=v;f[K>>2]=h+4}else dh(j+(L*144|0)+132|0,d)}L=L+1|0}while(L>>>0<(((f[w>>2]|0)-(f[x>>2]|0)|0)/144|0)>>>0)}}else J=27;if((J|0)==27?(J=f[w>>2]|0,L=f[x>>2]|0,(J|0)!=(L|0)):0){j=0;h=L;L=J;while(1){J=h;f[d>>2]=v;K=J+(j*144|0)+136|0;D=f[K>>2]|0;if(D>>>0<(f[J+(j*144|0)+140>>2]|0)>>>0){f[D>>2]=v;f[K>>2]=D+4;M=L;N=h}else{dh(J+(j*144|0)+132|0,d);M=f[w>>2]|0;N=f[x>>2]|0}j=j+1|0;if(j>>>0>=((M-N|0)/144|0)>>>0)break;else{h=N;L=M}}}if((r|0)!=-1?(M=f[(f[(f[b>>2]|0)+12>>2]|0)+(r<<2)>>2]|0,(M|0)!=-1):0){if(((M>>>0)/3|0)>>>0>>0){u=c;return 1}if((f[w>>2]|0)==(f[x>>2]|0)){u=c;return 1}else O=0;do{if(Ni((f[y>>2]|0)+(O<<4)|0)|0){q=f[z>>2]|0;f[d>>2]=r;M=q+(O*144|0)+136|0;b=f[M>>2]|0;if(b>>>0<(f[q+(O*144|0)+140>>2]|0)>>>0){f[b>>2]=r;f[M>>2]=b+4}else dh(q+(O*144|0)+132|0,d)}O=O+1|0}while(O>>>0<(((f[w>>2]|0)-(f[x>>2]|0)|0)/144|0)>>>0);u=c;return 1}O=f[w>>2]|0;z=f[x>>2]|0;if((O|0)==(z|0)){u=c;return 1}else{P=0;Q=z;R=O}while(1){O=Q;f[d>>2]=r;z=O+(P*144|0)+136|0;y=f[z>>2]|0;if(y>>>0<(f[O+(P*144|0)+140>>2]|0)>>>0){f[y>>2]=r;f[z>>2]=y+4;S=R;T=Q}else{dh(O+(P*144|0)+132|0,d);S=f[w>>2]|0;T=f[x>>2]|0}P=P+1|0;if(P>>>0>=((S-T|0)/144|0)>>>0)break;else{Q=T;R=S}}u=c;return 1}function gc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e;i=c+8|0;j=i;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=Rl(n|0,f[m+4>>2]|0,5,0)|0;m=I;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){o=Vk(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=12941;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;zh(a+4|0,g);if((b[g+11>>0]|0)<0)ip(f[g>>2]|0);u=e;return}o=(f[c>>2]|0)+n|0;b[d>>0]=b[o>>0]|0;b[d+1>>0]=b[o+1>>0]|0;b[d+2>>0]=b[o+2>>0]|0;b[d+3>>0]=b[o+3>>0]|0;b[d+4>>0]=b[o+4>>0]|0;o=j;n=Rl(f[o>>2]|0,f[o+4>>2]|0,5,0)|0;o=I;k=j;f[k>>2]=n;f[k+4>>2]=o;if($i(d,12971,5)|0){k=Vk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=k;q=12977;r=p+17|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+17>>0]=0;f[a>>2]=-1;zh(a+4|0,g);if((b[g+11>>0]|0)<0)ip(f[g>>2]|0);u=e;return}k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=Vk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=12941;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;zh(a+4|0,g);if((b[g+11>>0]|0)<0)ip(f[g>>2]|0);u=e;return}b[d+5>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=Rl(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=k;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>k>>>0:0))){o=Vk(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=12941;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;zh(a+4|0,g);if((b[g+11>>0]|0)<0)ip(f[g>>2]|0);u=e;return}b[d+6>>0]=b[(f[c>>2]|0)+k>>0]|0;k=j;o=Rl(f[k>>2]|0,f[k+4>>2]|0,1,0)|0;k=I;n=j;f[n>>2]=o;f[n+4>>2]=k;n=i;m=f[n+4>>2]|0;if(!((m|0)>(k|0)|((m|0)==(k|0)?(f[n>>2]|0)>>>0>o>>>0:0))){n=Vk(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=12941;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;zh(a+4|0,g);if((b[g+11>>0]|0)<0)ip(f[g>>2]|0);u=e;return}b[d+7>>0]=b[(f[c>>2]|0)+o>>0]|0;o=j;n=Rl(f[o>>2]|0,f[o+4>>2]|0,1,0)|0;o=I;k=j;f[k>>2]=n;f[k+4>>2]=o;k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=Vk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=12941;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;zh(a+4|0,g);if((b[g+11>>0]|0)<0)ip(f[g>>2]|0);u=e;return}b[d+8>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=f[n>>2]|0;o=f[n+4>>2]|0;n=Rl(k|0,o|0,1,0)|0;m=j;f[m>>2]=n;f[m+4>>2]=I;m=i;i=f[m>>2]|0;l=f[m+4>>2]|0;m=Rl(k|0,o|0,3,0)|0;o=I;if(!((l|0)<(o|0)|(l|0)==(o|0)&i>>>0>>0)){m=d+10|0;d=(f[c>>2]|0)+n|0;n=h[d>>0]|h[d+1>>0]<<8;b[m>>0]=n;b[m+1>>0]=n>>8;n=j;m=Rl(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;n=j;f[n>>2]=m;f[n+4>>2]=I;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}n=Vk(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=12941;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;zh(a+4|0,g);if((b[g+11>>0]|0)<0)ip(f[g>>2]|0);u=e;return}function hc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0;d=u;u=u+80|0;e=d+76|0;g=d;i=d+72|0;j=d+64|0;k=d+68|0;l=a+28|0;do if(((h[(f[l>>2]|0)+36>>0]|0)<<8&65535)<512){m=c+8|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=c+16|0;p=m;q=f[p>>2]|0;r=Rl(q|0,f[p+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&n>>>0>>0){s=0;u=d;return s|0}else{n=(f[c>>2]|0)+q|0;q=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;f[e>>2]=q;n=m;f[n>>2]=r;f[n+4>>2]=p;t=q;break}}else if(Ph(e,c)|0){t=f[e>>2]|0;break}else{s=0;u=d;return s|0}while(0);if(!t){s=0;u=d;return s|0}q=a+4|0;p=a+8|0;n=f[p>>2]|0;r=f[q>>2]|0;m=n-r>>2;o=r;r=n;if(t>>>0>m>>>0){Ng(q,t-m|0);if(!(f[e>>2]|0)){s=1;u=d;return s|0}}else if(t>>>0>>0?(m=o+(t<<2)|0,(m|0)!=(r|0)):0)f[p>>2]=r+(~((r+-4-m|0)>>>2)<<2);m=f[a+32>>2]|0;r=c+8|0;p=c+16|0;t=g+60|0;o=m+8|0;n=a+16|0;v=a+20|0;a=0;while(1){w=r;x=f[w>>2]|0;y=f[w+4>>2]|0;w=p;z=f[w>>2]|0;A=f[w+4>>2]|0;if(!((y|0)>(A|0)|(y|0)==(A|0)&x>>>0>z>>>0)){s=0;B=49;break}w=f[c>>2]|0;C=b[w+z>>0]|0;D=Rl(z|0,A|0,1,0)|0;E=I;F=p;f[F>>2]=D;f[F+4>>2]=E;if(!((y|0)>(E|0)|(y|0)==(E|0)&x>>>0>D>>>0)){s=0;B=49;break}E=b[w+D>>0]|0;D=Rl(z|0,A|0,2,0)|0;F=I;G=p;f[G>>2]=D;f[G+4>>2]=F;if(!((y|0)>(F|0)|(y|0)==(F|0)&x>>>0>D>>>0)){s=0;B=49;break}F=b[w+D>>0]|0;D=Rl(z|0,A|0,3,0)|0;G=I;H=p;f[H>>2]=D;f[H+4>>2]=G;if(!((y|0)>(G|0)|(y|0)==(G|0)&x>>>0>D>>>0)){s=0;B=49;break}x=b[w+D>>0]|0;D=Rl(z|0,A|0,4,0)|0;A=p;f[A>>2]=D;f[A+4>>2]=I;A=E&255;if((E+-1&255)>10){s=0;B=49;break}Jj(g);E=X(Vj(A)|0,F&255)|0;Vh(g,C&255,0,F,A,x<<24>>24!=0,E,((E|0)<0)<<31>>31,0,0);E=f[l>>2]|0;if((((h[E+36>>0]|0)<<8|(h[E+37>>0]|0))&65535)<259){E=r;x=f[E>>2]|0;A=f[E+4>>2]|0;E=p;F=f[E>>2]|0;C=Rl(F|0,f[E+4>>2]|0,2,0)|0;E=I;if((A|0)<(E|0)|(A|0)==(E|0)&x>>>0>>0){B=47;break}x=(f[c>>2]|0)+F|0;F=h[x>>0]|h[x+1>>0]<<8;x=p;f[x>>2]=C;f[x+4>>2]=E;E=F&65535;f[i>>2]=E;J=E}else{Ph(i,c)|0;J=f[i>>2]|0}f[t>>2]=J;E=Vk(96)|0;wj(E,g);f[j>>2]=E;E=Rf(m,j)|0;F=f[j>>2]|0;f[j>>2]=0;if(F|0){x=F+88|0;C=f[x>>2]|0;f[x>>2]=0;if(C|0){x=f[C+8>>2]|0;if(x|0){A=C+12|0;if((f[A>>2]|0)!=(x|0))f[A>>2]=x;ip(x)}ip(C)}C=f[F+68>>2]|0;if(C|0){x=F+72|0;A=f[x>>2]|0;if((A|0)!=(C|0))f[x>>2]=A+(~((A+-4-C|0)>>>2)<<2);ip(C)}C=F+64|0;A=f[C>>2]|0;f[C>>2]=0;if(A|0){C=f[A>>2]|0;if(C|0){x=A+4|0;if((f[x>>2]|0)!=(C|0))f[x>>2]=C;ip(C)}ip(A)}ip(F)}f[(f[(f[o>>2]|0)+(E<<2)>>2]|0)+60>>2]=f[i>>2];f[(f[q>>2]|0)+(a<<2)>>2]=E;F=f[v>>2]|0;A=f[n>>2]|0;C=F-A>>2;x=A;if((E|0)<(C|0))K=x;else{A=E+1|0;f[k>>2]=-1;D=F;if(A>>>0<=C>>>0)if(A>>>0>>0?(F=x+(A<<2)|0,(F|0)!=(D|0)):0){f[v>>2]=D+(~((D+-4-F|0)>>>2)<<2);L=x}else L=x;else{dg(n,A-C|0,k);L=f[n>>2]|0}K=L}f[K+(E<<2)>>2]=a;a=a+1|0;if(a>>>0>=(f[e>>2]|0)>>>0){s=1;B=49;break}}if((B|0)==47){s=0;u=d;return s|0}else if((B|0)==49){u=d;return s|0}return 0}function ic(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=Na,w=Na,x=Na,y=Na,z=0,A=0,B=0,C=Na,D=Na,E=Na,F=Na,G=Na,H=Na,I=Na,K=Na,M=Na,N=Na,O=Na,P=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=q;t=-1}else{r=q;t=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{r=-1;t=-1}c=f[a+52>>2]|0;m=f[c>>2]|0;q=(f[c+4>>2]|0)-m>>2;if(q>>>0<=r>>>0)zo(c);p=m;m=f[p+(r<<2)>>2]|0;if(q>>>0<=t>>>0)zo(c);c=f[p+(t<<2)>>2]|0;t=(m|0)<(e|0);if(t&(c|0)<(e|0)){p=f[a+72>>2]|0;q=X(p,m)|0;v=$(f[d+(q<<2)>>2]|0);w=$(f[d+(q+1<<2)>>2]|0);q=X(p,c)|0;x=$(f[d+(q<<2)>>2]|0);y=$(f[d+(q+1<<2)>>2]|0);if(!(x!=v|y!=w)){q=f[a+68>>2]|0;f[q>>2]=~~x;f[q+4>>2]=~~y;u=g;return}q=a+64|0;p=f[(f[q>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;r=a+60|0;o=f[r>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(p<<2)>>2]|0;else z=p;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];pb(o,h,z,j)|0;z=f[(f[q>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[r>>2]|0;if(!(b[o+84>>0]|0))A=f[(f[o+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[o+24>>0]|0;f[h>>2]=f[i>>2];pb(o,h,A,k)|0;A=f[(f[q>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;c=f[r>>2]|0;if(!(b[c+84>>0]|0))B=f[(f[c+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[c+24>>0]|0;f[h>>2]=f[i>>2];pb(c,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)?1:(f[a+88>>2]|0)<258){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$($(H*N)+v);v=$(H*O);H=$($(x*N)+w);w=$(x*O);j=a+80|0;k=(f[j>>2]|0)+-1|0;l=(1<<(k&31)&f[(f[a+76>>2]|0)+(k>>>5<<2)>>2]|0)==0;f[j>>2]=k;O=$(-v);x=$(H+(l?O:v));v=$(-w);O=$(y+(l?w:v));l=~~+J(+(+O+.5));k=f[a+68>>2]|0;f[k>>2]=((n[s>>2]=O,f[s>>2]|0)&2147483647)>>>0>2139095040?-2147483648:l;l=~~+J(+(+x+.5));f[k+4>>2]=((n[s>>2]=x,f[s>>2]|0)&2147483647)>>>0>2139095040?-2147483648:l;u=g;return}else{do if(t)P=m;else{if((e|0)>0){P=e+-1|0;break}l=a+72|0;if((f[l>>2]|0)<=0){u=g;return}k=f[a+68>>2]|0;j=0;do{f[k+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[l>>2]|0));u=g;return}while(0);e=a+72|0;m=f[e>>2]|0;t=X(m,P)|0;if((m|0)<=0){u=g;return}m=f[a+68>>2]|0;a=0;do{f[m+(a<<2)>>2]=f[d+(a+t<<2)>>2];a=a+1|0}while((a|0)<(f[e>>2]|0));u=g;return}}function jc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((b|0)<0)return;c=a+12|0;d=f[c>>2]|0;e=f[a+8>>2]|0;g=e;h=d;if(d-e>>2>>>0<=b>>>0)return;e=g+(b<<2)|0;d=f[(f[e>>2]|0)+56>>2]|0;i=f[(f[g+(b<<2)>>2]|0)+60>>2]|0;g=e+4|0;if((g|0)!=(h|0)){j=g;g=e;do{k=f[j>>2]|0;f[j>>2]=0;l=f[g>>2]|0;f[g>>2]=k;if(l|0){k=l+88|0;m=f[k>>2]|0;f[k>>2]=0;if(m|0){k=f[m+8>>2]|0;if(k|0){n=m+12|0;if((f[n>>2]|0)!=(k|0))f[n>>2]=k;ip(k)}ip(m)}m=f[l+68>>2]|0;if(m|0){k=l+72|0;n=f[k>>2]|0;if((n|0)!=(m|0))f[k>>2]=n+(~((n+-4-m|0)>>>2)<<2);ip(m)}m=l+64|0;n=f[m>>2]|0;f[m>>2]=0;if(n|0){m=f[n>>2]|0;if(m|0){k=n+4|0;if((f[k>>2]|0)!=(m|0))f[k>>2]=m;ip(m)}ip(n)}ip(l)}j=j+4|0;g=g+4|0}while((j|0)!=(h|0));j=f[c>>2]|0;if((j|0)!=(g|0)){o=g;p=j;q=24}}else{o=e;p=h;q=24}if((q|0)==24){q=p;do{p=q+-4|0;f[c>>2]=p;h=f[p>>2]|0;f[p>>2]=0;if(h|0){p=h+88|0;e=f[p>>2]|0;f[p>>2]=0;if(e|0){p=f[e+8>>2]|0;if(p|0){j=e+12|0;if((f[j>>2]|0)!=(p|0))f[j>>2]=p;ip(p)}ip(e)}e=f[h+68>>2]|0;if(e|0){p=h+72|0;j=f[p>>2]|0;if((j|0)!=(e|0))f[p>>2]=j+(~((j+-4-e|0)>>>2)<<2);ip(e)}e=h+64|0;j=f[e>>2]|0;f[e>>2]=0;if(j|0){e=f[j>>2]|0;if(e|0){p=j+4|0;if((f[p>>2]|0)!=(e|0))f[p>>2]=e;ip(e)}ip(j)}ip(h)}q=f[c>>2]|0}while((q|0)!=(o|0))}o=f[a+4>>2]|0;a:do if(o|0){q=o+44|0;c=f[q>>2]|0;h=f[o+40>>2]|0;while(1){if((h|0)==(c|0))break a;r=h+4|0;if((f[(f[h>>2]|0)+40>>2]|0)==(i|0))break;else h=r}if((r|0)!=(c|0)){j=r;e=h;do{p=f[j>>2]|0;f[j>>2]=0;g=f[e>>2]|0;f[e>>2]=p;if(g|0){kh(g);ip(g)}j=j+4|0;e=e+4|0}while((j|0)!=(c|0));j=f[q>>2]|0;if((j|0)==(e|0))break;else{s=e;t=j}}else{s=h;t=c}j=t;do{g=j+-4|0;f[q>>2]=g;p=f[g>>2]|0;f[g>>2]=0;if(p|0){kh(p);ip(p)}j=f[q>>2]|0}while((j|0)!=(s|0))}while(0);b:do if((d|0)<5){s=f[a+20+(d*12|0)>>2]|0;t=a+20+(d*12|0)+4|0;r=f[t>>2]|0;i=r;c:do if((s|0)==(r|0))u=s;else{o=s;while(1){if((f[o>>2]|0)==(b|0)){u=o;break c}o=o+4|0;if((o|0)==(r|0))break b}}while(0);if((u|0)!=(r|0)){s=u+4|0;o=i-s|0;j=o>>2;if(!j)v=r;else{jk(u|0,s|0,o|0)|0;v=f[t>>2]|0}o=u+(j<<2)|0;if((v|0)!=(o|0))f[t>>2]=v+(~((v+-4-o|0)>>>2)<<2)}}while(0);v=f[a+24>>2]|0;u=f[a+20>>2]|0;d=u;if((v|0)!=(u|0)){o=v-u>>2;u=0;do{v=d+(u<<2)|0;j=f[v>>2]|0;if((j|0)>(b|0))f[v>>2]=j+-1;u=u+1|0}while(u>>>0>>0)}o=f[a+36>>2]|0;u=f[a+32>>2]|0;d=u;if((o|0)!=(u|0)){j=o-u>>2;u=0;do{o=d+(u<<2)|0;v=f[o>>2]|0;if((v|0)>(b|0))f[o>>2]=v+-1;u=u+1|0}while(u>>>0>>0)}j=f[a+48>>2]|0;u=f[a+44>>2]|0;d=u;if((j|0)!=(u|0)){v=j-u>>2;u=0;do{j=d+(u<<2)|0;o=f[j>>2]|0;if((o|0)>(b|0))f[j>>2]=o+-1;u=u+1|0}while(u>>>0>>0)}v=f[a+60>>2]|0;u=f[a+56>>2]|0;d=u;if((v|0)!=(u|0)){o=v-u>>2;u=0;do{v=d+(u<<2)|0;j=f[v>>2]|0;if((j|0)>(b|0))f[v>>2]=j+-1;u=u+1|0}while(u>>>0>>0)}o=f[a+72>>2]|0;u=f[a+68>>2]|0;a=u;if((o|0)==(u|0))return;d=o-u>>2;u=0;do{o=a+(u<<2)|0;j=f[o>>2]|0;if((j|0)>(b|0))f[o>>2]=j+-1;u=u+1|0}while(u>>>0>>0);return}function kc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=Na,v=Na,w=Na,x=Na,y=0,z=0,A=0,B=0,C=Na,D=Na,E=Na,F=Na,G=Na,H=Na,I=Na,K=Na,M=Na,N=Na,O=Na,P=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=o+2|0;r=p;break}else{q=o+-1|0;r=p;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(r<<2)>>2]|0;r=f[o+(q<<2)>>2]|0;q=f[a+52>>2]|0;o=f[q>>2]|0;c=(f[q+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)zo(q);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=r>>>0)zo(q);q=f[p+(r<<2)>>2]|0;r=(o|0)<(e|0);if(r&(q|0)<(e|0)){p=f[a+72>>2]|0;c=X(p,o)|0;t=$(f[d+(c<<2)>>2]|0);v=$(f[d+(c+1<<2)>>2]|0);c=X(p,q)|0;w=$(f[d+(c<<2)>>2]|0);x=$(f[d+(c+1<<2)>>2]|0);if(!(w!=t|x!=v)){c=f[a+68>>2]|0;f[c>>2]=~~w;f[c+4>>2]=~~x;u=g;return}c=a+64|0;p=f[(f[c>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;m=a+60|0;y=f[m>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(p<<2)>>2]|0;else z=p;f[i>>2]=z;z=b[y+24>>0]|0;f[h>>2]=f[i>>2];pb(y,h,z,j)|0;z=f[(f[c>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;y=f[m>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[y+24>>0]|0;f[h>>2]=f[i>>2];pb(y,h,A,k)|0;A=f[(f[c>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[m>>2]|0;if(!(b[q+84>>0]|0))B=f[(f[q+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[q+24>>0]|0;f[h>>2]=f[i>>2];pb(q,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)?1:(f[a+88>>2]|0)<258){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(w-t);w=$(x-v);x=$($(H*N)+t);t=$(H*O);H=$($(w*N)+v);v=$(w*O);j=a+80|0;k=(f[j>>2]|0)+-1|0;l=(1<<(k&31)&f[(f[a+76>>2]|0)+(k>>>5<<2)>>2]|0)==0;f[j>>2]=k;O=$(-t);w=$(H+(l?O:t));t=$(-v);O=$(x+(l?v:t));l=~~+J(+(+O+.5));k=f[a+68>>2]|0;f[k>>2]=((n[s>>2]=O,f[s>>2]|0)&2147483647)>>>0>2139095040?-2147483648:l;l=~~+J(+(+w+.5));f[k+4>>2]=((n[s>>2]=w,f[s>>2]|0)&2147483647)>>>0>2139095040?-2147483648:l;u=g;return}else{do if(r)P=o;else{if((e|0)>0){P=e+-1|0;break}l=a+72|0;if((f[l>>2]|0)<=0){u=g;return}k=f[a+68>>2]|0;j=0;do{f[k+(j<<2)>>2]=0;j=j+1|0}while((j|0)<(f[l>>2]|0));u=g;return}while(0);e=a+72|0;o=f[e>>2]|0;r=X(o,P)|0;if((o|0)<=0){u=g;return}o=f[a+68>>2]|0;a=0;do{f[o+(a<<2)>>2]=f[d+(a+r<<2)>>2];a=a+1|0}while((a|0)<(f[e>>2]|0));u=g;return}}function lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;zo(z)}else{A=0;B=a}while(1){f[j>>2]=f[B+(A<<2)>>2];f[d>>2]=f[j>>2];Rb(k,d,h);a=f[h>>2]|0;l=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=Rl(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f[o>>2]|0;D=(l|0)>-1;F=D?l:0-l|0;l=Rl(E|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;if((l|0)==0&(F|0)==0){G=f[p>>2]|0;H=h}else{E=f[p>>2]|0;J=((E|0)<0)<<31>>31;K=_k(E|0,J|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ki(K|0,I|0,l|0,F|0)|0;f[h>>2]=a;K=_k(E|0,J|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Ki(K|0,I|0,l|0,F|0)|0;f[m>>2]=C;F=E-((a|0)>-1?a:0-a|0)-((C|0)>-1?C:0-C|0)|0;G=D?F:0-F|0;H=o}f[H>>2]=G;F=Ni(q)|0;D=f[h>>2]|0;if(F){F=0-D|0;C=0-(f[m>>2]|0)|0;a=0-(f[o>>2]|0)|0;f[h>>2]=F;f[m>>2]=C;f[o>>2]=a;L=F;M=C}else{L=D;M=f[m>>2]|0}do if((L|0)<=-1){if((M|0)<0){D=f[o>>2]|0;N=(D|0)>-1?D:0-D|0;O=D}else{D=f[o>>2]|0;N=(f[s>>2]|0)-((D|0)>-1?D:0-D|0)|0;O=D}if((O|0)<0){P=(M|0)>-1?M:0-M|0;Q=N;break}else{P=(f[s>>2]|0)-((M|0)>-1?M:0-M|0)|0;Q=N;break}}else{D=f[p>>2]|0;P=(f[o>>2]|0)+D|0;Q=D+M|0}while(0);D=(Q|0)==0;C=(P|0)==0;F=f[s>>2]|0;do if(P|Q){a=(F|0)==(P|0);if(!(D&a)){E=(F|0)==(Q|0);if(!(C&E)){if(D?(l=f[p>>2]|0,(l|0)<(P|0)):0){R=0;S=(l<<1)-P|0;break}if(E?(E=f[p>>2]|0,(E|0)>(P|0)):0){R=Q;S=(E<<1)-P|0;break}if(a?(a=f[p>>2]|0,(a|0)>(Q|0)):0){R=(a<<1)-Q|0;S=P;break}if(C){a=f[p>>2]|0;R=(a|0)<(Q|0)?(a<<1)-Q|0:Q;S=0}else{R=Q;S=P}}else{R=Q;S=Q}}else{R=P;S=P}}else{R=F;S=F}while(0);f[i>>2]=R;f[r>>2]=S;F=A<<1;C=b+(F<<2)|0;D=c+(F<<2)|0;if((f[t>>2]|0)>0){F=0;a=R;while(1){E=f[v>>2]|0;if((a|0)>(E|0)){l=f[w>>2]|0;f[l+(F<<2)>>2]=E;T=l}else{l=f[x>>2]|0;E=f[w>>2]|0;f[E+(F<<2)>>2]=(a|0)<(l|0)?l:a;T=E}E=F+1|0;U=f[t>>2]|0;if((E|0)>=(U|0))break;F=E;a=f[i+(E<<2)>>2]|0}if((U|0)>0){a=0;do{F=(f[C+(a<<2)>>2]|0)+(f[T+(a<<2)>>2]|0)|0;E=D+(a<<2)|0;f[E>>2]=F;if((F|0)<=(f[v>>2]|0)){if((F|0)<(f[x>>2]|0)){V=(f[y>>2]|0)+F|0;W=44}}else{V=F-(f[y>>2]|0)|0;W=44}if((W|0)==44){W=0;f[E>>2]=V}a=a+1|0}while((a|0)<(f[t>>2]|0))}}A=A+1|0;if((A|0)>=(n|0)){W=3;break}a=f[g>>2]|0;B=f[a>>2]|0;if((f[a+4>>2]|0)-B>>2>>>0<=A>>>0){z=a;W=4;break}}if((W|0)==3){u=e;return 1}else if((W|0)==4)zo(z);return 0}function mc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;zo(z)}else{A=0;B=a}while(1){f[j>>2]=f[B+(A<<2)>>2];f[d>>2]=f[j>>2];Ob(k,d,h);a=f[h>>2]|0;l=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=Rl(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f[o>>2]|0;D=(l|0)>-1;F=D?l:0-l|0;l=Rl(E|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;F=I;if((l|0)==0&(F|0)==0){G=f[p>>2]|0;H=h}else{E=f[p>>2]|0;J=((E|0)<0)<<31>>31;K=_k(E|0,J|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ki(K|0,I|0,l|0,F|0)|0;f[h>>2]=a;K=_k(E|0,J|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Ki(K|0,I|0,l|0,F|0)|0;f[m>>2]=C;F=E-((a|0)>-1?a:0-a|0)-((C|0)>-1?C:0-C|0)|0;G=D?F:0-F|0;H=o}f[H>>2]=G;F=Ni(q)|0;D=f[h>>2]|0;if(F){F=0-D|0;C=0-(f[m>>2]|0)|0;a=0-(f[o>>2]|0)|0;f[h>>2]=F;f[m>>2]=C;f[o>>2]=a;L=F;M=C}else{L=D;M=f[m>>2]|0}do if((L|0)<=-1){if((M|0)<0){D=f[o>>2]|0;N=(D|0)>-1?D:0-D|0;O=D}else{D=f[o>>2]|0;N=(f[s>>2]|0)-((D|0)>-1?D:0-D|0)|0;O=D}if((O|0)<0){P=(M|0)>-1?M:0-M|0;Q=N;break}else{P=(f[s>>2]|0)-((M|0)>-1?M:0-M|0)|0;Q=N;break}}else{D=f[p>>2]|0;P=(f[o>>2]|0)+D|0;Q=D+M|0}while(0);D=(Q|0)==0;C=(P|0)==0;F=f[s>>2]|0;do if(P|Q){a=(F|0)==(P|0);if(!(D&a)){E=(F|0)==(Q|0);if(!(C&E)){if(D?(l=f[p>>2]|0,(l|0)<(P|0)):0){R=0;S=(l<<1)-P|0;break}if(E?(E=f[p>>2]|0,(E|0)>(P|0)):0){R=Q;S=(E<<1)-P|0;break}if(a?(a=f[p>>2]|0,(a|0)>(Q|0)):0){R=(a<<1)-Q|0;S=P;break}if(C){a=f[p>>2]|0;R=(a|0)<(Q|0)?(a<<1)-Q|0:Q;S=0}else{R=Q;S=P}}else{R=Q;S=Q}}else{R=P;S=P}}else{R=F;S=F}while(0);f[i>>2]=R;f[r>>2]=S;F=A<<1;C=b+(F<<2)|0;D=c+(F<<2)|0;if((f[t>>2]|0)>0){F=0;a=R;while(1){E=f[v>>2]|0;if((a|0)>(E|0)){l=f[w>>2]|0;f[l+(F<<2)>>2]=E;T=l}else{l=f[x>>2]|0;E=f[w>>2]|0;f[E+(F<<2)>>2]=(a|0)<(l|0)?l:a;T=E}E=F+1|0;U=f[t>>2]|0;if((E|0)>=(U|0))break;F=E;a=f[i+(E<<2)>>2]|0}if((U|0)>0){a=0;do{F=(f[C+(a<<2)>>2]|0)+(f[T+(a<<2)>>2]|0)|0;E=D+(a<<2)|0;f[E>>2]=F;if((F|0)<=(f[v>>2]|0)){if((F|0)<(f[x>>2]|0)){V=(f[y>>2]|0)+F|0;W=44}}else{V=F-(f[y>>2]|0)|0;W=44}if((W|0)==44){W=0;f[E>>2]=V}a=a+1|0}while((a|0)<(f[t>>2]|0))}}A=A+1|0;if((A|0)>=(n|0)){W=3;break}a=f[g>>2]|0;B=f[a>>2]|0;if((f[a+4>>2]|0)-B>>2>>>0<=A>>>0){z=a;W=4;break}}if((W|0)==3){u=e;return 1}else if((W|0)==4)zo(z);return 0}function nc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;j=a+64|0;k=f[j>>2]|0;if((f[k+28>>2]|0)==(f[k+24>>2]|0)){u=e;return}l=c+96|0;c=a+52|0;m=d+84|0;n=d+68|0;d=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;r=a+40|0;s=a+44|0;t=a+48|0;v=0;w=0;x=k;while(1){k=f[(f[x+24>>2]|0)+(w<<2)>>2]|0;if((k|0)==-1){y=v;z=x}else{A=v+1|0;B=f[(f[l>>2]|0)+(((k|0)/3|0)*12|0)+(((k|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))C=f[(f[n>>2]|0)+(B<<2)>>2]|0;else C=B;f[g>>2]=C;B=f[d>>2]|0;if(B>>>0<(f[o>>2]|0)>>>0){f[B>>2]=C;f[d>>2]=B+4}else dh(c,g);f[g>>2]=k;f[h>>2]=0;a:do if(!(f[(f[p>>2]|0)+(w>>>5<<2)>>2]&1<<(w&31)))D=k;else{B=k+1|0;E=((B>>>0)%3|0|0)==0?k+-2|0:B;if(((E|0)!=-1?(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(B=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,E=B+1|0,(B|0)!=-1):0){F=((E>>>0)%3|0|0)==0?B+-2|0:E;f[h>>2]=F;if((F|0)==-1){D=k;break}else G=F;while(1){f[g>>2]=G;F=G+1|0;E=((F>>>0)%3|0|0)==0?G+-2|0:F;if((E|0)==-1)break;if(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)break;F=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0;E=F+1|0;if((F|0)==-1)break;B=((E>>>0)%3|0|0)==0?F+-2|0:E;f[h>>2]=B;if((B|0)==-1){D=G;break a}else G=B}f[h>>2]=-1;D=G;break}f[h>>2]=-1;D=k}while(0);f[(f[q>>2]|0)+(D<<2)>>2]=v;k=f[s>>2]|0;if((k|0)==(f[t>>2]|0))dh(r,g);else{f[k>>2]=f[g>>2];f[s>>2]=k+4}k=f[j>>2]|0;B=f[g>>2]|0;b:do if(((B|0)!=-1?(E=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(E|0)!=-1):0)?(F=f[(f[k+12>>2]|0)+(E<<2)>>2]|0,(F|0)!=-1):0){E=F+(((F>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=E;if((E|0)!=-1&(E|0)!=(B|0)){F=A;H=v;I=E;while(1){E=I+1|0;J=((E>>>0)%3|0|0)==0?I+-2|0:E;do if(f[(f[a>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)){E=F+1|0;K=f[(f[l>>2]|0)+(((I|0)/3|0)*12|0)+(((I|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))L=f[(f[n>>2]|0)+(K<<2)>>2]|0;else L=K;f[i>>2]=L;K=f[d>>2]|0;if(K>>>0<(f[o>>2]|0)>>>0){f[K>>2]=L;f[d>>2]=K+4}else dh(c,i);K=f[s>>2]|0;if((K|0)==(f[t>>2]|0)){dh(r,h);M=E;N=F;break}else{f[K>>2]=f[h>>2];f[s>>2]=K+4;M=E;N=F;break}}else{M=F;N=H}while(0);f[(f[q>>2]|0)+(f[h>>2]<<2)>>2]=N;O=f[j>>2]|0;J=f[h>>2]|0;if((J|0)==-1)break;E=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((E|0)==-1)break;J=f[(f[O+12>>2]|0)+(E<<2)>>2]|0;if((J|0)==-1)break;I=J+(((J>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=I;if(!((I|0)!=-1?(I|0)!=(f[g>>2]|0):0)){P=M;Q=O;break b}else{F=M;H=N}}f[h>>2]=-1;P=M;Q=O}else{P=A;Q=k}}else R=28;while(0);if((R|0)==28){R=0;f[h>>2]=-1;P=A;Q=k}y=P;z=Q}w=w+1|0;if(w>>>0>=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2>>>0)break;else{v=y;x=z}}u=e;return}function oc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=u;u=u+32|0;c=b+4|0;d=b;e=a+16|0;g=f[e>>2]|0;if(g>>>0>340){f[e>>2]=g+-341;g=a+4|0;e=f[g>>2]|0;h=f[e>>2]|0;i=e+4|0;f[g>>2]=i;e=a+8|0;j=f[e>>2]|0;k=a+12|0;l=f[k>>2]|0;m=l;do if((j|0)==(l|0)){n=f[a>>2]|0;o=n;if(i>>>0>n>>>0){p=i;q=((p-o>>2)+1|0)/-2|0;r=i+(q<<2)|0;s=j-p|0;p=s>>2;if(!p)t=i;else{jk(r|0,i|0,s|0)|0;t=f[g>>2]|0}s=r+(p<<2)|0;f[e>>2]=s;f[g>>2]=t+(q<<2);v=s;break}s=m-o>>1;o=(s|0)==0?1:s;if(o>>>0>1073741823){s=ra(8)|0;_m(s,13388);f[s>>2]=4744;va(s|0,1128,101)}s=Vk(o<<2)|0;q=s;p=s+(o>>>2<<2)|0;r=p;w=s+(o<<2)|0;if((i|0)==(j|0)){x=r;y=n}else{n=p;p=r;o=i;do{f[n>>2]=f[o>>2];n=p+4|0;p=n;o=o+4|0}while((o|0)!=(j|0));x=p;y=f[a>>2]|0}f[a>>2]=q;f[g>>2]=r;f[e>>2]=x;f[k>>2]=w;if(!y)v=x;else{ip(y);v=f[e>>2]|0}}else v=j;while(0);f[v>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}e=a+8|0;h=f[e>>2]|0;v=a+4|0;j=h-(f[v>>2]|0)|0;y=a+12|0;x=f[y>>2]|0;k=x-(f[a>>2]|0)|0;if(j>>>0>=k>>>0){g=k>>1;k=(g|0)==0?1:g;f[c+12>>2]=0;f[c+16>>2]=a+12;if(k>>>0>1073741823){g=ra(8)|0;_m(g,13388);f[g>>2]=4744;va(g|0,1128,101)}g=Vk(k<<2)|0;f[c>>2]=g;i=g+(j>>2<<2)|0;j=c+8|0;f[j>>2]=i;m=c+4|0;f[m>>2]=i;i=c+12|0;f[i>>2]=g+(k<<2);k=Vk(4092)|0;f[d>>2]=k;kf(c,d);d=f[e>>2]|0;while(1){z=f[v>>2]|0;if((d|0)==(z|0))break;k=d+-4|0;af(c,k);d=k}k=z;z=f[a>>2]|0;f[a>>2]=f[c>>2];f[c>>2]=z;f[v>>2]=f[m>>2];f[m>>2]=k;m=f[e>>2]|0;f[e>>2]=f[j>>2];f[j>>2]=m;g=f[y>>2]|0;f[y>>2]=f[i>>2];f[i>>2]=g;g=m;if((d|0)!=(g|0))f[j>>2]=g+(~((g+-4-k|0)>>>2)<<2);if(z|0)ip(z);u=b;return}if((x|0)!=(h|0)){h=Vk(4092)|0;f[c>>2]=h;kf(a,c);u=b;return}h=Vk(4092)|0;f[c>>2]=h;af(a,c);c=f[v>>2]|0;h=f[c>>2]|0;x=c+4|0;f[v>>2]=x;c=f[e>>2]|0;z=f[y>>2]|0;k=z;do if((c|0)==(z|0)){g=f[a>>2]|0;j=g;if(x>>>0>g>>>0){d=x;m=((d-j>>2)+1|0)/-2|0;i=x+(m<<2)|0;t=c-d|0;d=t>>2;if(!d)A=x;else{jk(i|0,x|0,t|0)|0;A=f[v>>2]|0}t=i+(d<<2)|0;f[e>>2]=t;f[v>>2]=A+(m<<2);B=t;break}t=k-j>>1;j=(t|0)==0?1:t;if(j>>>0>1073741823){t=ra(8)|0;_m(t,13388);f[t>>2]=4744;va(t|0,1128,101)}t=Vk(j<<2)|0;m=t;d=t+(j>>>2<<2)|0;i=d;l=t+(j<<2)|0;if((x|0)==(c|0)){C=i;D=g}else{g=d;d=i;j=x;do{f[g>>2]=f[j>>2];g=d+4|0;d=g;j=j+4|0}while((j|0)!=(c|0));C=d;D=f[a>>2]|0}f[a>>2]=m;f[v>>2]=i;f[e>>2]=C;f[y>>2]=l;if(!D)B=C;else{ip(D);B=f[e>>2]|0}}else B=c;while(0);f[B>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}function pc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;zo(y)}else{z=0;A=x}while(1){f[k>>2]=f[A+(z<<2)>>2];f[d>>2]=f[k>>2];Rb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Rl(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Rl(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;if((n|0)==0&(E|0)==0){F=f[r>>2]|0;G=j}else{D=f[r>>2]|0;H=((D|0)<0)<<31>>31;J=_k(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Ki(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=_k(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Ki(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=C?E:0-E|0;G=q}f[G>>2]=F;E=Ni(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B}else{K=C;L=f[o>>2]|0}do if((K|0)<=-1){if((L|0)<0){C=f[q>>2]|0;M=(C|0)>-1?C:0-C|0;N=C}else{C=f[q>>2]|0;M=(f[t>>2]|0)-((C|0)>-1?C:0-C|0)|0;N=C}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[t>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{C=f[r>>2]|0;O=(f[q>>2]|0)+C|0;P=C+L|0}while(0);C=(P|0)==0;B=(O|0)==0;E=f[t>>2]|0;do if(O|P){x=(E|0)==(O|0);if(!(C&x)){D=(E|0)==(P|0);if(!(B&D)){if(C?(n=f[r>>2]|0,(n|0)<(O|0)):0){Q=0;R=(n<<1)-O|0;break}if(D?(D=f[r>>2]|0,(D|0)>(O|0)):0){Q=P;R=(D<<1)-O|0;break}if(x?(x=f[r>>2]|0,(x|0)>(P|0)):0){Q=(x<<1)-P|0;R=O;break}if(B){x=f[r>>2]|0;Q=(x|0)<(P|0)?(x<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=E;R=E}while(0);E=z<<1;B=b+(E<<2)|0;C=c+(E<<2)|0;E=f[B>>2]|0;x=f[B+4>>2]|0;f[h>>2]=Q;f[a>>2]=R;f[i>>2]=E;f[v>>2]=x;Fc(d,l,h,i);f[C>>2]=f[d>>2];f[C+4>>2]=f[w>>2];z=z+1|0;if((z|0)>=(p|0)){S=5;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=z>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)zo(y);return 0}function qc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=Vk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];mi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=2012;i=c;f[a>>2]=i;return}case 2:{c=Vk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];mi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=2068;i=c;f[a>>2]=i;return}case 4:{c=Vk(112)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];mi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=2124;b=c+60|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));i=c;f[a>>2]=i;return}case 3:{c=Vk(92)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];mi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=2180;b=c+60|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[c+88>>2]=h&65535;i=c;f[a>>2]=i;return}case 5:{c=Vk(104)|0;f[c>>2]=1536;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mi(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2236;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=Vk(124)|0;f[c>>2]=1536;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];mi(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=2292;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=2348;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Ho(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function rc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;zo(y)}else{z=0;A=x}while(1){f[k>>2]=f[A+(z<<2)>>2];f[d>>2]=f[k>>2];Ob(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Rl(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Rl(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;if((n|0)==0&(E|0)==0){F=f[r>>2]|0;G=j}else{D=f[r>>2]|0;H=((D|0)<0)<<31>>31;J=_k(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Ki(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=_k(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Ki(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=C?E:0-E|0;G=q}f[G>>2]=F;E=Ni(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B}else{K=C;L=f[o>>2]|0}do if((K|0)<=-1){if((L|0)<0){C=f[q>>2]|0;M=(C|0)>-1?C:0-C|0;N=C}else{C=f[q>>2]|0;M=(f[t>>2]|0)-((C|0)>-1?C:0-C|0)|0;N=C}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[t>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{C=f[r>>2]|0;O=(f[q>>2]|0)+C|0;P=C+L|0}while(0);C=(P|0)==0;B=(O|0)==0;E=f[t>>2]|0;do if(O|P){x=(E|0)==(O|0);if(!(C&x)){D=(E|0)==(P|0);if(!(B&D)){if(C?(n=f[r>>2]|0,(n|0)<(O|0)):0){Q=0;R=(n<<1)-O|0;break}if(D?(D=f[r>>2]|0,(D|0)>(O|0)):0){Q=P;R=(D<<1)-O|0;break}if(x?(x=f[r>>2]|0,(x|0)>(P|0)):0){Q=(x<<1)-P|0;R=O;break}if(B){x=f[r>>2]|0;Q=(x|0)<(P|0)?(x<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=E;R=E}while(0);E=z<<1;B=b+(E<<2)|0;C=c+(E<<2)|0;E=f[B>>2]|0;x=f[B+4>>2]|0;f[h>>2]=Q;f[a>>2]=R;f[i>>2]=E;f[v>>2]=x;Fc(d,l,h,i);f[C>>2]=f[d>>2];f[C+4>>2]=f[w>>2];z=z+1|0;if((z|0)>=(p|0)){S=5;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=z>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)zo(y);return 0}function sc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=Vk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];mi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=1648;i=c;f[a>>2]=i;return}case 2:{c=Vk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];mi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=1704;i=c;f[a>>2]=i;return}case 4:{c=Vk(112)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];mi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=1760;b=c+60|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));i=c;f[a>>2]=i;return}case 3:{c=Vk(92)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];mi(c+32|0,e+24|0);b=c+44|0;f[b>>2]=f[g>>2];f[b+4>>2]=f[g+4>>2];f[b+8>>2]=f[g+8>>2];f[b+12>>2]=f[g+12>>2];f[c>>2]=1816;b=c+60|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[c+88>>2]=h&65535;i=c;f[a>>2]=i;return}case 5:{c=Vk(104)|0;f[c>>2]=1536;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mi(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1872;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=Vk(124)|0;f[c>>2]=1536;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];mi(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1928;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=1984;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Ho(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function tc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=d+4|0;v=i+4|0;w=h+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;zo(y)}else{z=0;A=x}while(1){f[k>>2]=f[A+(z<<2)>>2];f[d>>2]=f[k>>2];Rb(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Rl(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Rl(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;if((n|0)==0&(E|0)==0){F=f[r>>2]|0;G=j}else{D=f[r>>2]|0;H=((D|0)<0)<<31>>31;J=_k(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Ki(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=_k(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Ki(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=C?E:0-E|0;G=q}f[G>>2]=F;E=Ni(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B}else{K=C;L=f[o>>2]|0}do if((K|0)<=-1){if((L|0)<0){C=f[q>>2]|0;M=(C|0)>-1?C:0-C|0;N=C}else{C=f[q>>2]|0;M=(f[t>>2]|0)-((C|0)>-1?C:0-C|0)|0;N=C}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[t>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{C=f[r>>2]|0;O=(f[q>>2]|0)+C|0;P=C+L|0}while(0);C=(P|0)==0;B=(O|0)==0;E=f[t>>2]|0;do if(O|P){x=(E|0)==(O|0);if(!(C&x)){D=(E|0)==(P|0);if(!(B&D)){if(C?(n=f[r>>2]|0,(n|0)<(O|0)):0){Q=0;R=(n<<1)-O|0;break}if(D?(D=f[r>>2]|0,(D|0)>(O|0)):0){Q=P;R=(D<<1)-O|0;break}if(x?(x=f[r>>2]|0,(x|0)>(P|0)):0){Q=(x<<1)-P|0;R=O;break}if(B){x=f[r>>2]|0;Q=(x|0)<(P|0)?(x<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=E;R=E}while(0);E=z<<1;B=b+(E<<2)|0;C=c+(E<<2)|0;E=f[B+4>>2]|0;f[d>>2]=f[B>>2];f[a>>2]=E;f[i>>2]=Q;f[v>>2]=R;kd(h,l,i,d);f[C>>2]=f[h>>2];f[C+4>>2]=f[w>>2];z=z+1|0;if((z|0)>=(p|0)){S=5;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=z>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)zo(y);return 0}function uc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=d+4|0;v=i+4|0;w=h+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;zo(y)}else{z=0;A=x}while(1){f[k>>2]=f[A+(z<<2)>>2];f[d>>2]=f[k>>2];Ob(m,d,j);x=f[j>>2]|0;n=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=Rl(C|0,((C|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=f[q>>2]|0;C=(n|0)>-1;E=C?n:0-n|0;n=Rl(D|0,I|0,E|0,((E|0)<0)<<31>>31|0)|0;E=I;if((n|0)==0&(E|0)==0){F=f[r>>2]|0;G=j}else{D=f[r>>2]|0;H=((D|0)<0)<<31>>31;J=_k(D|0,H|0,x|0,((x|0)<0)<<31>>31|0)|0;x=Ki(J|0,I|0,n|0,E|0)|0;f[j>>2]=x;J=_k(D|0,H|0,B|0,((B|0)<0)<<31>>31|0)|0;B=Ki(J|0,I|0,n|0,E|0)|0;f[o>>2]=B;E=D-((x|0)>-1?x:0-x|0)-((B|0)>-1?B:0-B|0)|0;F=C?E:0-E|0;G=q}f[G>>2]=F;E=Ni(s)|0;C=f[j>>2]|0;if(E){E=0-C|0;B=0-(f[o>>2]|0)|0;x=0-(f[q>>2]|0)|0;f[j>>2]=E;f[o>>2]=B;f[q>>2]=x;K=E;L=B}else{K=C;L=f[o>>2]|0}do if((K|0)<=-1){if((L|0)<0){C=f[q>>2]|0;M=(C|0)>-1?C:0-C|0;N=C}else{C=f[q>>2]|0;M=(f[t>>2]|0)-((C|0)>-1?C:0-C|0)|0;N=C}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[t>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{C=f[r>>2]|0;O=(f[q>>2]|0)+C|0;P=C+L|0}while(0);C=(P|0)==0;B=(O|0)==0;E=f[t>>2]|0;do if(O|P){x=(E|0)==(O|0);if(!(C&x)){D=(E|0)==(P|0);if(!(B&D)){if(C?(n=f[r>>2]|0,(n|0)<(O|0)):0){Q=0;R=(n<<1)-O|0;break}if(D?(D=f[r>>2]|0,(D|0)>(O|0)):0){Q=P;R=(D<<1)-O|0;break}if(x?(x=f[r>>2]|0,(x|0)>(P|0)):0){Q=(x<<1)-P|0;R=O;break}if(B){x=f[r>>2]|0;Q=(x|0)<(P|0)?(x<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=E;R=E}while(0);E=z<<1;B=b+(E<<2)|0;C=c+(E<<2)|0;E=f[B+4>>2]|0;f[d>>2]=f[B>>2];f[a>>2]=E;f[i>>2]=Q;f[v>>2]=R;kd(h,l,i,d);f[C>>2]=f[h>>2];f[C+4>>2]=f[w>>2];z=z+1|0;if((z|0)>=(p|0)){S=5;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=z>>>0){y=C;S=6;break}}if((S|0)==5){u=e;return 1}else if((S|0)==6)zo(y);return 0}function vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=u;u=u+16|0;e=d+12|0;g=d;h=d+8|0;i=d+4|0;j=a+8+(b*12|0)|0;k=f[j>>2]|0;l=a+8+(b*12|0)+4|0;m=f[l>>2]|0;if((m|0)!=(k|0))f[l>>2]=m+(~((m+-4-k|0)>>>2)<<2);k=f[c>>2]|0;m=a+4|0;f[g>>2]=(k|0)==-1?-1:(k>>>0)/3|0;n=a+56|0;o=a+8+(b*12|0)+8|0;p=0;q=f[g>>2]|0;r=k;while(1){s=(f[n>>2]|0)+(q>>>5<<2)|0;t=1<<(q&31);v=f[s>>2]|0;if(t&v|0)break;f[s>>2]=v|t;t=f[l>>2]|0;if((t|0)==(f[o>>2]|0))dh(j,g);else{f[t>>2]=f[g>>2];f[l>>2]=t+4}t=p+1|0;if((p|0)>0){v=(r|0)==-1;do if(!(t&1))if(!v)if(!((r>>>0)%3|0)){w=r+2|0;break}else{w=r+-1|0;break}else w=-1;else{s=r+1|0;if(v)w=-1;else w=((s>>>0)%3|0|0)==0?r+-2|0:s}while(0);f[c>>2]=w;x=w}else x=r;f[i>>2]=x;f[e>>2]=f[i>>2];v=nf(a,e)|0;f[c>>2]=v;if((v|0)==-1)break;s=(v>>>0)/3|0;f[g>>2]=s;p=t;q=s;r=v}r=(k|0)==-1;do if(!r)if(!((k>>>0)%3|0)){y=k+2|0;break}else{y=k+-1|0;break}else y=-1;while(0);f[h>>2]=y;f[e>>2]=f[h>>2];do if((nf(a,e)|0)==-1)z=k;else{h=k+1|0;if(!r){y=((h>>>0)%3|0|0)==0?k+-2|0:h;f[c>>2]=y;h=f[m>>2]|0;q=y+1|0;if(((y|0)!=-1?(p=((q>>>0)%3|0|0)==0?y+-2|0:q,(p|0)!=-1):0)?(q=f[(f[h+12>>2]|0)+(p<<2)>>2]|0,p=q+1|0,(q|0)!=-1):0){h=((p>>>0)%3|0|0)==0?q+-2|0:p;f[c>>2]=h;if((h|0)==-1){z=k;break}else{A=h;B=0;C=k}while(1){h=(A>>>0)/3|0;f[g>>2]=h;p=(f[n>>2]|0)+(h>>>5<<2)|0;q=1<<(h&31);h=f[p>>2]|0;if(q&h|0){D=B;E=C;break}f[p>>2]=h|q;q=f[l>>2]|0;if((q|0)==(f[o>>2]|0))dh(j,g);else{f[q>>2]=f[g>>2];f[l>>2]=q+4}q=B+1|0;if((B|0)>0){h=(A|0)==-1;do if(!(q&1))if(!h)if(!((A>>>0)%3|0)){F=A+2|0;G=A;break}else{F=A+-1|0;G=A;break}else{F=-1;G=A}else{p=A+1|0;if(h){F=-1;G=C}else{F=((p>>>0)%3|0|0)==0?A+-2|0:p;G=C}}while(0);f[c>>2]=F;H=G;I=F}else{H=C;I=A}f[i>>2]=I;f[e>>2]=f[i>>2];A=nf(a,e)|0;f[c>>2]=A;if((A|0)==-1){D=q;E=H;break}else{B=q;C=H}}if(!(D&1)){z=E;break}t=f[l>>2]|0;h=f[t+-4>>2]|0;p=(f[n>>2]|0)+(h>>>5<<2)|0;f[p>>2]=f[p>>2]&~(1<<(h&31));f[l>>2]=t+-4;z=E;break}else J=k}else{f[c>>2]=-1;J=-1}f[c>>2]=-1;z=J}while(0);f[a+44+(b<<2)>>2]=z;z=f[l>>2]|0;l=f[j>>2]|0;j=l;if((z|0)==(l|0)){u=d;return}b=f[n>>2]|0;n=z-l>>2;l=0;do{z=f[j+(l<<2)>>2]|0;a=b+(z>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(z&31));l=l+1|0}while(l>>>0>>0);u=d;return}function wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c=u;u=u+16|0;b=c+8|0;d=c+4|0;e=c;g=a+64|0;h=f[g>>2]|0;if((f[h+28>>2]|0)==(f[h+24>>2]|0)){u=c;return}i=a+52|0;j=a+56|0;k=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;q=0;r=0;s=h;while(1){h=f[(f[s+24>>2]|0)+(r<<2)>>2]|0;if((h|0)==-1){t=q;v=s}else{w=q+1|0;f[b>>2]=q;x=f[j>>2]|0;if((x|0)==(f[k>>2]|0))dh(i,b);else{f[x>>2]=q;f[j>>2]=x+4}f[d>>2]=h;f[e>>2]=0;a:do if(!(f[(f[l>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)))y=h;else{x=h+1|0;z=((x>>>0)%3|0|0)==0?h+-2|0:x;if(((z|0)!=-1?(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(x=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,z=x+1|0,(x|0)!=-1):0){A=((z>>>0)%3|0|0)==0?x+-2|0:z;f[e>>2]=A;if((A|0)==-1){y=h;break}else B=A;while(1){f[d>>2]=B;A=B+1|0;z=((A>>>0)%3|0|0)==0?B+-2|0:A;if((z|0)==-1)break;if(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)break;A=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0;z=A+1|0;if((A|0)==-1)break;x=((z>>>0)%3|0|0)==0?A+-2|0:z;f[e>>2]=x;if((x|0)==-1){y=B;break a}else B=x}f[e>>2]=-1;y=B;break}f[e>>2]=-1;y=h}while(0);f[(f[m>>2]|0)+(y<<2)>>2]=f[b>>2];h=f[o>>2]|0;if((h|0)==(f[p>>2]|0))dh(n,d);else{f[h>>2]=f[d>>2];f[o>>2]=h+4}h=f[g>>2]|0;x=f[d>>2]|0;b:do if(((x|0)!=-1?(z=(((x>>>0)%3|0|0)==0?2:-1)+x|0,(z|0)!=-1):0)?(A=f[(f[h+12>>2]|0)+(z<<2)>>2]|0,(A|0)!=-1):0){z=A+(((A>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=z;if((z|0)!=-1&(z|0)!=(x|0)){A=w;C=z;while(1){z=C+1|0;D=((z>>>0)%3|0|0)==0?C+-2|0:z;do if(f[(f[a>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)){z=A+1|0;f[b>>2]=A;E=f[j>>2]|0;if((E|0)==(f[k>>2]|0))dh(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){dh(n,e);F=z;break}else{f[E>>2]=f[e>>2];f[o>>2]=E+4;F=z;break}}else F=A;while(0);f[(f[m>>2]|0)+(f[e>>2]<<2)>>2]=f[b>>2];G=f[g>>2]|0;D=f[e>>2]|0;if((D|0)==-1)break;z=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((z|0)==-1)break;D=f[(f[G+12>>2]|0)+(z<<2)>>2]|0;if((D|0)==-1)break;C=D+(((D>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=C;if(!((C|0)!=-1?(C|0)!=(f[d>>2]|0):0)){H=F;I=G;break b}else A=F}f[e>>2]=-1;H=F;I=G}else{H=w;I=h}}else J=26;while(0);if((J|0)==26){J=0;f[e>>2]=-1;H=w;I=h}t=H;v=I}r=r+1|0;if(r>>>0>=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2>>>0)break;else{q=t;s=v}}u=c;return}function xc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d+16|0;g=d;if((j[c+38>>1]|0)<514){i=c+8|0;k=f[i+4>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((k|0)>(o|0)|((k|0)==(o|0)?(f[i>>2]|0)>>>0>n>>>0:0))){p=0;u=d;return p|0}i=b[(f[c>>2]|0)+n>>0]|0;k=Rl(n|0,o|0,1,0)|0;o=l;f[o>>2]=k;f[o+4>>2]=I;if(i<<24>>24){p=0;u=d;return p|0}}Ph(e,c)|0;i=f[e>>2]|0;if(i|0?(o=a+60|0,wd(o,i,0),Ho(g),Bd(g,c)|0,f[e>>2]|0):0){i=0;do{k=Ni(g)|0;l=(f[o>>2]|0)+(i>>>5<<2)|0;n=1<<(i&31);if(k)q=f[l>>2]|n;else q=f[l>>2]&~n;f[l>>2]=q;i=i+1|0}while(i>>>0<(f[e>>2]|0)>>>0)}Ph(e,c)|0;i=f[e>>2]|0;if(i|0?(q=a+72|0,wd(q,i,0),Ho(g),Bd(g,c)|0,f[e>>2]|0):0){i=0;do{o=Ni(g)|0;l=(f[q>>2]|0)+(i>>>5<<2)|0;n=1<<(i&31);if(o)r=f[l>>2]|n;else r=f[l>>2]&~n;f[l>>2]=r;i=i+1|0}while(i>>>0<(f[e>>2]|0)>>>0)}Ph(e,c)|0;i=f[e>>2]|0;if(i|0?(r=a+84|0,wd(r,i,0),Ho(g),Bd(g,c)|0,f[e>>2]|0):0){i=0;do{q=Ni(g)|0;l=(f[r>>2]|0)+(i>>>5<<2)|0;n=1<<(i&31);if(q)s=f[l>>2]|n;else s=f[l>>2]&~n;f[l>>2]=s;i=i+1|0}while(i>>>0<(f[e>>2]|0)>>>0)}Ph(e,c)|0;i=f[e>>2]|0;if(i|0?(s=a+96|0,wd(s,i,0),Ho(g),Bd(g,c)|0,f[e>>2]|0):0){i=0;do{r=Ni(g)|0;l=(f[s>>2]|0)+(i>>>5<<2)|0;n=1<<(i&31);if(r)t=f[l>>2]|n;else t=f[l>>2]&~n;f[l>>2]=t;i=i+1|0}while(i>>>0<(f[e>>2]|0)>>>0)}e=c+8|0;i=f[e>>2]|0;t=f[e+4>>2]|0;e=c+16|0;s=e;g=f[s>>2]|0;l=f[s+4>>2]|0;s=Rl(g|0,l|0,4,0)|0;n=I;if((t|0)<(n|0)|(t|0)==(n|0)&i>>>0>>0){p=0;u=d;return p|0}r=f[c>>2]|0;c=r+g|0;q=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;c=e;f[c>>2]=s;f[c+4>>2]=n;n=Rl(g|0,l|0,8,0)|0;l=I;if((t|0)<(l|0)|(t|0)==(l|0)&i>>>0>>0){p=0;u=d;return p|0}i=r+s|0;s=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=e;f[i>>2]=n;f[i+4>>2]=l;if((q|0)>(s|0)){p=0;u=d;return p|0}f[a+12>>2]=q;f[a+16>>2]=s;l=Tl(s|0,((s|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=I;if(!(q>>>0<0|(q|0)==0&l>>>0<2147483647)){p=0;u=d;return p|0}q=l+1|0;f[a+20>>2]=q;l=(q|0)/2|0;s=a+24|0;f[s>>2]=l;f[a+28>>2]=0-l;if(q&1|0){p=1;u=d;return p|0}f[s>>2]=l+-1;p=1;u=d;return p|0}function yc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)ip(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;_m(e,13388);f[e>>2]=4744;va(e|0,1128,101)}e=Vk(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)ip(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){o=d;while(1){e=f[o+4>>2]|0;if(!i)if(e>>>0>>0)p=e;else p=(e>>>0)%(c>>>0)|0;else p=e&h;if((p|0)==(k|0))break;q=(f[a>>2]|0)+(p<<2)|0;if(!(f[q>>2]|0))break b;e=f[o>>2]|0;c:do if(!e)r=o;else{s=o+8|0;t=b[s+11>>0]|0;u=t<<24>>24<0;v=t&255;t=u?f[o+12>>2]|0:v;w=(t|0)==0;if(u){u=o;x=e;while(1){y=x+8|0;z=b[y+11>>0]|0;A=z<<24>>24<0;if((t|0)!=((A?f[x+12>>2]|0:z&255)|0)){r=u;break c}if(!w?$i(f[s>>2]|0,A?f[y>>2]|0:y,t)|0:0){r=u;break c}y=f[x>>2]|0;if(!y){r=x;break c}else{A=x;x=y;u=A}}}if(w){u=o;x=e;while(1){A=b[x+8+11>>0]|0;if((A<<24>>24<0?f[x+12>>2]|0:A&255)|0){r=u;break c}A=f[x>>2]|0;if(!A){r=x;break c}else{y=x;x=A;u=y}}}u=o;x=e;while(1){w=x+8|0;y=b[w+11>>0]|0;A=y<<24>>24<0;if((t|0)!=((A?f[x+12>>2]|0:y&255)|0)){r=u;break c}y=A?f[w>>2]|0:w;if((b[y>>0]|0)==(f[s>>2]&255)<<24>>24){B=s;C=v;D=y}else{r=u;break c}while(1){C=C+-1|0;B=B+1|0;if(!C)break;D=D+1|0;if((b[B>>0]|0)!=(b[D>>0]|0)){r=u;break c}}y=f[x>>2]|0;if(!y){r=x;break}else{w=x;x=y;u=w}}}while(0);f[j>>2]=f[r>>2];f[r>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=o;e=f[g>>2]|0;if(!e){E=43;break a}else o=e}d=f[o>>2]|0;if(!d){E=43;break a}else{g=o;j=o}}f[q>>2]=j;m=f[o>>2]|0;if(!m){E=43;break}else{k=p;l=o;n=o}}if((E|0)==43)return}function zc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;e=Pa[f[(f[a>>2]|0)+44>>2]&127](a)|0;if((e|0)<1){g=0;return g|0}h=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;i=X(h,e)|0;yf(a,h,e);h=a+16|0;j=f[h>>2]|0;k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;j=d+8|0;l=j;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d+16|0;o=l;p=f[o>>2]|0;q=f[o+4>>2]|0;if(!((n|0)>(q|0)|(n|0)==(q|0)&m>>>0>p>>>0)){g=0;return g|0}o=f[d>>2]|0;r=b[o+p>>0]|0;s=Rl(p|0,q|0,1,0)|0;t=I;u=l;f[u>>2]=s;f[u+4>>2]=t;a:do if(!(r<<24>>24)){if(!((n|0)>(t|0)|(n|0)==(t|0)&m>>>0>s>>>0)){g=0;return g|0}u=b[o+s>>0]|0;v=Rl(p|0,q|0,2,0)|0;w=l;f[w>>2]=v;f[w+4>>2]=I;w=u&255;v=(Vj(5)|0)==(w|0);x=f[(f[h>>2]|0)+64>>2]|0;y=(f[x+4>>2]|0)-(f[x>>2]|0)|0;if(v){v=i<<2;if(y>>>0>>0){g=0;return g|0}x=j;z=f[x>>2]|0;A=f[x+4>>2]|0;x=l;B=f[x>>2]|0;C=Rl(B|0,f[x+4>>2]|0,v|0,0)|0;x=I;if((A|0)<(x|0)|(A|0)==(x|0)&z>>>0>>0){g=0;return g|0}else{Jf(k|0,(f[d>>2]|0)+B|0,v|0)|0;B=l;C=Rl(f[B>>2]|0,f[B+4>>2]|0,v|0,0)|0;v=l;f[v>>2]=C;f[v+4>>2]=I;D=18;break}}v=X(i,w)|0;if(y>>>0>>0){g=0;return g|0}y=j;C=f[y>>2]|0;B=f[y+4>>2]|0;y=l;z=f[y>>2]|0;x=f[y+4>>2]|0;y=Tl(C|0,B|0,z|0,x|0)|0;A=I;if((A|0)<0|(A|0)==0&y>>>0>>0){g=0;return g|0}if(!i)D=19;else{v=u&255;u=0;y=z;z=x;x=B;B=C;while(1){C=Rl(y|0,z|0,v|0,0)|0;A=I;if((x|0)<(A|0)|(x|0)==(A|0)&B>>>0>>0){E=y;F=z}else{Jf(k+(u<<2)|0,(f[d>>2]|0)+y|0,w|0)|0;C=l;A=Rl(f[C>>2]|0,f[C+4>>2]|0,v|0,0)|0;C=I;G=l;f[G>>2]=A;f[G+4>>2]=C;E=A;F=C}C=u+1|0;if((C|0)==(i|0)){D=18;break a}A=j;u=C;y=E;z=F;x=f[A+4>>2]|0;B=f[A>>2]|0}}}else if(yh(i,e,d,k)|0)D=18;else{g=0;return g|0}while(0);do if((D|0)==18)if(!i)D=19;else{F=a+20|0;E=f[F>>2]|0;if(E|0?Pa[f[(f[E>>2]|0)+32>>2]&127](E)|0:0){H=F;J=1;break}nk(k,i,k);H=F;J=1}while(0);if((D|0)==19){H=a+20|0;J=0}a=f[H>>2]|0;if(a|0){if(!(Qa[f[(f[a>>2]|0)+40>>2]&127](a,d)|0)){g=0;return g|0}if(J?(J=f[H>>2]|0,!(Sa[f[(f[J>>2]|0)+44>>2]&31](J,k,k,i,e,f[c>>2]|0)|0)):0){g=0;return g|0}}g=1;return g|0} -function _a(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[4114]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=16496+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((n|0)==(j|0))f[4114]=g&~(1<>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[4116]|0;if(d>>>0>m>>>0){if(h|0){i=2<>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=16496+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((n|0)==(l|0)){i=g&~(1<>2]=l;f[k>>2]=n;p=g}n=j<<3;j=n-d|0;f[h+4>>2]=d|3;k=h+d|0;f[k+4>>2]=j|1;f[h+n>>2]=j;if(m|0){n=f[4119]|0;h=m>>>3;l=16496+(h<<1<<2)|0;i=1<>2]|0;r=i}f[r>>2]=n;f[q+12>>2]=n;f[n+8>>2]=q;f[n+12>>2]=l}f[4116]=j;f[4119]=k;o=e;u=b;return o|0}e=f[4115]|0;if(e){k=(e&0-e)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=f[16760+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=(f[s+4>>2]&-8)-d|0;h=f[s+16+(((f[s+16>>2]|0)==0&1)<<2)>>2]|0;if(!h){t=s;v=i}else{n=s;s=i;i=h;while(1){h=(f[i+4>>2]&-8)-d|0;l=h>>>0>>0;j=l?h:s;h=l?i:n;i=f[i+16+(((f[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){t=h;v=j;break}else{n=h;s=j}}}s=t+d|0;if(s>>>0>t>>>0){n=f[t+24>>2]|0;i=f[t+12>>2]|0;do if((i|0)==(t|0)){j=t+20|0;h=f[j>>2]|0;if(!h){l=t+16|0;k=f[l>>2]|0;if(!k){w=0;break}else{x=k;y=l}}else{x=h;y=j}while(1){j=x+20|0;h=f[j>>2]|0;if(h|0){x=h;y=j;continue}j=x+16|0;h=f[j>>2]|0;if(!h)break;else{x=h;y=j}}f[y>>2]=0;w=x}else{j=f[t+8>>2]|0;f[j+12>>2]=i;f[i+8>>2]=j;w=i}while(0);do if(n|0){i=f[t+28>>2]|0;j=16760+(i<<2)|0;if((t|0)==(f[j>>2]|0)){f[j>>2]=w;if(!w){f[4115]=e&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=w;if(!w)break}f[w+24>>2]=n;i=f[t+16>>2]|0;if(i|0){f[w+16>>2]=i;f[i+24>>2]=w}i=f[t+20>>2]|0;if(i|0){f[w+20>>2]=i;f[i+24>>2]=w}}while(0);if(v>>>0<16){n=v+d|0;f[t+4>>2]=n|3;e=t+n+4|0;f[e>>2]=f[e>>2]|1}else{f[t+4>>2]=d|3;f[s+4>>2]=v|1;f[s+v>>2]=v;if(m|0){e=f[4119]|0;n=m>>>3;i=16496+(n<<1<<2)|0;j=1<>2]|0;A=j}f[A>>2]=e;f[z+12>>2]=e;f[e+8>>2]=z;f[e+12>>2]=i}f[4116]=v;f[4119]=s}o=t+8|0;u=b;return o|0}else B=d}else B=d}else B=d}else if(a>>>0<=4294967231){i=a+11|0;e=i&-8;j=f[4115]|0;if(j){n=0-e|0;h=i>>>8;if(h)if(e>>>0>16777215)C=31;else{i=(h+1048320|0)>>>16&8;l=h<>>16&4;k=l<>>16&2;D=14-(h|i|l)+(k<>>15)|0;C=e>>>(D+7|0)&1|D<<1}else C=0;D=f[16760+(C<<2)>>2]|0;a:do if(!D){E=0;F=0;G=n;H=57}else{l=0;k=n;i=D;h=e<<((C|0)==31?0:25-(C>>>1)|0);I=0;while(1){J=(f[i+4>>2]&-8)-e|0;if(J>>>0>>0)if(!J){K=0;L=i;M=i;H=61;break a}else{N=i;O=J}else{N=l;O=k}J=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;P=(J|0)==0|(J|0)==(i|0)?I:J;J=(i|0)==0;if(J){E=P;F=N;G=O;H=57;break}else{l=N;k=O;h=h<<((J^1)&1);I=P}}}while(0);if((H|0)==57){if((E|0)==0&(F|0)==0){D=2<>>12&16;d=D>>>n;D=d>>>5&8;s=d>>>D;d=s>>>2&4;g=s>>>d;s=g>>>1&2;m=g>>>s;g=m>>>1&1;Q=0;R=f[16760+((D|n|d|s|g)+(m>>>g)<<2)>>2]|0}else{Q=F;R=E}if(!R){S=Q;T=G}else{K=G;L=R;M=Q;H=61}}if((H|0)==61)while(1){H=0;g=(f[L+4>>2]&-8)-e|0;m=g>>>0>>0;s=m?g:K;g=m?L:M;L=f[L+16+(((f[L+16>>2]|0)==0&1)<<2)>>2]|0;if(!L){S=g;T=s;break}else{K=s;M=g;H=61}}if((S|0)!=0?T>>>0<((f[4116]|0)-e|0)>>>0:0){g=S+e|0;if(g>>>0<=S>>>0){o=0;u=b;return o|0}s=f[S+24>>2]|0;m=f[S+12>>2]|0;do if((m|0)==(S|0)){d=S+20|0;n=f[d>>2]|0;if(!n){D=S+16|0;I=f[D>>2]|0;if(!I){U=0;break}else{V=I;W=D}}else{V=n;W=d}while(1){d=V+20|0;n=f[d>>2]|0;if(n|0){V=n;W=d;continue}d=V+16|0;n=f[d>>2]|0;if(!n)break;else{V=n;W=d}}f[W>>2]=0;U=V}else{d=f[S+8>>2]|0;f[d+12>>2]=m;f[m+8>>2]=d;U=m}while(0);do if(s){m=f[S+28>>2]|0;d=16760+(m<<2)|0;if((S|0)==(f[d>>2]|0)){f[d>>2]=U;if(!U){d=j&~(1<>2]|0)!=(S|0)&1)<<2)>>2]=U;if(!U){X=j;break}}f[U+24>>2]=s;d=f[S+16>>2]|0;if(d|0){f[U+16>>2]=d;f[d+24>>2]=U}d=f[S+20>>2]|0;if(d){f[U+20>>2]=d;f[d+24>>2]=U;X=j}else X=j}else X=j;while(0);do if(T>>>0>=16){f[S+4>>2]=e|3;f[g+4>>2]=T|1;f[g+T>>2]=T;j=T>>>3;if(T>>>0<256){s=16496+(j<<1<<2)|0;d=f[4114]|0;m=1<>2]|0;Z=m}f[Z>>2]=g;f[Y+12>>2]=g;f[g+8>>2]=Y;f[g+12>>2]=s;break}s=T>>>8;if(s)if(T>>>0>16777215)_=31;else{m=(s+1048320|0)>>>16&8;d=s<>>16&4;j=d<>>16&2;n=14-(s|m|d)+(j<>>15)|0;_=T>>>(n+7|0)&1|n<<1}else _=0;n=16760+(_<<2)|0;f[g+28>>2]=_;d=g+16|0;f[d+4>>2]=0;f[d>>2]=0;d=1<<_;if(!(X&d)){f[4115]=X|d;f[n>>2]=g;f[g+24>>2]=n;f[g+12>>2]=g;f[g+8>>2]=g;break}d=T<<((_|0)==31?0:25-(_>>>1)|0);j=f[n>>2]|0;while(1){if((f[j+4>>2]&-8|0)==(T|0)){H=97;break}$=j+16+(d>>>31<<2)|0;n=f[$>>2]|0;if(!n){H=96;break}else{d=d<<1;j=n}}if((H|0)==96){f[$>>2]=g;f[g+24>>2]=j;f[g+12>>2]=g;f[g+8>>2]=g;break}else if((H|0)==97){d=j+8|0;n=f[d>>2]|0;f[n+12>>2]=g;f[d>>2]=g;f[g+8>>2]=n;f[g+12>>2]=j;f[g+24>>2]=0;break}}else{n=T+e|0;f[S+4>>2]=n|3;d=S+n+4|0;f[d>>2]=f[d>>2]|1}while(0);o=S+8|0;u=b;return o|0}else B=e}else B=e}else B=-1;while(0);S=f[4116]|0;if(S>>>0>=B>>>0){T=S-B|0;$=f[4119]|0;if(T>>>0>15){_=$+B|0;f[4119]=_;f[4116]=T;f[_+4>>2]=T|1;f[$+S>>2]=T;f[$+4>>2]=B|3}else{f[4116]=0;f[4119]=0;f[$+4>>2]=S|3;T=$+S+4|0;f[T>>2]=f[T>>2]|1}o=$+8|0;u=b;return o|0}$=f[4117]|0;if($>>>0>B>>>0){T=$-B|0;f[4117]=T;S=f[4120]|0;_=S+B|0;f[4120]=_;f[_+4>>2]=T|1;f[S+4>>2]=B|3;o=S+8|0;u=b;return o|0}if(!(f[4232]|0)){f[4234]=4096;f[4233]=4096;f[4235]=-1;f[4236]=-1;f[4237]=0;f[4225]=0;f[4232]=c&-16^1431655768;aa=4096}else aa=f[4234]|0;c=B+48|0;S=B+47|0;T=aa+S|0;_=0-aa|0;aa=T&_;if(aa>>>0<=B>>>0){o=0;u=b;return o|0}X=f[4224]|0;if(X|0?(Y=f[4222]|0,Z=Y+aa|0,Z>>>0<=Y>>>0|Z>>>0>X>>>0):0){o=0;u=b;return o|0}b:do if(!(f[4225]&4)){X=f[4120]|0;c:do if(X){Z=16904;while(1){Y=f[Z>>2]|0;if(Y>>>0<=X>>>0?(ba=Z+4|0,(Y+(f[ba>>2]|0)|0)>>>0>X>>>0):0)break;Y=f[Z+8>>2]|0;if(!Y){H=118;break c}else Z=Y}j=T-$&_;if(j>>>0<2147483647){Y=Pj(j|0)|0;if((Y|0)==((f[Z>>2]|0)+(f[ba>>2]|0)|0))if((Y|0)==(-1|0))ca=j;else{da=j;ea=Y;H=135;break b}else{fa=Y;ga=j;H=126}}else ca=0}else H=118;while(0);do if((H|0)==118){X=Pj(0)|0;if((X|0)!=(-1|0)?(e=X,j=f[4233]|0,Y=j+-1|0,U=((Y&e|0)==0?0:(Y+e&0-j)-e|0)+aa|0,e=f[4222]|0,j=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Y=f[4224]|0;if(Y|0?j>>>0<=e>>>0|j>>>0>Y>>>0:0){ca=0;break}Y=Pj(U|0)|0;if((Y|0)==(X|0)){da=U;ea=X;H=135;break b}else{fa=Y;ga=U;H=126}}else ca=0}while(0);do if((H|0)==126){U=0-ga|0;if(!(c>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=ga;ea=fa;H=135;break b}Y=f[4234]|0;X=S-ga+Y&0-Y;if(X>>>0>=2147483647){da=ga;ea=fa;H=135;break b}if((Pj(X|0)|0)==(-1|0)){Pj(U|0)|0;ca=0;break}else{da=X+ga|0;ea=fa;H=135;break b}}while(0);f[4225]=f[4225]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=Pj(aa|0)|0,aa=Pj(0)|0,fa=aa-ca|0,ga=fa>>>0>(B+40|0)>>>0,!((ca|0)==(-1|0)|ga^1|ca>>>0>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ga?fa:ha;ea=ca;H=135}if((H|0)==135){ca=(f[4222]|0)+da|0;f[4222]=ca;if(ca>>>0>(f[4223]|0)>>>0)f[4223]=ca;ca=f[4120]|0;do if(ca){ha=16904;while(1){ia=f[ha>>2]|0;ja=ha+4|0;ka=f[ja>>2]|0;if((ea|0)==(ia+ka|0)){H=143;break}fa=f[ha+8>>2]|0;if(!fa)break;else ha=fa}if(((H|0)==143?(f[ha+12>>2]&8|0)==0:0)?ea>>>0>ca>>>0&ia>>>0<=ca>>>0:0){f[ja>>2]=ka+da;fa=(f[4117]|0)+da|0;ga=ca+8|0;aa=(ga&7|0)==0?0:0-ga&7;ga=ca+aa|0;S=fa-aa|0;f[4120]=ga;f[4117]=S;f[ga+4>>2]=S|1;f[ca+fa+4>>2]=40;f[4121]=f[4236];break}if(ea>>>0<(f[4118]|0)>>>0)f[4118]=ea;fa=ea+da|0;S=16904;while(1){if((f[S>>2]|0)==(fa|0)){H=151;break}ga=f[S+8>>2]|0;if(!ga){la=16904;break}else S=ga}if((H|0)==151)if(!(f[S+12>>2]&8)){f[S>>2]=ea;ha=S+4|0;f[ha>>2]=(f[ha>>2]|0)+da;ha=ea+8|0;ga=ea+((ha&7|0)==0?0:0-ha&7)|0;ha=fa+8|0;aa=fa+((ha&7|0)==0?0:0-ha&7)|0;ha=ga+B|0;c=aa-ga-B|0;f[ga+4>>2]=B|3;do if((ca|0)!=(aa|0)){if((f[4119]|0)==(aa|0)){ba=(f[4116]|0)+c|0;f[4116]=ba;f[4119]=ha;f[ha+4>>2]=ba|1;f[ha+ba>>2]=ba;break}ba=f[aa+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;d:do if(ba>>>0<256){T=f[aa+8>>2]|0;X=f[aa+12>>2]|0;if((X|0)==(T|0)){f[4114]=f[4114]&~(1<<$);break}else{f[T+12>>2]=X;f[X+8>>2]=T;break}}else{T=f[aa+24>>2]|0;X=f[aa+12>>2]|0;do if((X|0)==(aa|0)){U=aa+16|0;Y=U+4|0;j=f[Y>>2]|0;if(!j){e=f[U>>2]|0;if(!e){ma=0;break}else{na=e;oa=U}}else{na=j;oa=Y}while(1){Y=na+20|0;j=f[Y>>2]|0;if(j|0){na=j;oa=Y;continue}Y=na+16|0;j=f[Y>>2]|0;if(!j)break;else{na=j;oa=Y}}f[oa>>2]=0;ma=na}else{Y=f[aa+8>>2]|0;f[Y+12>>2]=X;f[X+8>>2]=Y;ma=X}while(0);if(!T)break;X=f[aa+28>>2]|0;Y=16760+(X<<2)|0;do if((f[Y>>2]|0)!=(aa|0)){f[T+16+(((f[T+16>>2]|0)!=(aa|0)&1)<<2)>>2]=ma;if(!ma)break d}else{f[Y>>2]=ma;if(ma|0)break;f[4115]=f[4115]&~(1<>2]=T;X=aa+16|0;Y=f[X>>2]|0;if(Y|0){f[ma+16>>2]=Y;f[Y+24>>2]=ma}Y=f[X+4>>2]|0;if(!Y)break;f[ma+20>>2]=Y;f[Y+24>>2]=ma}while(0);pa=aa+_|0;qa=_+c|0}else{pa=aa;qa=c}$=pa+4|0;f[$>>2]=f[$>>2]&-2;f[ha+4>>2]=qa|1;f[ha+qa>>2]=qa;$=qa>>>3;if(qa>>>0<256){ba=16496+($<<1<<2)|0;Z=f[4114]|0;Y=1<<$;if(!(Z&Y)){f[4114]=Z|Y;ra=ba;sa=ba+8|0}else{Y=ba+8|0;ra=f[Y>>2]|0;sa=Y}f[sa>>2]=ha;f[ra+12>>2]=ha;f[ha+8>>2]=ra;f[ha+12>>2]=ba;break}ba=qa>>>8;do if(!ba)ta=0;else{if(qa>>>0>16777215){ta=31;break}Y=(ba+1048320|0)>>>16&8;Z=ba<>>16&4;X=Z<<$;Z=(X+245760|0)>>>16&2;j=14-($|Y|Z)+(X<>>15)|0;ta=qa>>>(j+7|0)&1|j<<1}while(0);ba=16760+(ta<<2)|0;f[ha+28>>2]=ta;_=ha+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[4115]|0;j=1<>2]=ha;f[ha+24>>2]=ba;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}j=qa<<((ta|0)==31?0:25-(ta>>>1)|0);_=f[ba>>2]|0;while(1){if((f[_+4>>2]&-8|0)==(qa|0)){H=192;break}ua=_+16+(j>>>31<<2)|0;ba=f[ua>>2]|0;if(!ba){H=191;break}else{j=j<<1;_=ba}}if((H|0)==191){f[ua>>2]=ha;f[ha+24>>2]=_;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}else if((H|0)==192){j=_+8|0;ba=f[j>>2]|0;f[ba+12>>2]=ha;f[j>>2]=ha;f[ha+8>>2]=ba;f[ha+12>>2]=_;f[ha+24>>2]=0;break}}else{ba=(f[4117]|0)+c|0;f[4117]=ba;f[4120]=ha;f[ha+4>>2]=ba|1}while(0);o=ga+8|0;u=b;return o|0}else la=16904;while(1){ha=f[la>>2]|0;if(ha>>>0<=ca>>>0?(va=ha+(f[la+4>>2]|0)|0,va>>>0>ca>>>0):0)break;la=f[la+8>>2]|0}ga=va+-47|0;ha=ga+8|0;c=ga+((ha&7|0)==0?0:0-ha&7)|0;ha=ca+16|0;ga=c>>>0>>0?ca:c;c=ga+8|0;aa=da+-40|0;fa=ea+8|0;S=(fa&7|0)==0?0:0-fa&7;fa=ea+S|0;ba=aa-S|0;f[4120]=fa;f[4117]=ba;f[fa+4>>2]=ba|1;f[ea+aa+4>>2]=40;f[4121]=f[4236];aa=ga+4|0;f[aa>>2]=27;f[c>>2]=f[4226];f[c+4>>2]=f[4227];f[c+8>>2]=f[4228];f[c+12>>2]=f[4229];f[4226]=ea;f[4227]=da;f[4229]=0;f[4228]=c;c=ga+24|0;do{ba=c;c=c+4|0;f[c>>2]=7}while((ba+8|0)>>>0>>0);if((ga|0)!=(ca|0)){c=ga-ca|0;f[aa>>2]=f[aa>>2]&-2;f[ca+4>>2]=c|1;f[ga>>2]=c;ba=c>>>3;if(c>>>0<256){fa=16496+(ba<<1<<2)|0;S=f[4114]|0;j=1<>2]|0;xa=j}f[xa>>2]=ca;f[wa+12>>2]=ca;f[ca+8>>2]=wa;f[ca+12>>2]=fa;break}fa=c>>>8;if(fa)if(c>>>0>16777215)ya=31;else{j=(fa+1048320|0)>>>16&8;S=fa<>>16&4;ba=S<>>16&2;Z=14-(fa|j|S)+(ba<>>15)|0;ya=c>>>(Z+7|0)&1|Z<<1}else ya=0;Z=16760+(ya<<2)|0;f[ca+28>>2]=ya;f[ca+20>>2]=0;f[ha>>2]=0;S=f[4115]|0;ba=1<>2]=ca;f[ca+24>>2]=Z;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}ba=c<<((ya|0)==31?0:25-(ya>>>1)|0);S=f[Z>>2]|0;while(1){if((f[S+4>>2]&-8|0)==(c|0)){H=213;break}za=S+16+(ba>>>31<<2)|0;Z=f[za>>2]|0;if(!Z){H=212;break}else{ba=ba<<1;S=Z}}if((H|0)==212){f[za>>2]=ca;f[ca+24>>2]=S;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}else if((H|0)==213){ba=S+8|0;c=f[ba>>2]|0;f[c+12>>2]=ca;f[ba>>2]=ca;f[ca+8>>2]=c;f[ca+12>>2]=S;f[ca+24>>2]=0;break}}}else{c=f[4118]|0;if((c|0)==0|ea>>>0>>0)f[4118]=ea;f[4226]=ea;f[4227]=da;f[4229]=0;f[4123]=f[4232];f[4122]=-1;f[4127]=16496;f[4126]=16496;f[4129]=16504;f[4128]=16504;f[4131]=16512;f[4130]=16512;f[4133]=16520;f[4132]=16520;f[4135]=16528;f[4134]=16528;f[4137]=16536;f[4136]=16536;f[4139]=16544;f[4138]=16544;f[4141]=16552;f[4140]=16552;f[4143]=16560;f[4142]=16560;f[4145]=16568;f[4144]=16568;f[4147]=16576;f[4146]=16576;f[4149]=16584;f[4148]=16584;f[4151]=16592;f[4150]=16592;f[4153]=16600;f[4152]=16600;f[4155]=16608;f[4154]=16608;f[4157]=16616;f[4156]=16616;f[4159]=16624;f[4158]=16624;f[4161]=16632;f[4160]=16632;f[4163]=16640;f[4162]=16640;f[4165]=16648;f[4164]=16648;f[4167]=16656;f[4166]=16656;f[4169]=16664;f[4168]=16664;f[4171]=16672;f[4170]=16672;f[4173]=16680;f[4172]=16680;f[4175]=16688;f[4174]=16688;f[4177]=16696;f[4176]=16696;f[4179]=16704;f[4178]=16704;f[4181]=16712;f[4180]=16712;f[4183]=16720;f[4182]=16720;f[4185]=16728;f[4184]=16728;f[4187]=16736;f[4186]=16736;f[4189]=16744;f[4188]=16744;c=da+-40|0;ba=ea+8|0;ha=(ba&7|0)==0?0:0-ba&7;ba=ea+ha|0;ga=c-ha|0;f[4120]=ba;f[4117]=ga;f[ba+4>>2]=ga|1;f[ea+c+4>>2]=40;f[4121]=f[4236]}while(0);ea=f[4117]|0;if(ea>>>0>B>>>0){da=ea-B|0;f[4117]=da;ea=f[4120]|0;ca=ea+B|0;f[4120]=ca;f[ca+4>>2]=da|1;f[ea+4>>2]=B|3;o=ea+8|0;u=b;return o|0}}ea=pp()|0;f[ea>>2]=12;o=0;u=b;return o|0}function $a(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0;d=u;u=u+80|0;e=d+56|0;g=d+40|0;i=d+16|0;k=d+4|0;l=d+36|0;m=d;f[g>>2]=0;o=g+4|0;f[o>>2]=0;f[g+8>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;q=(f[a+212>>2]|0)==(f[a+216>>2]|0);r=a+120|0;s=f[a+124>>2]|0;a:do if((c|0)>0){t=a+224|0;v=a+412|0;w=a+300|0;x=a+408|0;y=a+296|0;z=a+288|0;A=a+292|0;B=a+8|0;C=i+4|0;D=a+380|0;E=k+8|0;F=g+8|0;G=a+36|0;H=a+40|0;I=c+-1|0;J=a+392|0;K=0;while(1){L=K+1|0;if((f[v>>2]|0)!=-1?Ni(J)|0:0){M=f[v>>2]|0;f[x>>2]=M;if(!M)N=17;else{O=M;N=33}}else N=6;b:do if((N|0)==6){N=0;do if(!(b[w>>0]|0))P=1;else{M=f[y>>2]|0;Q=f[z>>2]|0;R=f[A>>2]|0;S=Q+(M>>>3)|0;if(S>>>0>>0?(T=h[S>>0]|0,S=M+1|0,f[y>>2]=S,1<<(M&7)&T|0):0){T=Q+(S>>>3)|0;if(T>>>0>>0){U=(h[T>>0]|0)>>>(S&7)&1;T=M+2|0;f[y>>2]=T;V=U;W=T}else{V=0;W=S}S=Q+(W>>>3)|0;if(S>>>0>>0){R=(h[S>>0]|0)>>>(W&7);f[y>>2]=W+1;X=R<<1&2}else X=0;P=(X|V)<<1|1;break}f[x>>2]=0;N=17;break b}while(0);f[x>>2]=P;O=P;N=33}while(0);c:do if((N|0)==17){N=0;R=f[o>>2]|0;if((f[g>>2]|0)==(R|0)){Y=-1;N=188;break a}S=R+-4|0;Q=f[S>>2]|0;T=f[B>>2]|0;U=(Q|0)==-1;M=Q+1|0;if(!U?(Z=((M>>>0)%3|0|0)==0?Q+-2|0:M,(Z|0)!=-1):0)_=f[(f[T>>2]|0)+(Z<<2)>>2]|0;else _=-1;Z=f[T+24>>2]|0;M=f[Z+(_<<2)>>2]|0;aa=M+1|0;ba=Z;if((M|0)==-1)ca=-1;else ca=((aa>>>0)%3|0|0)==0?M+-2|0:aa;aa=K*3|0;M=aa+1|0;da=f[T+12>>2]|0;f[da+(Q<<2)>>2]=M;f[da+(M<<2)>>2]=Q;ea=aa+2|0;f[da+(ca<<2)>>2]=ea;f[da+(ea<<2)>>2]=ca;da=f[T>>2]|0;f[da+(aa<<2)>>2]=_;fa=ca+1|0;if((ca|0)!=-1?(ga=((fa>>>0)%3|0|0)==0?ca+-2|0:fa,(ga|0)!=-1):0)ha=f[da+(ga<<2)>>2]|0;else ha=-1;f[da+(M<<2)>>2]=ha;if(!U?(U=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0,(U|0)!=-1):0){Q=f[da+(U<<2)>>2]|0;f[da+(ea<<2)>>2]=Q;if((Q|0)!=-1)f[Z+(Q<<2)>>2]=ea}else f[da+(ea<<2)>>2]=-1;if(((f[T+28>>2]|0)-ba>>2|0)>(s|0)){Y=-1;N=188;break a}ba=(f[r>>2]|0)+(_>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(_&31));f[S>>2]=aa;ia=R;N=116}else if((N|0)==33){N=0;R=(O|0)==5;switch(O|0){case 3:case 5:{aa=f[o>>2]|0;if((f[g>>2]|0)==(aa|0)){Y=-1;N=188;break a}S=f[aa+-4>>2]|0;aa=K*3|0;ba=R?aa:aa+2|0;T=aa+(R&1)|0;ea=(R?2:1)+aa|0;R=f[B>>2]|0;da=f[R+12>>2]|0;f[da+(ea<<2)>>2]=S;f[da+(S<<2)>>2]=ea;da=R+24|0;Q=R+28|0;Z=f[Q>>2]|0;if((Z|0)==(f[R+32>>2]|0)){dh(da,3112);ja=f[Q>>2]|0}else{f[Z>>2]=-1;R=Z+4|0;f[Q>>2]=R;ja=R}R=ja-(f[da>>2]|0)>>2;da=R+-1|0;Q=f[B>>2]|0;Z=f[Q>>2]|0;f[Z+(ea<<2)>>2]=da;if(R|0)f[(f[Q+24>>2]|0)+(da<<2)>>2]=ea;if((S|0)!=-1){ea=(((S>>>0)%3|0|0)==0?2:-1)+S|0;if((ea|0)!=-1){da=f[Z+(ea<<2)>>2]|0;f[Z+(ba<<2)>>2]=da;if((da|0)!=-1)f[(f[Q+24>>2]|0)+(da<<2)>>2]=ba}else f[Z+(ba<<2)>>2]=-1;da=S+1|0;Q=((da>>>0)%3|0|0)==0?S+-2|0:da;if((Q|0)==-1)ka=-1;else ka=f[Z+(Q<<2)>>2]|0}else{f[Z+(ba<<2)>>2]=-1;ka=-1}f[Z+(T<<2)>>2]=ka;T=f[o>>2]|0;f[T+-4>>2]=aa;f[l>>2]=f[T+-4>>2];f[e>>2]=f[l>>2];Oc(t,e);break}case 1:{T=f[g>>2]|0;aa=f[o>>2]|0;if((T|0)==(aa|0)){Y=-1;N=188;break a}Z=aa+-4|0;ba=f[Z>>2]|0;f[o>>2]=Z;Q=f[C>>2]|0;d:do if(Q){da=Q+-1|0;S=(da&Q|0)==0;if(!S)if(K>>>0>>0)la=K;else la=(K>>>0)%(Q>>>0)|0;else la=da&K;ea=f[(f[i>>2]|0)+(la<<2)>>2]|0;if((ea|0)!=0?(R=f[ea>>2]|0,(R|0)!=0):0){e:do if(S){ea=R;while(1){U=f[ea+4>>2]|0;M=(U|0)==(K|0);if(!(M|(U&da|0)==(la|0))){ma=T;na=Z;break d}if(M?(f[ea+8>>2]|0)==(K|0):0){oa=ea;break e}ea=f[ea>>2]|0;if(!ea){ma=T;na=Z;break d}}}else{ea=R;while(1){M=f[ea+4>>2]|0;if((M|0)==(K|0)){if((f[ea+8>>2]|0)==(K|0)){oa=ea;break e}}else{if(M>>>0>>0)pa=M;else pa=(M>>>0)%(Q>>>0)|0;if((pa|0)!=(la|0)){ma=T;na=Z;break d}}ea=f[ea>>2]|0;if(!ea){ma=T;na=Z;break d}}}while(0);R=oa+12|0;if((Z|0)==(f[F>>2]|0)){dh(g,R);ma=f[g>>2]|0;na=f[o>>2]|0;break}else{f[Z>>2]=f[R>>2];f[o>>2]=aa;ma=T;na=aa;break}}else{ma=T;na=Z}}else{ma=T;na=Z}while(0);if((ma|0)==(na|0)){Y=-1;N=188;break a}Z=f[na+-4>>2]|0;T=K*3|0;aa=T+2|0;Q=f[B>>2]|0;R=f[Q+12>>2]|0;f[R+(Z<<2)>>2]=aa;f[R+(aa<<2)>>2]=Z;da=T+1|0;f[R+(ba<<2)>>2]=da;f[R+(da<<2)>>2]=ba;if((Z|0)!=-1){S=(((Z>>>0)%3|0|0)==0?2:-1)+Z|0;if((S|0)==-1)qa=-1;else qa=f[(f[Q>>2]|0)+(S<<2)>>2]|0;S=f[Q>>2]|0;f[S+(T<<2)>>2]=qa;ea=Z+1|0;M=((ea>>>0)%3|0|0)==0?Z+-2|0:ea;if((M|0)==-1){ra=-1;sa=qa;ta=S;ua=Q}else{ra=f[S+(M<<2)>>2]|0;sa=qa;ta=S;ua=Q}}else{S=f[Q>>2]|0;f[S+(T<<2)>>2]=-1;ra=-1;sa=-1;ta=S;ua=Q}f[ta+(da<<2)>>2]=ra;if((ba|0)!=-1){da=(((ba>>>0)%3|0|0)==0?2:-1)+ba|0;if((da|0)!=-1){S=f[ta+(da<<2)>>2]|0;f[ta+(aa<<2)>>2]=S;if((S|0)!=-1)f[(f[Q+24>>2]|0)+(S<<2)>>2]=aa}else f[ta+(aa<<2)>>2]=-1;S=ba+1|0;da=((S>>>0)%3|0|0)==0?ba+-2|0:S;if((da|0)==-1){va=-1;wa=-1}else{va=f[ta+(da<<2)>>2]|0;wa=da}}else{f[ta+(aa<<2)>>2]=-1;va=-1;wa=-1}f[e>>2]=va;aa=f[D>>2]|0;da=aa+(sa<<2)|0;f[da>>2]=(f[da>>2]|0)+(f[aa+(va<<2)>>2]|0);aa=f[Q+24>>2]|0;if((sa|0)!=-1)f[aa+(sa<<2)>>2]=f[aa+(f[e>>2]<<2)>>2];f:do if((wa|0)!=-1){Q=f[ua>>2]|0;da=wa;do{f[Q+(da<<2)>>2]=sa;S=da+1|0;M=((S>>>0)%3|0|0)==0?da+-2|0:S;if((M|0)==-1)break f;S=f[R+(M<<2)>>2]|0;M=S+1|0;if((S|0)==-1)break f;da=((M>>>0)%3|0|0)==0?S+-2|0:M}while((da|0)!=-1)}while(0);f[aa+(f[e>>2]<<2)>>2]=-1;do if(q){R=f[p>>2]|0;if((R|0)==(f[E>>2]|0)){dh(k,e);xa=f[o>>2]|0;break}else{f[R>>2]=f[e>>2];f[p>>2]=R+4;xa=na;break}}else xa=na;while(0);f[xa+-4>>2]=T;ia=xa;N=116;break c;break}case 7:{f[e>>2]=K*3;aa=f[B>>2]|0;R=aa+24|0;ba=aa+28|0;da=f[ba>>2]|0;if((da|0)==(f[aa+32>>2]|0)){dh(R,3112);ya=f[ba>>2]|0}else{f[da>>2]=-1;aa=da+4|0;f[ba>>2]=aa;ya=aa}aa=ya-(f[R>>2]|0)>>2;R=aa+-1|0;ba=f[B>>2]|0;da=f[e>>2]|0;Q=f[ba>>2]|0;f[Q+(da<<2)>>2]=R;M=ba+24|0;S=ba+28|0;ea=f[S>>2]|0;if((ea|0)==(f[ba+32>>2]|0)){dh(M,3112);za=f[S>>2]|0;Aa=f[ba>>2]|0}else{f[ea>>2]=-1;ba=ea+4|0;f[S>>2]=ba;za=ba;Aa=Q}f[Aa+(da+1<<2)>>2]=(za-(f[M>>2]|0)>>2)+-1;M=f[B>>2]|0;da=(f[e>>2]|0)+2|0;Q=M+24|0;ba=M+28|0;S=f[ba>>2]|0;if((S|0)==(f[M+32>>2]|0)){dh(Q,3112);Ba=f[ba>>2]|0}else{f[S>>2]=-1;ea=S+4|0;f[ba>>2]=ea;Ba=ea}f[(f[M>>2]|0)+(da<<2)>>2]=(Ba-(f[Q>>2]|0)>>2)+-1;Q=f[e>>2]|0;da=f[(f[B>>2]|0)+24>>2]|0;if(aa){f[da+(R<<2)>>2]=Q;if((aa|0)!=-1){f[da+(aa<<2)>>2]=(f[e>>2]|0)+1;R=aa+1|0;if((R|0)!=-1){Ca=R;N=111}}else{Ca=0;N=111}}else{f[da+(aa<<2)>>2]=Q+1;Ca=1;N=111}if((N|0)==111){N=0;f[da+(Ca<<2)>>2]=(f[e>>2]|0)+2}da=f[o>>2]|0;if((da|0)==(f[F>>2]|0)){dh(g,e);Da=f[o>>2]|0}else{f[da>>2]=f[e>>2];Q=da+4|0;f[o>>2]=Q;Da=Q}f[l>>2]=f[Da+-4>>2];f[e>>2]=f[l>>2];Oc(t,e);break}default:{Y=-1;N=188;break a}}Q=c-K+-1|0;da=f[H>>2]|0;if((da|0)!=(f[G>>2]|0)){aa=da;do{da=aa;R=f[da+-8>>2]|0;if(R>>>0>Q>>>0){Y=-1;N=188;break a}if((R|0)!=(Q|0))break c;R=b[da+-4>>0]|0;M=f[da+-12>>2]|0;f[H>>2]=da+-12;if((M|0)<0){Y=-1;N=188;break a}da=f[(f[o>>2]|0)+-4>>2]|0;ea=(da|0)==-1;do if(!(R&1))if(!ea)if(!((da>>>0)%3|0)){Ea=da+2|0;break}else{Ea=da+-1|0;break}else Ea=-1;else{ba=da+1|0;if(ea)Ea=-1;else Ea=((ba>>>0)%3|0|0)==0?da+-2|0:ba}while(0);f[e>>2]=I-M;da=$c(i,e)|0;f[da>>2]=Ea;aa=f[H>>2]|0}while((aa|0)!=(f[G>>2]|0))}}while(0);if((N|0)==116){N=0;f[l>>2]=f[ia+-4>>2];f[e>>2]=f[l>>2];Oc(t,e)}if((L|0)<(c|0))K=L;else{Fa=L;Ga=B;N=130;break}}}else{Fa=0;Ga=a+8|0;N=130}while(0);g:do if((N|0)==130){c=f[Ga>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(s|0)){l=f[o>>2]|0;do if((l|0)!=(f[g>>2]|0)){ia=a+262|0;Ea=a+356|0;Da=a+352|0;Ca=a+344|0;Ba=a+348|0;za=a+60|0;Aa=a+64|0;ya=a+68|0;xa=a+76|0;na=a+80|0;q=a+72|0;sa=a+304|0;wa=Fa;ua=l;h:while(1){va=ua;f[e>>2]=f[va+-4>>2];f[o>>2]=va+-4;if((j[ia>>1]|0)<514)if(b[Ea>>0]|0){va=f[Da>>2]|0;ta=(f[Ca>>2]|0)+(va>>>3)|0;if(ta>>>0<(f[Ba>>2]|0)>>>0){ra=(h[ta>>0]|0)>>>(va&7)&1;f[Da>>2]=va+1;Ha=ra;N=138}else N=161}else N=139;else{Ha=(Ni(sa)|0)&1;N=138}if((N|0)==138){N=0;if(!Ha)N=161;else N=139}do if((N|0)==139){N=0;ra=f[Ga>>2]|0;va=f[ra>>2]|0;ta=va;if((wa|0)>=(((f[ra+4>>2]|0)-va>>2>>>0)/3|0|0)){N=169;break h}va=f[e>>2]|0;qa=va+1|0;if((va|0)!=-1?(ma=((qa>>>0)%3|0|0)==0?va+-2|0:qa,(ma|0)!=-1):0)Ia=f[ta+(ma<<2)>>2]|0;else Ia=-1;ma=f[ra+24>>2]|0;qa=f[ma+(Ia<<2)>>2]|0;oa=qa+1|0;if((qa|0)!=-1?(la=((oa>>>0)%3|0|0)==0?qa+-2|0:oa,oa=la+1|0,(la|0)!=-1):0){qa=((oa>>>0)%3|0|0)==0?la+-2|0:oa;if((qa|0)==-1){Ja=-1;Ka=la}else{Ja=f[ta+(qa<<2)>>2]|0;Ka=la}}else{Ja=-1;Ka=-1}la=f[ma+(Ja<<2)>>2]|0;ma=la+1|0;if((la|0)!=-1?(qa=((ma>>>0)%3|0|0)==0?la+-2|0:ma,ma=qa+1|0,(qa|0)!=-1):0){la=((ma>>>0)%3|0|0)==0?qa+-2|0:ma;if((la|0)==-1){La=-1;Ma=qa}else{La=f[ta+(la<<2)>>2]|0;Ma=qa}}else{La=-1;Ma=-1}qa=wa*3|0;f[m>>2]=qa;la=f[ra+12>>2]|0;f[la+(qa<<2)>>2]=va;f[la+(va<<2)>>2]=qa;qa=(f[m>>2]|0)+1|0;f[la+(qa<<2)>>2]=Ka;f[la+(Ka<<2)>>2]=qa;qa=(f[m>>2]|0)+2|0;f[la+(qa<<2)>>2]=Ma;f[la+(Ma<<2)>>2]=qa;qa=f[m>>2]|0;la=ta+(qa<<2)|0;f[la>>2]=Ja;f[ta+(qa+1<<2)>>2]=La;f[ta+(qa+2<<2)>>2]=Ia;if((qa|0)==-1)Na=-1;else Na=f[la>>2]|0;la=f[r>>2]|0;qa=la+(Na>>>5<<2)|0;f[qa>>2]=f[qa>>2]&~(1<<(Na&31));qa=(f[m>>2]|0)+1|0;if((qa|0)==-1)Oa=-1;else Oa=f[ta+(qa<<2)>>2]|0;qa=la+(Oa>>>5<<2)|0;f[qa>>2]=f[qa>>2]&~(1<<(Oa&31));qa=(f[m>>2]|0)+2|0;if((qa|0)==-1)Pa=-1;else Pa=f[ta+(qa<<2)>>2]|0;qa=la+(Pa>>>5<<2)|0;f[qa>>2]=f[qa>>2]&~(1<<(Pa&31));qa=wa+1|0;la=f[Aa>>2]|0;ta=f[ya>>2]|0;if((la|0)==(ta<<5|0)){if((la+1|0)<0){N=153;break h}va=ta<<6;ta=la+32&-32;Ig(za,la>>>0<1073741823?(va>>>0>>0?ta:va):2147483647);Qa=f[Aa>>2]|0}else Qa=la;f[Aa>>2]=Qa+1;la=(f[za>>2]|0)+(Qa>>>5<<2)|0;f[la>>2]=f[la>>2]|1<<(Qa&31);la=f[xa>>2]|0;if((la|0)==(f[na>>2]|0))dh(q,m);else{f[la>>2]=f[m>>2];f[xa>>2]=la+4}Ra=qa}else if((N|0)==161){N=0;qa=f[Aa>>2]|0;la=f[ya>>2]|0;if((qa|0)==(la<<5|0)){if((qa+1|0)<0){N=163;break h}va=la<<6;la=qa+32&-32;Ig(za,qa>>>0<1073741823?(va>>>0>>0?la:va):2147483647);Sa=f[Aa>>2]|0}else Sa=qa;f[Aa>>2]=Sa+1;qa=(f[za>>2]|0)+(Sa>>>5<<2)|0;f[qa>>2]=f[qa>>2]&~(1<<(Sa&31));qa=f[xa>>2]|0;if((qa|0)==(f[na>>2]|0)){dh(q,e);Ra=wa;break}else{f[qa>>2]=f[e>>2];f[xa>>2]=qa+4;Ra=wa;break}}while(0);ua=f[o>>2]|0;if((ua|0)==(f[g>>2]|0)){N=170;break}else wa=Ra}if((N|0)==153)zo(za);else if((N|0)==163)zo(za);else if((N|0)==169){Y=-1;N=188;break g}else if((N|0)==170){Ta=Ra;Ua=f[Ga>>2]|0;break}}else{Ta=Fa;Ua=c}while(0);if((Ta|0)==(((f[Ua+4>>2]|0)-(f[Ua>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ua+28>>2]|0)-(f[Ua+24>>2]|0)>>2;l=f[k>>2]|0;wa=f[p>>2]|0;if((l|0)==(wa|0)){Va=c;Wa=l}else{ua=e+4|0;xa=e+8|0;q=e+12|0;na=c;c=l;l=Ua;while(1){Aa=f[c>>2]|0;ya=na+-1|0;sa=f[l+24>>2]|0;if((f[sa+(ya<<2)>>2]|0)==-1){Da=na;while(1){Ba=Da+-1|0;Ca=Da+-2|0;if((f[sa+(Ca<<2)>>2]|0)==-1)Da=Ba;else{Xa=Ba;Ya=Ca;break}}}else{Xa=na;Ya=ya}if(Ya>>>0>>0){Za=Xa;_a=l}else{f[e>>2]=l;Da=f[sa+(Ya<<2)>>2]|0;f[ua>>2]=Da;f[xa>>2]=Da;b[q>>0]=1;if((Da|0)==-1){$a=sa;ab=l}else{za=l;Ca=Da;do{f[(f[za>>2]|0)+(Ca<<2)>>2]=Aa;hg(e);Ca=f[xa>>2]|0;za=f[Ga>>2]|0}while((Ca|0)!=-1);$a=f[za+24>>2]|0;ab=za}if((Aa|0)==-1)bb=$a+(Ya<<2)|0;else{Ca=$a+(Ya<<2)|0;f[$a+(Aa<<2)>>2]=f[Ca>>2];bb=Ca}f[bb>>2]=-1;Ca=f[r>>2]|0;sa=Ca+(Ya>>>5<<2)|0;ya=1<<(Ya&31);Da=Ca+(Aa>>>5<<2)|0;Ca=1<<(Aa&31);if(!(f[sa>>2]&ya))cb=f[Da>>2]&~Ca;else cb=f[Da>>2]|Ca;f[Da>>2]=cb;f[sa>>2]=f[sa>>2]&~ya;Za=Xa+-1|0;_a=ab}c=c+4|0;if((c|0)==(wa|0)){Y=Za;N=188;break}else{na=Za;l=_a}}}}else{Y=-1;N=188}}else{Y=-1;N=188}}while(0);if((N|0)==188){Va=Y;Wa=f[k>>2]|0}if(Wa|0){k=f[p>>2]|0;if((k|0)!=(Wa|0))f[p>>2]=k+(~((k+-4-Wa|0)>>>2)<<2);ip(Wa)}Wa=f[i+8>>2]|0;if(Wa|0){k=Wa;do{Wa=k;k=f[k>>2]|0;ip(Wa)}while((k|0)!=0)}k=f[i>>2]|0;f[i>>2]=0;if(k|0)ip(k);k=f[g>>2]|0;if(!k){u=d;return Va|0}g=f[o>>2]|0;if((g|0)!=(k|0))f[o>>2]=g+(~((g+-4-k|0)>>>2)<<2);ip(k);u=d;return Va|0}function ab(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0;d=u;u=u+80|0;e=d+56|0;g=d+40|0;i=d+16|0;k=d+4|0;l=d+36|0;m=d;f[g>>2]=0;o=g+4|0;f[o>>2]=0;f[g+8>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;q=(f[a+212>>2]|0)==(f[a+216>>2]|0);r=a+120|0;s=f[a+124>>2]|0;a:do if((c|0)>0){t=a+224|0;v=a+8|0;w=a+36|0;x=a+40|0;y=c+-1|0;z=i+4|0;A=a+380|0;B=k+8|0;C=g+8|0;D=0;while(1){E=D+1|0;F=Df(t)|0;b:do if(F){G=(F|0)==5;switch(F|0){case 3:case 5:{H=f[o>>2]|0;if((f[g>>2]|0)==(H|0)){I=-1;J=176;break a}K=f[H+-4>>2]|0;H=D*3|0;L=G?H:H+2|0;M=H+(G&1)|0;N=(G?2:1)+H|0;G=f[v>>2]|0;O=f[G+12>>2]|0;f[O+(N<<2)>>2]=K;f[O+(K<<2)>>2]=N;O=G+24|0;P=G+28|0;Q=f[P>>2]|0;if((Q|0)==(f[G+32>>2]|0)){dh(O,3112);R=f[P>>2]|0}else{f[Q>>2]=-1;G=Q+4|0;f[P>>2]=G;R=G}G=R-(f[O>>2]|0)>>2;O=G+-1|0;P=f[v>>2]|0;Q=f[P>>2]|0;f[Q+(N<<2)>>2]=O;if(G|0)f[(f[P+24>>2]|0)+(O<<2)>>2]=N;if((K|0)!=-1){N=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((N|0)!=-1){O=f[Q+(N<<2)>>2]|0;f[Q+(L<<2)>>2]=O;if((O|0)!=-1)f[(f[P+24>>2]|0)+(O<<2)>>2]=L}else f[Q+(L<<2)>>2]=-1;O=K+1|0;P=((O>>>0)%3|0|0)==0?K+-2|0:O;if((P|0)==-1)S=-1;else S=f[Q+(P<<2)>>2]|0}else{f[Q+(L<<2)>>2]=-1;S=-1}f[Q+(M<<2)>>2]=S;M=f[o>>2]|0;f[M+-4>>2]=H;f[l>>2]=f[M+-4>>2];f[e>>2]=f[l>>2];Vc(t,e);break}case 1:{M=f[g>>2]|0;H=f[o>>2]|0;if((M|0)==(H|0)){I=-1;J=176;break a}Q=H+-4|0;L=f[Q>>2]|0;f[o>>2]=Q;P=f[z>>2]|0;c:do if(P){O=P+-1|0;K=(O&P|0)==0;if(!K)if(D>>>0

>>0)T=D;else T=(D>>>0)%(P>>>0)|0;else T=O&D;N=f[(f[i>>2]|0)+(T<<2)>>2]|0;if((N|0)!=0?(G=f[N>>2]|0,(G|0)!=0):0){d:do if(K){N=G;while(1){U=f[N+4>>2]|0;V=(U|0)==(D|0);if(!(V|(U&O|0)==(T|0))){W=M;X=Q;break c}if(V?(f[N+8>>2]|0)==(D|0):0){Y=N;break d}N=f[N>>2]|0;if(!N){W=M;X=Q;break c}}}else{N=G;while(1){V=f[N+4>>2]|0;if((V|0)==(D|0)){if((f[N+8>>2]|0)==(D|0)){Y=N;break d}}else{if(V>>>0

>>0)Z=V;else Z=(V>>>0)%(P>>>0)|0;if((Z|0)!=(T|0)){W=M;X=Q;break c}}N=f[N>>2]|0;if(!N){W=M;X=Q;break c}}}while(0);G=Y+12|0;if((Q|0)==(f[C>>2]|0)){dh(g,G);W=f[g>>2]|0;X=f[o>>2]|0;break}else{f[Q>>2]=f[G>>2];f[o>>2]=H;W=M;X=H;break}}else{W=M;X=Q}}else{W=M;X=Q}while(0);if((W|0)==(X|0)){I=-1;J=176;break a}Q=f[X+-4>>2]|0;M=D*3|0;H=M+2|0;P=f[v>>2]|0;G=f[P+12>>2]|0;f[G+(Q<<2)>>2]=H;f[G+(H<<2)>>2]=Q;O=M+1|0;f[G+(L<<2)>>2]=O;f[G+(O<<2)>>2]=L;if((Q|0)!=-1){K=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if((K|0)==-1)_=-1;else _=f[(f[P>>2]|0)+(K<<2)>>2]|0;K=f[P>>2]|0;f[K+(M<<2)>>2]=_;N=Q+1|0;V=((N>>>0)%3|0|0)==0?Q+-2|0:N;if((V|0)==-1){aa=-1;ba=_;ca=K;da=P}else{aa=f[K+(V<<2)>>2]|0;ba=_;ca=K;da=P}}else{K=f[P>>2]|0;f[K+(M<<2)>>2]=-1;aa=-1;ba=-1;ca=K;da=P}f[ca+(O<<2)>>2]=aa;if((L|0)!=-1){O=(((L>>>0)%3|0|0)==0?2:-1)+L|0;if((O|0)!=-1){K=f[ca+(O<<2)>>2]|0;f[ca+(H<<2)>>2]=K;if((K|0)!=-1)f[(f[P+24>>2]|0)+(K<<2)>>2]=H}else f[ca+(H<<2)>>2]=-1;K=L+1|0;O=((K>>>0)%3|0|0)==0?L+-2|0:K;if((O|0)==-1){ea=-1;fa=-1}else{ea=f[ca+(O<<2)>>2]|0;fa=O}}else{f[ca+(H<<2)>>2]=-1;ea=-1;fa=-1}f[e>>2]=ea;H=f[A>>2]|0;O=H+(ba<<2)|0;f[O>>2]=(f[O>>2]|0)+(f[H+(ea<<2)>>2]|0);H=f[P+24>>2]|0;if((ba|0)!=-1)f[H+(ba<<2)>>2]=f[H+(f[e>>2]<<2)>>2];e:do if((fa|0)!=-1){P=f[da>>2]|0;O=fa;do{f[P+(O<<2)>>2]=ba;K=O+1|0;V=((K>>>0)%3|0|0)==0?O+-2|0:K;if((V|0)==-1)break e;K=f[G+(V<<2)>>2]|0;V=K+1|0;if((K|0)==-1)break e;O=((V>>>0)%3|0|0)==0?K+-2|0:V}while((O|0)!=-1)}while(0);f[H+(f[e>>2]<<2)>>2]=-1;do if(q){G=f[p>>2]|0;if((G|0)==(f[B>>2]|0)){dh(k,e);ga=f[o>>2]|0;break}else{f[G>>2]=f[e>>2];f[p>>2]=G+4;ga=X;break}}else ga=X;while(0);f[ga+-4>>2]=M;ha=ga;J=104;break b;break}case 7:{f[e>>2]=D*3;H=f[v>>2]|0;G=H+24|0;L=H+28|0;O=f[L>>2]|0;if((O|0)==(f[H+32>>2]|0)){dh(G,3112);ia=f[L>>2]|0}else{f[O>>2]=-1;H=O+4|0;f[L>>2]=H;ia=H}H=ia-(f[G>>2]|0)>>2;G=H+-1|0;L=f[v>>2]|0;O=f[e>>2]|0;P=f[L>>2]|0;f[P+(O<<2)>>2]=G;V=L+24|0;K=L+28|0;N=f[K>>2]|0;if((N|0)==(f[L+32>>2]|0)){dh(V,3112);ja=f[K>>2]|0;ka=f[L>>2]|0}else{f[N>>2]=-1;L=N+4|0;f[K>>2]=L;ja=L;ka=P}f[ka+(O+1<<2)>>2]=(ja-(f[V>>2]|0)>>2)+-1;V=f[v>>2]|0;O=(f[e>>2]|0)+2|0;P=V+24|0;L=V+28|0;K=f[L>>2]|0;if((K|0)==(f[V+32>>2]|0)){dh(P,3112);la=f[L>>2]|0}else{f[K>>2]=-1;N=K+4|0;f[L>>2]=N;la=N}f[(f[V>>2]|0)+(O<<2)>>2]=(la-(f[P>>2]|0)>>2)+-1;P=f[e>>2]|0;O=f[(f[v>>2]|0)+24>>2]|0;if(H){f[O+(G<<2)>>2]=P;if((H|0)!=-1){f[O+(H<<2)>>2]=(f[e>>2]|0)+1;G=H+1|0;if((G|0)!=-1){ma=G;J=99}}else{ma=0;J=99}}else{f[O+(H<<2)>>2]=P+1;ma=1;J=99}if((J|0)==99){J=0;f[O+(ma<<2)>>2]=(f[e>>2]|0)+2}O=f[o>>2]|0;if((O|0)==(f[C>>2]|0)){dh(g,e);na=f[o>>2]|0}else{f[O>>2]=f[e>>2];P=O+4|0;f[o>>2]=P;na=P}f[l>>2]=f[na+-4>>2];f[e>>2]=f[l>>2];Vc(t,e);break}default:{I=-1;J=176;break a}}P=c-D+-1|0;O=f[x>>2]|0;if((O|0)!=(f[w>>2]|0)){H=O;do{O=H;G=f[O+-8>>2]|0;if(G>>>0>P>>>0){I=-1;J=176;break a}if((G|0)!=(P|0))break b;G=b[O+-4>>0]|0;V=f[O+-12>>2]|0;f[x>>2]=O+-12;if((V|0)<0){I=-1;J=176;break a}O=f[(f[o>>2]|0)+-4>>2]|0;N=(O|0)==-1;do if(!(G&1))if(!N)if(!((O>>>0)%3|0)){oa=O+2|0;break}else{oa=O+-1|0;break}else oa=-1;else{L=O+1|0;if(N)oa=-1;else oa=((L>>>0)%3|0|0)==0?O+-2|0:L}while(0);f[e>>2]=y-V;O=$c(i,e)|0;f[O>>2]=oa;H=f[x>>2]|0}while((H|0)!=(f[w>>2]|0))}}else{H=f[o>>2]|0;if((f[g>>2]|0)==(H|0)){I=-1;J=176;break a}P=H+-4|0;M=f[P>>2]|0;O=f[v>>2]|0;N=(M|0)==-1;G=M+1|0;if(!N?(L=((G>>>0)%3|0|0)==0?M+-2|0:G,(L|0)!=-1):0)pa=f[(f[O>>2]|0)+(L<<2)>>2]|0;else pa=-1;L=f[O+24>>2]|0;G=f[L+(pa<<2)>>2]|0;K=G+1|0;Q=L;if((G|0)==-1)qa=-1;else qa=((K>>>0)%3|0|0)==0?G+-2|0:K;K=D*3|0;G=K+1|0;U=f[O+12>>2]|0;f[U+(M<<2)>>2]=G;f[U+(G<<2)>>2]=M;ra=K+2|0;f[U+(qa<<2)>>2]=ra;f[U+(ra<<2)>>2]=qa;U=f[O>>2]|0;f[U+(K<<2)>>2]=pa;sa=qa+1|0;if((qa|0)!=-1?(ta=((sa>>>0)%3|0|0)==0?qa+-2|0:sa,(ta|0)!=-1):0)ua=f[U+(ta<<2)>>2]|0;else ua=-1;f[U+(G<<2)>>2]=ua;if(!N?(N=(((M>>>0)%3|0|0)==0?2:-1)+M|0,(N|0)!=-1):0){M=f[U+(N<<2)>>2]|0;f[U+(ra<<2)>>2]=M;if((M|0)!=-1)f[L+(M<<2)>>2]=ra}else f[U+(ra<<2)>>2]=-1;if(((f[O+28>>2]|0)-Q>>2|0)>(s|0)){I=-1;J=176;break a}Q=(f[r>>2]|0)+(pa>>>5<<2)|0;f[Q>>2]=f[Q>>2]&~(1<<(pa&31));f[P>>2]=K;ha=H;J=104}while(0);if((J|0)==104){J=0;f[l>>2]=f[ha+-4>>2];f[e>>2]=f[l>>2];Vc(t,e)}if((E|0)<(c|0))D=E;else{va=E;wa=v;J=118;break}}}else{va=0;wa=a+8|0;J=118}while(0);f:do if((J|0)==118){c=f[wa>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(s|0)){l=f[o>>2]|0;do if((l|0)!=(f[g>>2]|0)){ha=a+262|0;pa=a+356|0;ua=a+352|0;qa=a+344|0;oa=a+348|0;na=a+60|0;ma=a+64|0;la=a+68|0;ja=a+76|0;ka=a+80|0;ia=a+72|0;ga=a+304|0;X=va;q=l;g:while(1){ba=q;f[e>>2]=f[ba+-4>>2];f[o>>2]=ba+-4;if((j[ha>>1]|0)<514)if(b[pa>>0]|0){ba=f[ua>>2]|0;fa=(f[qa>>2]|0)+(ba>>>3)|0;if(fa>>>0<(f[oa>>2]|0)>>>0){da=(h[fa>>0]|0)>>>(ba&7)&1;f[ua>>2]=ba+1;xa=da;J=126}else J=149}else J=127;else{xa=(Ni(ga)|0)&1;J=126}if((J|0)==126){J=0;if(!xa)J=149;else J=127}do if((J|0)==127){J=0;da=f[wa>>2]|0;ba=f[da>>2]|0;fa=ba;if((X|0)>=(((f[da+4>>2]|0)-ba>>2>>>0)/3|0|0)){J=157;break g}ba=f[e>>2]|0;ea=ba+1|0;if((ba|0)!=-1?(ca=((ea>>>0)%3|0|0)==0?ba+-2|0:ea,(ca|0)!=-1):0)ya=f[fa+(ca<<2)>>2]|0;else ya=-1;ca=f[da+24>>2]|0;ea=f[ca+(ya<<2)>>2]|0;aa=ea+1|0;if((ea|0)!=-1?(_=((aa>>>0)%3|0|0)==0?ea+-2|0:aa,aa=_+1|0,(_|0)!=-1):0){ea=((aa>>>0)%3|0|0)==0?_+-2|0:aa;if((ea|0)==-1){za=-1;Aa=_}else{za=f[fa+(ea<<2)>>2]|0;Aa=_}}else{za=-1;Aa=-1}_=f[ca+(za<<2)>>2]|0;ca=_+1|0;if((_|0)!=-1?(ea=((ca>>>0)%3|0|0)==0?_+-2|0:ca,ca=ea+1|0,(ea|0)!=-1):0){_=((ca>>>0)%3|0|0)==0?ea+-2|0:ca;if((_|0)==-1){Ba=-1;Ca=ea}else{Ba=f[fa+(_<<2)>>2]|0;Ca=ea}}else{Ba=-1;Ca=-1}ea=X*3|0;f[m>>2]=ea;_=f[da+12>>2]|0;f[_+(ea<<2)>>2]=ba;f[_+(ba<<2)>>2]=ea;ea=(f[m>>2]|0)+1|0;f[_+(ea<<2)>>2]=Aa;f[_+(Aa<<2)>>2]=ea;ea=(f[m>>2]|0)+2|0;f[_+(ea<<2)>>2]=Ca;f[_+(Ca<<2)>>2]=ea;ea=f[m>>2]|0;_=fa+(ea<<2)|0;f[_>>2]=za;f[fa+(ea+1<<2)>>2]=Ba;f[fa+(ea+2<<2)>>2]=ya;if((ea|0)==-1)Da=-1;else Da=f[_>>2]|0;_=f[r>>2]|0;ea=_+(Da>>>5<<2)|0;f[ea>>2]=f[ea>>2]&~(1<<(Da&31));ea=(f[m>>2]|0)+1|0;if((ea|0)==-1)Ea=-1;else Ea=f[fa+(ea<<2)>>2]|0;ea=_+(Ea>>>5<<2)|0;f[ea>>2]=f[ea>>2]&~(1<<(Ea&31));ea=(f[m>>2]|0)+2|0;if((ea|0)==-1)Fa=-1;else Fa=f[fa+(ea<<2)>>2]|0;ea=_+(Fa>>>5<<2)|0;f[ea>>2]=f[ea>>2]&~(1<<(Fa&31));ea=X+1|0;_=f[ma>>2]|0;fa=f[la>>2]|0;if((_|0)==(fa<<5|0)){if((_+1|0)<0){J=141;break g}ba=fa<<6;fa=_+32&-32;Ig(na,_>>>0<1073741823?(ba>>>0>>0?fa:ba):2147483647);Ga=f[ma>>2]|0}else Ga=_;f[ma>>2]=Ga+1;_=(f[na>>2]|0)+(Ga>>>5<<2)|0;f[_>>2]=f[_>>2]|1<<(Ga&31);_=f[ja>>2]|0;if((_|0)==(f[ka>>2]|0))dh(ia,m);else{f[_>>2]=f[m>>2];f[ja>>2]=_+4}Ha=ea}else if((J|0)==149){J=0;ea=f[ma>>2]|0;_=f[la>>2]|0;if((ea|0)==(_<<5|0)){if((ea+1|0)<0){J=151;break g}ba=_<<6;_=ea+32&-32;Ig(na,ea>>>0<1073741823?(ba>>>0<_>>>0?_:ba):2147483647);Ia=f[ma>>2]|0}else Ia=ea;f[ma>>2]=Ia+1;ea=(f[na>>2]|0)+(Ia>>>5<<2)|0;f[ea>>2]=f[ea>>2]&~(1<<(Ia&31));ea=f[ja>>2]|0;if((ea|0)==(f[ka>>2]|0)){dh(ia,e);Ha=X;break}else{f[ea>>2]=f[e>>2];f[ja>>2]=ea+4;Ha=X;break}}while(0);q=f[o>>2]|0;if((q|0)==(f[g>>2]|0)){J=158;break}else X=Ha}if((J|0)==141)zo(na);else if((J|0)==151)zo(na);else if((J|0)==157){I=-1;J=176;break f}else if((J|0)==158){Ja=Ha;Ka=f[wa>>2]|0;break}}else{Ja=va;Ka=c}while(0);if((Ja|0)==(((f[Ka+4>>2]|0)-(f[Ka>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ka+28>>2]|0)-(f[Ka+24>>2]|0)>>2;l=f[k>>2]|0;X=f[p>>2]|0;if((l|0)==(X|0)){La=c;Ma=l}else{q=e+4|0;ja=e+8|0;ia=e+12|0;ka=c;c=l;l=Ka;while(1){ma=f[c>>2]|0;la=ka+-1|0;ga=f[l+24>>2]|0;if((f[ga+(la<<2)>>2]|0)==-1){ua=ka;while(1){oa=ua+-1|0;qa=ua+-2|0;if((f[ga+(qa<<2)>>2]|0)==-1)ua=oa;else{Na=oa;Oa=qa;break}}}else{Na=ka;Oa=la}if(Oa>>>0>>0){Pa=Na;Qa=l}else{f[e>>2]=l;ua=f[ga+(Oa<<2)>>2]|0;f[q>>2]=ua;f[ja>>2]=ua;b[ia>>0]=1;if((ua|0)==-1){Ra=ga;Sa=l}else{na=l;qa=ua;do{f[(f[na>>2]|0)+(qa<<2)>>2]=ma;hg(e);qa=f[ja>>2]|0;na=f[wa>>2]|0}while((qa|0)!=-1);Ra=f[na+24>>2]|0;Sa=na}if((ma|0)==-1)Ta=Ra+(Oa<<2)|0;else{qa=Ra+(Oa<<2)|0;f[Ra+(ma<<2)>>2]=f[qa>>2];Ta=qa}f[Ta>>2]=-1;qa=f[r>>2]|0;ga=qa+(Oa>>>5<<2)|0;la=1<<(Oa&31);ua=qa+(ma>>>5<<2)|0;qa=1<<(ma&31);if(!(f[ga>>2]&la))Ua=f[ua>>2]&~qa;else Ua=f[ua>>2]|qa;f[ua>>2]=Ua;f[ga>>2]=f[ga>>2]&~la;Pa=Na+-1|0;Qa=Sa}c=c+4|0;if((c|0)==(X|0)){I=Pa;J=176;break}else{ka=Pa;l=Qa}}}}else{I=-1;J=176}}else{I=-1;J=176}}while(0);if((J|0)==176){La=I;Ma=f[k>>2]|0}if(Ma|0){k=f[p>>2]|0;if((k|0)!=(Ma|0))f[p>>2]=k+(~((k+-4-Ma|0)>>>2)<<2);ip(Ma)}Ma=f[i+8>>2]|0;if(Ma|0){k=Ma;do{Ma=k;k=f[k>>2]|0;ip(Ma)}while((k|0)!=0)}k=f[i>>2]|0;f[i>>2]=0;if(k|0)ip(k);k=f[g>>2]|0;if(!k){u=d;return La|0}g=f[o>>2]|0;if((g|0)!=(k|0))f[o>>2]=g+(~((g+-4-k|0)>>>2)<<2);ip(k);u=d;return La|0}function bb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0;d=u;u=u+80|0;e=d+56|0;g=d+36|0;i=d+24|0;k=d+8|0;l=d;f[e>>2]=0;m=e+4|0;f[m>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[g+16>>2]=$(1.0);f[i>>2]=0;o=i+4|0;f[o>>2]=0;f[i+8>>2]=0;p=(f[a+212>>2]|0)==(f[a+216>>2]|0);q=a+120|0;r=f[a+124>>2]|0;a:do if((c|0)>0){s=a+300|0;t=g+4|0;v=a+8|0;w=i+8|0;x=e+8|0;y=a+296|0;z=a+288|0;A=a+292|0;B=a+36|0;C=a+40|0;D=c+-1|0;E=0;b:while(1){F=E+1|0;c:do if(!(b[s>>0]|0))G=42;else{H=f[y>>2]|0;I=f[z>>2]|0;J=f[A>>2]|0;K=I+(H>>>3)|0;if(K>>>0>>0?(L=h[K>>0]|0,K=H+1|0,f[y>>2]=K,1<<(H&7)&L|0):0){L=I+(K>>>3)|0;if(L>>>0>>0){M=(h[L>>0]|0)>>>(K&7)&1;L=H+2|0;f[y>>2]=L;N=M;O=L}else{N=0;O=K}K=I+(O>>>3)|0;if(K>>>0>>0){J=(h[K>>0]|0)>>>(O&7);f[y>>2]=O+1;P=J<<1&2}else P=0;J=(P|N)<<1|1;K=(J|0)==5;switch(J&7){case 1:{G=42;break c;break}case 3:case 5:{J=f[m>>2]|0;if((f[e>>2]|0)==(J|0)){Q=-1;G=182;break a}I=f[J+-4>>2]|0;J=E*3|0;L=K?J:J+2|0;M=J+(K&1)|0;H=(K?2:1)+J|0;K=f[v>>2]|0;R=f[K+12>>2]|0;f[R+(H<<2)>>2]=I;f[R+(I<<2)>>2]=H;R=K+24|0;S=K+28|0;T=f[S>>2]|0;if((T|0)==(f[K+32>>2]|0)){dh(R,3112);U=f[S>>2]|0}else{f[T>>2]=-1;K=T+4|0;f[S>>2]=K;U=K}K=U-(f[R>>2]|0)>>2;R=K+-1|0;S=f[v>>2]|0;T=f[S>>2]|0;f[T+(H<<2)>>2]=R;if(K|0)f[(f[S+24>>2]|0)+(R<<2)>>2]=H;if((I|0)!=-1){H=(((I>>>0)%3|0|0)==0?2:-1)+I|0;if((H|0)!=-1){R=f[T+(H<<2)>>2]|0;f[T+(L<<2)>>2]=R;if((R|0)!=-1)f[(f[S+24>>2]|0)+(R<<2)>>2]=L}else f[T+(L<<2)>>2]=-1;R=I+1|0;S=((R>>>0)%3|0|0)==0?I+-2|0:R;if((S|0)==-1)V=-1;else V=f[T+(S<<2)>>2]|0}else{f[T+(L<<2)>>2]=-1;V=-1}f[T+(M<<2)>>2]=V;f[(f[m>>2]|0)+-4>>2]=J;break}case 7:{f[k>>2]=E*3;J=f[v>>2]|0;M=J+24|0;T=J+28|0;L=f[T>>2]|0;if((L|0)==(f[J+32>>2]|0)){dh(M,3112);W=f[T>>2]|0}else{f[L>>2]=-1;J=L+4|0;f[T>>2]=J;W=J}J=W-(f[M>>2]|0)>>2;M=J+-1|0;T=f[v>>2]|0;L=f[k>>2]|0;S=f[T>>2]|0;f[S+(L<<2)>>2]=M;R=T+24|0;I=T+28|0;H=f[I>>2]|0;if((H|0)==(f[T+32>>2]|0)){dh(R,3112);X=f[I>>2]|0;Y=f[T>>2]|0}else{f[H>>2]=-1;T=H+4|0;f[I>>2]=T;X=T;Y=S}f[Y+(L+1<<2)>>2]=(X-(f[R>>2]|0)>>2)+-1;R=f[v>>2]|0;L=(f[k>>2]|0)+2|0;S=R+24|0;T=R+28|0;I=f[T>>2]|0;if((I|0)==(f[R+32>>2]|0)){dh(S,3112);Z=f[T>>2]|0}else{f[I>>2]=-1;H=I+4|0;f[T>>2]=H;Z=H}f[(f[R>>2]|0)+(L<<2)>>2]=(Z-(f[S>>2]|0)>>2)+-1;S=f[k>>2]|0;L=f[(f[v>>2]|0)+24>>2]|0;if(J){f[L+(M<<2)>>2]=S;if((J|0)!=-1){f[L+(J<<2)>>2]=(f[k>>2]|0)+1;M=J+1|0;if((M|0)!=-1){_=M;G=103}}else{_=0;G=103}}else{f[L+(J<<2)>>2]=S+1;_=1;G=103}if((G|0)==103){G=0;f[L+(_<<2)>>2]=(f[k>>2]|0)+2}L=f[m>>2]|0;if((L|0)==(f[x>>2]|0))dh(e,k);else{f[L>>2]=f[k>>2];f[m>>2]=L+4}break}default:break b}L=c-E+-1|0;S=f[C>>2]|0;if((S|0)==(f[B>>2]|0))break;else aa=S;while(1){S=aa;J=f[S+-8>>2]|0;if(J>>>0>L>>>0){Q=-1;G=182;break a}if((J|0)!=(L|0))break c;J=b[S+-4>>0]|0;M=f[S+-12>>2]|0;f[C>>2]=S+-12;if((M|0)<0){Q=-1;G=182;break a}S=f[(f[m>>2]|0)+-4>>2]|0;R=(S|0)==-1;do if(!(J&1))if(!R)if(!((S>>>0)%3|0)){ba=S+2|0;break}else{ba=S+-1|0;break}else ba=-1;else{H=S+1|0;if(R)ba=-1;else ba=((H>>>0)%3|0|0)==0?S+-2|0:H}while(0);f[k>>2]=D-M;S=$c(g,k)|0;f[S>>2]=ba;aa=f[C>>2]|0;if((aa|0)==(f[B>>2]|0))break c}}L=f[m>>2]|0;if((f[e>>2]|0)==(L|0)){Q=-1;G=182;break a}S=L+-4|0;L=f[S>>2]|0;R=f[v>>2]|0;J=(L|0)==-1;H=L+1|0;if(!J?(T=((H>>>0)%3|0|0)==0?L+-2|0:H,(T|0)!=-1):0)ca=f[(f[R>>2]|0)+(T<<2)>>2]|0;else ca=-1;T=f[R+24>>2]|0;H=f[T+(ca<<2)>>2]|0;I=H+1|0;K=T;if((H|0)==-1)da=-1;else da=((I>>>0)%3|0|0)==0?H+-2|0:I;I=E*3|0;H=I+1|0;ea=f[R+12>>2]|0;f[ea+(L<<2)>>2]=H;f[ea+(H<<2)>>2]=L;fa=I+2|0;f[ea+(da<<2)>>2]=fa;f[ea+(fa<<2)>>2]=da;ea=f[R>>2]|0;f[ea+(I<<2)>>2]=ca;ga=da+1|0;if((da|0)!=-1?(ha=((ga>>>0)%3|0|0)==0?da+-2|0:ga,(ha|0)!=-1):0)ia=f[ea+(ha<<2)>>2]|0;else ia=-1;f[ea+(H<<2)>>2]=ia;if(!J?(J=(((L>>>0)%3|0|0)==0?2:-1)+L|0,(J|0)!=-1):0){L=f[ea+(J<<2)>>2]|0;f[ea+(fa<<2)>>2]=L;if((L|0)!=-1)f[T+(L<<2)>>2]=fa}else f[ea+(fa<<2)>>2]=-1;if(((f[R+28>>2]|0)-K>>2|0)>(r|0)){Q=-1;G=182;break a}K=(f[q>>2]|0)+(ca>>>5<<2)|0;f[K>>2]=f[K>>2]&~(1<<(ca&31));f[S>>2]=I}while(0);if((G|0)==42){G=0;I=f[e>>2]|0;S=f[m>>2]|0;if((I|0)==(S|0)){Q=-1;G=182;break a}K=S+-4|0;R=f[K>>2]|0;f[m>>2]=K;fa=f[t>>2]|0;d:do if(fa){ea=fa+-1|0;L=(ea&fa|0)==0;if(!L)if(E>>>0>>0)ja=E;else ja=(E>>>0)%(fa>>>0)|0;else ja=ea&E;T=f[(f[g>>2]|0)+(ja<<2)>>2]|0;if((T|0)!=0?(J=f[T>>2]|0,(J|0)!=0):0){e:do if(L){T=J;while(1){H=f[T+4>>2]|0;ha=(H|0)==(E|0);if(!(ha|(H&ea|0)==(ja|0))){ka=I;la=K;break d}if(ha?(f[T+8>>2]|0)==(E|0):0){ma=T;break e}T=f[T>>2]|0;if(!T){ka=I;la=K;break d}}}else{T=J;while(1){M=f[T+4>>2]|0;if((M|0)==(E|0)){if((f[T+8>>2]|0)==(E|0)){ma=T;break e}}else{if(M>>>0>>0)na=M;else na=(M>>>0)%(fa>>>0)|0;if((na|0)!=(ja|0)){ka=I;la=K;break d}}T=f[T>>2]|0;if(!T){ka=I;la=K;break d}}}while(0);J=ma+12|0;if((K|0)==(f[x>>2]|0)){dh(e,J);ka=f[e>>2]|0;la=f[m>>2]|0;break}else{f[K>>2]=f[J>>2];f[m>>2]=S;ka=I;la=S;break}}else{ka=I;la=K}}else{ka=I;la=K}while(0);if((ka|0)==(la|0)){Q=-1;G=182;break a}K=f[la+-4>>2]|0;I=E*3|0;S=I+2|0;fa=f[v>>2]|0;J=f[fa+12>>2]|0;f[J+(K<<2)>>2]=S;f[J+(S<<2)>>2]=K;ea=I+1|0;f[J+(R<<2)>>2]=ea;f[J+(ea<<2)>>2]=R;if((K|0)!=-1){L=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((L|0)==-1)oa=-1;else oa=f[(f[fa>>2]|0)+(L<<2)>>2]|0;L=f[fa>>2]|0;f[L+(I<<2)>>2]=oa;T=K+1|0;M=((T>>>0)%3|0|0)==0?K+-2|0:T;if((M|0)==-1){pa=-1;qa=oa;ra=L;sa=fa}else{pa=f[L+(M<<2)>>2]|0;qa=oa;ra=L;sa=fa}}else{L=f[fa>>2]|0;f[L+(I<<2)>>2]=-1;pa=-1;qa=-1;ra=L;sa=fa}f[ra+(ea<<2)>>2]=pa;if((R|0)!=-1){ea=(((R>>>0)%3|0|0)==0?2:-1)+R|0;if((ea|0)!=-1){L=f[ra+(ea<<2)>>2]|0;f[ra+(S<<2)>>2]=L;if((L|0)!=-1)f[(f[fa+24>>2]|0)+(L<<2)>>2]=S}else f[ra+(S<<2)>>2]=-1;L=R+1|0;ea=((L>>>0)%3|0|0)==0?R+-2|0:L;if((ea|0)==-1){ta=-1;ua=-1}else{ta=f[ra+(ea<<2)>>2]|0;ua=ea}}else{f[ra+(S<<2)>>2]=-1;ta=-1;ua=-1}f[k>>2]=ta;S=f[fa+24>>2]|0;if((qa|0)!=-1)f[S+(qa<<2)>>2]=f[S+(ta<<2)>>2];f:do if((ua|0)!=-1){fa=f[sa>>2]|0;ea=ua;do{f[fa+(ea<<2)>>2]=qa;L=ea+1|0;M=((L>>>0)%3|0|0)==0?ea+-2|0:L;if((M|0)==-1)break f;L=f[J+(M<<2)>>2]|0;M=L+1|0;if((L|0)==-1)break f;ea=((M>>>0)%3|0|0)==0?L+-2|0:M}while((ea|0)!=-1)}while(0);f[S+(f[k>>2]<<2)>>2]=-1;do if(p){J=f[o>>2]|0;if((J|0)==(f[w>>2]|0)){dh(i,k);va=f[m>>2]|0;break}else{f[J>>2]=f[k>>2];f[o>>2]=J+4;va=la;break}}else va=la;while(0);f[va+-4>>2]=I}if((F|0)<(c|0))E=F;else{wa=F;xa=v;G=123;break a}}}else{wa=0;xa=a+8|0;G=123}while(0);g:do if((G|0)==123){c=f[xa>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(r|0)){va=f[m>>2]|0;do if((va|0)!=(f[e>>2]|0)){la=a+262|0;p=a+356|0;qa=a+352|0;ua=a+344|0;sa=a+348|0;ta=a+60|0;ra=a+64|0;pa=a+68|0;oa=a+76|0;ka=a+80|0;ma=a+72|0;ja=a+304|0;na=wa;ca=va;h:while(1){ia=ca;f[k>>2]=f[ia+-4>>2];f[m>>2]=ia+-4;if((j[la>>1]|0)<514)if(b[p>>0]|0){ia=f[qa>>2]|0;da=(f[ua>>2]|0)+(ia>>>3)|0;if(da>>>0<(f[sa>>2]|0)>>>0){aa=(h[da>>0]|0)>>>(ia&7)&1;f[qa>>2]=ia+1;ya=aa;G=131}else G=154}else G=132;else{ya=(Ni(ja)|0)&1;G=131}if((G|0)==131){G=0;if(!ya)G=154;else G=132}do if((G|0)==132){G=0;aa=f[xa>>2]|0;ia=f[aa>>2]|0;da=ia;if((na|0)>=(((f[aa+4>>2]|0)-ia>>2>>>0)/3|0|0)){G=162;break h}ia=f[k>>2]|0;ba=ia+1|0;if((ia|0)!=-1?(_=((ba>>>0)%3|0|0)==0?ia+-2|0:ba,(_|0)!=-1):0)za=f[da+(_<<2)>>2]|0;else za=-1;_=f[aa+24>>2]|0;ba=f[_+(za<<2)>>2]|0;Z=ba+1|0;if((ba|0)!=-1?(X=((Z>>>0)%3|0|0)==0?ba+-2|0:Z,Z=X+1|0,(X|0)!=-1):0){ba=((Z>>>0)%3|0|0)==0?X+-2|0:Z;if((ba|0)==-1){Aa=-1;Ba=X}else{Aa=f[da+(ba<<2)>>2]|0;Ba=X}}else{Aa=-1;Ba=-1}X=f[_+(Aa<<2)>>2]|0;_=X+1|0;if((X|0)!=-1?(ba=((_>>>0)%3|0|0)==0?X+-2|0:_,_=ba+1|0,(ba|0)!=-1):0){X=((_>>>0)%3|0|0)==0?ba+-2|0:_;if((X|0)==-1){Ca=-1;Da=ba}else{Ca=f[da+(X<<2)>>2]|0;Da=ba}}else{Ca=-1;Da=-1}ba=na*3|0;f[l>>2]=ba;X=f[aa+12>>2]|0;f[X+(ba<<2)>>2]=ia;f[X+(ia<<2)>>2]=ba;ba=(f[l>>2]|0)+1|0;f[X+(ba<<2)>>2]=Ba;f[X+(Ba<<2)>>2]=ba;ba=(f[l>>2]|0)+2|0;f[X+(ba<<2)>>2]=Da;f[X+(Da<<2)>>2]=ba;ba=f[l>>2]|0;X=da+(ba<<2)|0;f[X>>2]=Aa;f[da+(ba+1<<2)>>2]=Ca;f[da+(ba+2<<2)>>2]=za;if((ba|0)==-1)Ea=-1;else Ea=f[X>>2]|0;X=f[q>>2]|0;ba=X+(Ea>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(Ea&31));ba=(f[l>>2]|0)+1|0;if((ba|0)==-1)Fa=-1;else Fa=f[da+(ba<<2)>>2]|0;ba=X+(Fa>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(Fa&31));ba=(f[l>>2]|0)+2|0;if((ba|0)==-1)Ga=-1;else Ga=f[da+(ba<<2)>>2]|0;ba=X+(Ga>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(Ga&31));ba=na+1|0;X=f[ra>>2]|0;da=f[pa>>2]|0;if((X|0)==(da<<5|0)){if((X+1|0)<0){G=146;break h}ia=da<<6;da=X+32&-32;Ig(ta,X>>>0<1073741823?(ia>>>0>>0?da:ia):2147483647);Ha=f[ra>>2]|0}else Ha=X;f[ra>>2]=Ha+1;X=(f[ta>>2]|0)+(Ha>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(Ha&31);X=f[oa>>2]|0;if((X|0)==(f[ka>>2]|0))dh(ma,l);else{f[X>>2]=f[l>>2];f[oa>>2]=X+4}Ia=ba}else if((G|0)==154){G=0;ba=f[ra>>2]|0;X=f[pa>>2]|0;if((ba|0)==(X<<5|0)){if((ba+1|0)<0){G=156;break h}ia=X<<6;X=ba+32&-32;Ig(ta,ba>>>0<1073741823?(ia>>>0>>0?X:ia):2147483647);Ja=f[ra>>2]|0}else Ja=ba;f[ra>>2]=Ja+1;ba=(f[ta>>2]|0)+(Ja>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(Ja&31));ba=f[oa>>2]|0;if((ba|0)==(f[ka>>2]|0)){dh(ma,k);Ia=na;break}else{f[ba>>2]=f[k>>2];f[oa>>2]=ba+4;Ia=na;break}}while(0);ca=f[m>>2]|0;if((ca|0)==(f[e>>2]|0)){G=163;break}else na=Ia}if((G|0)==146)zo(ta);else if((G|0)==156)zo(ta);else if((G|0)==162){Q=-1;G=182;break g}else if((G|0)==163){Ka=Ia;La=f[xa>>2]|0;break}}else{Ka=wa;La=c}while(0);if((Ka|0)==(((f[La+4>>2]|0)-(f[La>>2]|0)>>2>>>0)/3|0|0)){c=(f[La+28>>2]|0)-(f[La+24>>2]|0)>>2;va=f[i>>2]|0;na=f[o>>2]|0;if((va|0)==(na|0)){Ma=c;Na=va}else{ca=k+4|0;oa=k+8|0;ma=k+12|0;ka=c;c=va;va=La;while(1){ra=f[c>>2]|0;pa=ka+-1|0;ja=f[va+24>>2]|0;if((f[ja+(pa<<2)>>2]|0)==-1){qa=ka;while(1){sa=qa+-1|0;ua=qa+-2|0;if((f[ja+(ua<<2)>>2]|0)==-1)qa=sa;else{Oa=sa;Pa=ua;break}}}else{Oa=ka;Pa=pa}if(Pa>>>0>>0){Qa=Oa;Ra=va}else{f[k>>2]=va;qa=f[ja+(Pa<<2)>>2]|0;f[ca>>2]=qa;f[oa>>2]=qa;b[ma>>0]=1;if((qa|0)==-1){Sa=ja;Ta=va}else{ta=va;ua=qa;do{f[(f[ta>>2]|0)+(ua<<2)>>2]=ra;hg(k);ua=f[oa>>2]|0;ta=f[xa>>2]|0}while((ua|0)!=-1);Sa=f[ta+24>>2]|0;Ta=ta}if((ra|0)==-1)Ua=Sa+(Pa<<2)|0;else{ua=Sa+(Pa<<2)|0;f[Sa+(ra<<2)>>2]=f[ua>>2];Ua=ua}f[Ua>>2]=-1;ua=f[q>>2]|0;ja=ua+(Pa>>>5<<2)|0;pa=1<<(Pa&31);qa=ua+(ra>>>5<<2)|0;ua=1<<(ra&31);if(!(f[ja>>2]&pa))Va=f[qa>>2]&~ua;else Va=f[qa>>2]|ua;f[qa>>2]=Va;f[ja>>2]=f[ja>>2]&~pa;Qa=Oa+-1|0;Ra=Ta}c=c+4|0;if((c|0)==(na|0)){Q=Qa;G=182;break}else{ka=Qa;va=Ra}}}}else{Q=-1;G=182}}else{Q=-1;G=182}}while(0);if((G|0)==182){Ma=Q;Na=f[i>>2]|0}if(Na|0){i=f[o>>2]|0;if((i|0)!=(Na|0))f[o>>2]=i+(~((i+-4-Na|0)>>>2)<<2);ip(Na)}Na=f[g+8>>2]|0;if(Na|0){i=Na;do{Na=i;i=f[i>>2]|0;ip(Na)}while((i|0)!=0)}i=f[g>>2]|0;f[g>>2]=0;if(i|0)ip(i);i=f[e>>2]|0;if(!i){u=d;return Ma|0}e=f[m>>2]|0;if((e|0)!=(i|0))f[m>>2]=e+(~((e+-4-i|0)>>>2)<<2);ip(i);u=d;return Ma|0}function cb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+16|0;c=b;d=b+8|0;e=b+4|0;f[d>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;f[e>>2]=a-h;i=0;j=g;g=(Hj(4440,4632,e,c)|0)-4440>>2;k=h;a:while(1){l=(f[4440+(g<<2)>>2]|0)+k|0;h=5;while(1){if(h>>>0>=47){m=211;n=i;o=8;break}p=f[4248+(h<<2)>>2]|0;q=(l>>>0)/(p>>>0)|0;if(q>>>0

>>0){o=106;break a}if((l|0)==(X(q,p)|0)){r=i;break}else h=h+1|0}b:do if((o|0)==8){c:while(1){o=0;h=(l>>>0)/(m>>>0)|0;do if(h>>>0>=m>>>0)if((l|0)!=(X(h,m)|0)){p=m+10|0;q=(l>>>0)/(p>>>0)|0;if(q>>>0>=p>>>0)if((l|0)!=(X(q,p)|0)){q=m+12|0;s=(l>>>0)/(q>>>0)|0;if(s>>>0>=q>>>0)if((l|0)!=(X(s,q)|0)){s=m+16|0;t=(l>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((l|0)!=(X(t,s)|0)){t=m+18|0;v=(l>>>0)/(t>>>0)|0;if(v>>>0>=t>>>0)if((l|0)!=(X(v,t)|0)){v=m+22|0;w=(l>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((l|0)!=(X(w,v)|0)){w=m+28|0;x=(l>>>0)/(w>>>0)|0;if(x>>>0>=w>>>0)if((l|0)==(X(x,w)|0)){y=w;z=9;A=n}else{x=m+30|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+36|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+40|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+42|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+46|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+52|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+58|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+60|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+66|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+70|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+72|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+78|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+82|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+88|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+96|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+100|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+102|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+106|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+108|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+112|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+120|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+126|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+130|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+136|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+138|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+142|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+148|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+150|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+156|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+162|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+166|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+168|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+172|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+178|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+180|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+186|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+190|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+192|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+196|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+198|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+208|0;B=(l>>>0)/(x>>>0)|0;C=B>>>0>>0;D=(l|0)==(X(B,x)|0);y=C|D?x:m+210|0;z=C?1:D?9:0;A=C?l:n}else{y=w;z=1;A=l}}else{y=v;z=9;A=n}else{y=v;z=1;A=l}}else{y=t;z=9;A=n}else{y=t;z=1;A=l}}else{y=s;z=9;A=n}else{y=s;z=1;A=l}}else{y=q;z=9;A=n}else{y=q;z=1;A=l}}else{y=p;z=9;A=n}else{y=p;z=1;A=l}}else{y=m;z=9;A=n}else{y=m;z=1;A=l}while(0);switch(z&15){case 9:{r=A;break b;break}case 0:{m=y;n=A;o=8;break}default:break c}}if(!z)r=A;else{o=107;break a}}while(0);h=g+1|0;p=(h|0)==48;q=j+(p&1)|0;i=r;j=q;g=p?0:h;k=q*210|0}if((o|0)==106){f[d>>2]=l;E=l;break}else if((o|0)==107){f[d>>2]=l;E=A;break}}else{k=Hj(4248,4440,d,c)|0;E=f[k>>2]|0}while(0);u=b;return E|0}function db(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0;c=u;u=u+32|0;d=c+16|0;e=c+4|0;g=c;f[a+36>>2]=b;h=a+24|0;i=a+28|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=b>>>0){if(l>>>0>b>>>0?(j=m+(b<<2)|0,(j|0)!=(k|0)):0)f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else dg(h,b-l|0,3564);f[d>>2]=0;l=d+4|0;f[l>>2]=0;j=d+8|0;f[j>>2]=0;if(b){if((b|0)<0)zo(d);k=((b+-1|0)>>>5)+1|0;m=Vk(k<<2)|0;f[d>>2]=m;f[j>>2]=k;f[l>>2]=b;k=b>>>5;Dh(m|0,0,k<<2|0)|0;n=b&31;o=m+(k<<2)|0;k=m;if(!n){p=b;q=k;r=m}else{f[o>>2]=f[o>>2]&~(-1>>>(32-n|0));p=b;q=k;r=m}}else{p=0;q=0;r=0}m=a+4|0;k=f[a>>2]|0;n=(f[m>>2]|0)-k|0;o=n>>2;f[e>>2]=0;s=e+4|0;f[s>>2]=0;t=e+8|0;f[t>>2]=0;do if(o){if((n|0)<0)zo(e);v=((o+-1|0)>>>5)+1|0;w=Vk(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;Dh(w|0,0,v<<2|0)|0;x=o&31;y=w+(v<<2)|0;if(x|0)f[y>>2]=f[y>>2]&~(-1>>>(32-x|0));if(o>>>0>2){x=a+12|0;y=a+32|0;v=a+52|0;w=a+56|0;z=a+48|0;A=b;B=k;C=0;D=q;E=r;a:while(1){F=B;G=C*3|0;if((G|0)!=-1){H=f[F+(G<<2)>>2]|0;I=G+1|0;J=((I>>>0)%3|0|0)==0?G+-2|0:I;if((J|0)==-1)K=-1;else K=f[F+(J<<2)>>2]|0;J=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((J|0)==-1)L=-1;else L=f[F+(J<<2)>>2]|0;if((H|0)!=(K|0)?!((H|0)==(L|0)|(K|0)==(L|0)):0){H=0;J=A;F=E;I=D;while(1){M=H+G|0;if(!(f[(f[e>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){N=f[(f[a>>2]|0)+(M<<2)>>2]|0;f[g>>2]=N;if(!(f[F+(N>>>5<<2)>>2]&1<<(N&31))){O=0;P=J;Q=N}else{N=f[i>>2]|0;if((N|0)==(f[y>>2]|0))dh(h,3564);else{f[N>>2]=-1;f[i>>2]=N+4}N=f[v>>2]|0;if((N|0)==(f[w>>2]|0))dh(z,g);else{f[N>>2]=f[g>>2];f[v>>2]=N+4}N=f[l>>2]|0;R=f[j>>2]|0;if((N|0)==(R<<5|0)){if((N+1|0)<0){S=50;break a}T=R<<6;R=N+32&-32;Ig(d,N>>>0<1073741823?(T>>>0>>0?R:T):2147483647);U=f[l>>2]|0}else U=N;f[l>>2]=U+1;N=(f[d>>2]|0)+(U>>>5<<2)|0;f[N>>2]=f[N>>2]&~(1<<(U&31));f[g>>2]=J;O=1;P=J+1|0;Q=J}N=f[d>>2]|0;T=N+(Q>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(Q&31);T=N;b:do if(O){R=M;while(1){if((R|0)==-1){S=64;break b}V=(f[e>>2]|0)+(R>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(R&31);V=f[g>>2]|0;f[(f[h>>2]|0)+(V<<2)>>2]=R;f[(f[a>>2]|0)+(R<<2)>>2]=V;V=R+1|0;W=((V>>>0)%3|0|0)==0?R+-2|0:V;do if((W|0)==-1)X=-1;else{V=f[(f[x>>2]|0)+(W<<2)>>2]|0;Y=V+1|0;if((V|0)==-1){X=-1;break}X=((Y>>>0)%3|0|0)==0?V+-2|0:Y}while(0);if((X|0)==(M|0))break;else R=X}}else{R=M;while(1){if((R|0)==-1){S=64;break b}W=(f[e>>2]|0)+(R>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(R&31);f[(f[h>>2]|0)+(f[g>>2]<<2)>>2]=R;W=R+1|0;Y=((W>>>0)%3|0|0)==0?R+-2|0:W;do if((Y|0)==-1)Z=-1;else{W=f[(f[x>>2]|0)+(Y<<2)>>2]|0;V=W+1|0;if((W|0)==-1){Z=-1;break}Z=((V>>>0)%3|0|0)==0?W+-2|0:V}while(0);if((Z|0)==(M|0))break;else R=Z}}while(0);c:do if((S|0)==64){S=0;if((M|0)==-1)break;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((R|0)==-1)break;Y=f[(f[x>>2]|0)+(R<<2)>>2]|0;if((Y|0)==-1)break;R=Y+(((Y>>>0)%3|0|0)==0?2:-1)|0;if((R|0)==-1)break;if(!O){Y=R;while(1){V=(f[e>>2]|0)+(Y>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(Y&31);V=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((V|0)==-1)break c;W=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((W|0)==-1)break c;Y=W+(((W>>>0)%3|0|0)==0?2:-1)|0;if((Y|0)==-1)break c}}Y=f[a>>2]|0;W=R;do{V=(f[e>>2]|0)+(W>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(W&31);f[Y+(W<<2)>>2]=f[g>>2];V=(((W>>>0)%3|0|0)==0?2:-1)+W|0;if((V|0)==-1)break c;_=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((_|0)==-1)break c;W=_+(((_>>>0)%3|0|0)==0?2:-1)|0}while((W|0)!=-1)}while(0);$=P;aa=T;ba=N}else{$=J;aa=I;ba=F}if((H|0)<2){H=H+1|0;J=$;F=ba;I=aa}else{ca=$;da=aa;ea=ba;break}}}else{ca=A;da=D;ea=E}}else{ca=A;da=D;ea=E}C=C+1|0;B=f[a>>2]|0;if(C>>>0>=(((f[m>>2]|0)-B>>2>>>0)/3|0)>>>0){S=18;break}else{A=ca;D=da;E=ea}}if((S|0)==18){fa=da;ga=f[l>>2]|0;break}else if((S|0)==50)zo(d)}else{fa=q;ga=p}}else{fa=q;ga=p}while(0);p=a+44|0;f[p>>2]=0;a=fa;fa=ga>>>5;q=a+(fa<<2)|0;S=ga&31;ga=(fa|0)!=0;d:do if(fa|S|0)if(!S){l=a;da=0;ea=ga;while(1){e:do if(ea){if(!(f[l>>2]&1)){ca=da+1|0;f[p>>2]=ca;ha=ca}else ha=da;if(!(f[l>>2]&2)){ca=ha+1|0;f[p>>2]=ca;ia=ca}else ia=ha;if(!(f[l>>2]&4)){ca=ia+1|0;f[p>>2]=ca;ja=ca}else ja=ia;if(!(f[l>>2]&8)){ca=ja+1|0;f[p>>2]=ca;ka=ca}else ka=ja;if(!(f[l>>2]&16)){ca=ka+1|0;f[p>>2]=ca;la=ca}else la=ka;if(!(f[l>>2]&32)){ca=la+1|0;f[p>>2]=ca;ma=ca}else ma=la;if(!(f[l>>2]&64)){ca=ma+1|0;f[p>>2]=ca;na=ca}else na=ma;if(!(f[l>>2]&128)){ca=na+1|0;f[p>>2]=ca;oa=ca}else oa=na;if(!(f[l>>2]&256)){ca=oa+1|0;f[p>>2]=ca;pa=ca}else pa=oa;if(!(f[l>>2]&512)){ca=pa+1|0;f[p>>2]=ca;qa=ca}else qa=pa;if(!(f[l>>2]&1024)){ca=qa+1|0;f[p>>2]=ca;ra=ca}else ra=qa;if(!(f[l>>2]&2048)){ca=ra+1|0;f[p>>2]=ca;sa=ca}else sa=ra;if(!(f[l>>2]&4096)){ca=sa+1|0;f[p>>2]=ca;ta=ca}else ta=sa;if(!(f[l>>2]&8192)){ca=ta+1|0;f[p>>2]=ca;ua=ca}else ua=ta;if(!(f[l>>2]&16384)){ca=ua+1|0;f[p>>2]=ca;va=ca}else va=ua;if(!(f[l>>2]&32768)){ca=va+1|0;f[p>>2]=ca;wa=ca}else wa=va;if(!(f[l>>2]&65536)){ca=wa+1|0;f[p>>2]=ca;xa=ca}else xa=wa;if(!(f[l>>2]&131072)){ca=xa+1|0;f[p>>2]=ca;ya=ca}else ya=xa;if(!(f[l>>2]&262144)){ca=ya+1|0;f[p>>2]=ca;za=ca}else za=ya;if(!(f[l>>2]&524288)){ca=za+1|0;f[p>>2]=ca;Aa=ca}else Aa=za;if(!(f[l>>2]&1048576)){ca=Aa+1|0;f[p>>2]=ca;Ba=ca}else Ba=Aa;if(!(f[l>>2]&2097152)){ca=Ba+1|0;f[p>>2]=ca;Ca=ca}else Ca=Ba;if(!(f[l>>2]&4194304)){ca=Ca+1|0;f[p>>2]=ca;Da=ca}else Da=Ca;if(!(f[l>>2]&8388608)){ca=Da+1|0;f[p>>2]=ca;Ea=ca}else Ea=Da;if(!(f[l>>2]&16777216)){ca=Ea+1|0;f[p>>2]=ca;Fa=ca}else Fa=Ea;if(!(f[l>>2]&33554432)){ca=Fa+1|0;f[p>>2]=ca;Ga=ca}else Ga=Fa;if(!(f[l>>2]&67108864)){ca=Ga+1|0;f[p>>2]=ca;Ha=ca}else Ha=Ga;if(!(f[l>>2]&134217728)){ca=Ha+1|0;f[p>>2]=ca;Ia=ca}else Ia=Ha;if(!(f[l>>2]&268435456)){ca=Ia+1|0;f[p>>2]=ca;Ja=ca}else Ja=Ia;if(!(f[l>>2]&536870912)){ca=Ja+1|0;f[p>>2]=ca;Ka=ca}else Ka=Ja;if(!(f[l>>2]&1073741824)){ca=Ka+1|0;f[p>>2]=ca;La=ca}else La=Ka;if((f[l>>2]|0)<=-1){Ma=La;break}ca=La+1|0;f[p>>2]=ca;Ma=ca}else{ca=0;m=da;while(1){if(!(f[l>>2]&1<>2]=ba;Na=ba}else Na=m;if((ca|0)==31){Ma=Na;break e}ca=ca+1|0;if(!ca)break d;else m=Na}}while(0);l=l+4|0;if((q|0)==(l|0))break;else{da=Ma;ea=1}}}else{if(ga){ea=0;da=a;l=0;while(1){if(!(f[da>>2]&1)){m=l+1|0;f[p>>2]=m;Oa=m;Pa=m}else{Oa=l;Pa=ea}if(!(f[da>>2]&2)){m=Oa+1|0;f[p>>2]=m;Qa=m;Ra=m}else{Qa=Oa;Ra=Pa}if(!(f[da>>2]&4)){m=Qa+1|0;f[p>>2]=m;Sa=m;Ta=m}else{Sa=Qa;Ta=Ra}if(!(f[da>>2]&8)){m=Sa+1|0;f[p>>2]=m;Ua=m;Va=m}else{Ua=Sa;Va=Ta}if(!(f[da>>2]&16)){m=Ua+1|0;f[p>>2]=m;Wa=m;Xa=m}else{Wa=Ua;Xa=Va}if(!(f[da>>2]&32)){m=Wa+1|0;f[p>>2]=m;Ya=m;Za=m}else{Ya=Wa;Za=Xa}if(!(f[da>>2]&64)){m=Ya+1|0;f[p>>2]=m;_a=m;$a=m}else{_a=Ya;$a=Za}if(!(f[da>>2]&128)){m=_a+1|0;f[p>>2]=m;ab=m;bb=m}else{ab=_a;bb=$a}if(!(f[da>>2]&256)){m=ab+1|0;f[p>>2]=m;cb=m;db=m}else{cb=ab;db=bb}if(!(f[da>>2]&512)){m=cb+1|0;f[p>>2]=m;eb=m;fb=m}else{eb=cb;fb=db}if(!(f[da>>2]&1024)){m=eb+1|0;f[p>>2]=m;gb=m;hb=m}else{gb=eb;hb=fb}if(!(f[da>>2]&2048)){m=gb+1|0;f[p>>2]=m;ib=m;jb=m}else{ib=gb;jb=hb}if(!(f[da>>2]&4096)){m=ib+1|0;f[p>>2]=m;kb=m;lb=m}else{kb=ib;lb=jb}if(!(f[da>>2]&8192)){m=kb+1|0;f[p>>2]=m;mb=m;nb=m}else{mb=kb;nb=lb}if(!(f[da>>2]&16384)){m=mb+1|0;f[p>>2]=m;ob=m;pb=m}else{ob=mb;pb=nb}if(!(f[da>>2]&32768)){m=ob+1|0;f[p>>2]=m;qb=m;rb=m}else{qb=ob;rb=pb}if(!(f[da>>2]&65536)){m=qb+1|0;f[p>>2]=m;sb=m;tb=m}else{sb=qb;tb=rb}if(!(f[da>>2]&131072)){m=sb+1|0;f[p>>2]=m;ub=m;vb=m}else{ub=sb;vb=tb}if(!(f[da>>2]&262144)){m=ub+1|0;f[p>>2]=m;wb=m;xb=m}else{wb=ub;xb=vb}if(!(f[da>>2]&524288)){m=wb+1|0;f[p>>2]=m;yb=m;zb=m}else{yb=wb;zb=xb}if(!(f[da>>2]&1048576)){m=yb+1|0;f[p>>2]=m;Ab=m;Bb=m}else{Ab=yb;Bb=zb}if(!(f[da>>2]&2097152)){m=Ab+1|0;f[p>>2]=m;Cb=m;Db=m}else{Cb=Ab;Db=Bb}if(!(f[da>>2]&4194304)){m=Cb+1|0;f[p>>2]=m;Eb=m;Fb=m}else{Eb=Cb;Fb=Db}if(!(f[da>>2]&8388608)){m=Eb+1|0;f[p>>2]=m;Gb=m;Hb=m}else{Gb=Eb;Hb=Fb}if(!(f[da>>2]&16777216)){m=Gb+1|0;f[p>>2]=m;Ib=m;Jb=m}else{Ib=Gb;Jb=Hb}if(!(f[da>>2]&33554432)){m=Ib+1|0;f[p>>2]=m;Kb=m;Lb=m}else{Kb=Ib;Lb=Jb}if(!(f[da>>2]&67108864)){m=Kb+1|0;f[p>>2]=m;Mb=m;Nb=m}else{Mb=Kb;Nb=Lb}if(!(f[da>>2]&134217728)){m=Mb+1|0;f[p>>2]=m;Ob=m;Pb=m}else{Ob=Mb;Pb=Nb}if(!(f[da>>2]&268435456)){m=Ob+1|0;f[p>>2]=m;Qb=m;Rb=m}else{Qb=Ob;Rb=Pb}if(!(f[da>>2]&536870912)){m=Qb+1|0;f[p>>2]=m;Sb=m;Tb=m}else{Sb=Qb;Tb=Rb}if(!(f[da>>2]&1073741824)){m=Sb+1|0;f[p>>2]=m;Ub=m;Vb=m}else{Ub=Sb;Vb=Tb}if((f[da>>2]|0)>-1){m=Ub+1|0;f[p>>2]=m;Wb=m;Xb=m}else{Wb=Ub;Xb=Vb}m=da+4|0;if((q|0)==(m|0)){Yb=m;Zb=Xb;break}else{ea=Xb;da=m;l=Wb}}}else{Yb=a;Zb=0}l=0;da=Zb;while(1){if(!(f[Yb>>2]&1<>2]=ea;_b=ea}else _b=da;l=l+1|0;if((l|0)==(S|0))break;else da=_b}}while(0);_b=f[e>>2]|0;if(_b|0)ip(_b);_b=f[d>>2]|0;if(!_b){u=c;return 1}ip(_b);u=c;return 1}function eb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+60|0;k=c+56|0;l=c+48|0;m=c;n=c+52|0;o=c+44|0;p=c+40|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;ip(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=b[s+36>>0]|0;v=(t&255)<<8;do if(((v|h[s+37>>0])&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=Rl(B|0,f[A+4>>2]|0,4,0)|0;A=I;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=14}}else if(Ph(e,w)|0){w=f[r>>2]|0;D=w;E=b[w+36>>0]|0;F=f[e>>2]|0;G=14}if((G|0)==14){f[q>>2]=F;H=E;J=D;break}K=0;u=c;return K|0}else{H=t;J=s}while(0);s=f[J+32>>2]|0;if(((H&255)<<8&65535)<512){J=s+8|0;t=f[J>>2]|0;D=f[J+4>>2]|0;J=s+16|0;E=J;F=f[E>>2]|0;q=Rl(F|0,f[E+4>>2]|0,4,0)|0;E=I;if((D|0)<(E|0)|(D|0)==(E|0)&t>>>0>>0)L=0;else{t=(f[s>>2]|0)+F|0;F=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;f[g>>2]=F;t=J;f[t>>2]=q;f[t+4>>2]=E;M=F;N=H;O=s;G=21}}else if(Ph(g,s)|0){s=f[r>>2]|0;M=f[g>>2]|0;N=b[s+36>>0]|0;O=f[s+32>>2]|0;G=21}else L=0;if((G|0)==21){s=a+156|0;f[s>>2]=M;if(((N&255)<<8&65535)<512){N=O+8|0;M=f[N>>2]|0;g=f[N+4>>2]|0;N=O+16|0;H=N;F=f[H>>2]|0;E=Rl(F|0,f[H+4>>2]|0,4,0)|0;H=I;if((g|0)<(H|0)|(g|0)==(H|0)&M>>>0>>0)P=0;else{M=(f[O>>2]|0)+F|0;F=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[i>>2]=F;M=N;f[M>>2]=E;f[M+4>>2]=H;Q=F;G=26}}else if(Ph(i,O)|0){Q=f[i>>2]|0;G=26}else P=0;do if((G|0)==26)if(Q>>>0<=1431655765){O=f[a+24>>2]|0;F=a+28|0;H=f[F>>2]|0;if((H|0)!=(O|0))f[F>>2]=H+(~((H+-4-O|0)>>>2)<<2);O=Vk(88)|0;Yj(O);H=a+8|0;F=f[H>>2]|0;f[H>>2]=O;if(F|0?(Ug(F),ip(F),(f[H>>2]|0)==0):0){P=0;break}F=a+160|0;O=f[F>>2]|0;M=a+164|0;E=f[M>>2]|0;if((E|0)!=(O|0))f[M>>2]=E+(~((E+-4-O|0)>>>2)<<2);oi(F,f[i>>2]|0);F=a+172|0;O=f[F>>2]|0;E=a+176|0;M=f[E>>2]|0;if((M|0)!=(O|0))f[E>>2]=M+(~((M+-4-O|0)>>>2)<<2);oi(F,f[i>>2]|0);F=f[a+36>>2]|0;O=a+40|0;M=f[O>>2]|0;if((M|0)!=(F|0))f[O>>2]=M+(~(((M+-12-F|0)>>>0)/12|0)*12|0);F=f[a+48>>2]|0;M=a+52|0;O=f[M>>2]|0;if((O|0)!=(F|0))f[M>>2]=O+(~((O+-4-F|0)>>>2)<<2);f[a+64>>2]=0;F=f[a+72>>2]|0;O=a+76|0;M=f[O>>2]|0;if((M|0)!=(F|0))f[O>>2]=M+(~((M+-4-F|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;F=f[(f[r>>2]|0)+32>>2]|0;M=F+8|0;O=f[M+4>>2]|0;E=F+16|0;N=E;g=f[N>>2]|0;t=f[N+4>>2]|0;if((O|0)>(t|0)|((O|0)==(t|0)?(f[M>>2]|0)>>>0>g>>>0:0)){M=b[(f[F>>2]|0)+g>>0]|0;F=Rl(g|0,t|0,1,0)|0;t=E;f[t>>2]=F;f[t+4>>2]=I;t=a+212|0;F=f[t>>2]|0;E=a+216|0;g=f[E>>2]|0;if((g|0)!=(F|0)){O=g;do{f[E>>2]=O+-144;g=f[O+-12>>2]|0;if(g|0){N=O+-8|0;q=f[N>>2]|0;if((q|0)!=(g|0))f[N>>2]=q+(~((q+-4-g|0)>>>2)<<2);ip(g)}g=f[O+-28>>2]|0;if(g|0){q=O+-24|0;N=f[q>>2]|0;if((N|0)!=(g|0))f[q>>2]=N+(~((N+-4-g|0)>>>2)<<2);ip(g)}g=f[O+-40>>2]|0;if(g|0){N=O+-36|0;q=f[N>>2]|0;if((q|0)!=(g|0))f[N>>2]=q+(~((q+-4-g|0)>>>2)<<2);ip(g)}$g(O+-140|0);O=f[E>>2]|0}while((O|0)!=(F|0))}F=M&255;qg(t,F);O=f[r>>2]|0;g=f[O+32>>2]|0;if((h[O+36>>0]<<8&65535)<512){O=g+8|0;q=f[O>>2]|0;N=f[O+4>>2]|0;O=g+16|0;J=O;D=f[J>>2]|0;v=Rl(D|0,f[J+4>>2]|0,4,0)|0;J=I;if((N|0)<(J|0)|(N|0)==(J|0)&q>>>0>>0)R=0;else{q=(f[g>>2]|0)+D|0;D=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;f[k>>2]=D;q=O;f[q>>2]=v;f[q+4>>2]=J;S=D;G=61}}else if(Ph(k,g)|0){S=f[k>>2]|0;G=61}else R=0;if((G|0)==61){g=f[i>>2]|0;if(g>>>0>>0)R=0;else{D=f[r>>2]|0;J=f[D+32>>2]|0;do if((h[D+36>>0]<<8&65535)<512){q=J+8|0;v=f[q>>2]|0;O=f[q+4>>2]|0;q=J+16|0;N=q;w=f[N>>2]|0;B=Rl(w|0,f[N+4>>2]|0,4,0)|0;N=I;if((O|0)<(N|0)|(O|0)==(N|0)&v>>>0>>0){T=0;break}v=(f[J>>2]|0)+w|0;w=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;f[l>>2]=w;v=q;f[v>>2]=B;f[v+4>>2]=N;U=w;V=g;G=67}else{if(!(Ph(l,J)|0)){T=0;break}U=f[l>>2]|0;V=f[i>>2]|0;G=67}while(0);a:do if((G|0)==67){if(!(ph(f[H>>2]|0,V,U+(f[s>>2]|0)|0)|0)){T=0;break}J=(f[l>>2]|0)+(f[s>>2]|0)|0;b[e>>0]=1;Nf(a+120|0,J,e);J=f[r>>2]|0;g=h[J+36>>0]<<8;b:do if(((g|h[J+37>>0])&65535)>=514)if((Sb(a,f[J+32>>2]|0)|0)==-1){T=0;break a}else W=-1;else{D=f[J+32>>2]|0;do if((g&65535)<512){M=D+8|0;w=f[M>>2]|0;N=f[M+4>>2]|0;M=D+16|0;v=M;B=f[v>>2]|0;q=Rl(B|0,f[v+4>>2]|0,4,0)|0;v=I;if((N|0)<(v|0)|(N|0)==(v|0)&w>>>0>>0)break;w=(f[D>>2]|0)+B|0;B=h[w>>0]|h[w+1>>0]<<8|h[w+2>>0]<<16|h[w+3>>0]<<24;f[e>>2]=B;w=M;f[w>>2]=q;f[w+4>>2]=v;X=B;G=74}else{if(!(Ph(e,D)|0))break;X=f[e>>2]|0;G=74}while(0);do if((G|0)==74){if(!X)break;D=f[(f[r>>2]|0)+32>>2]|0;B=D+8|0;v=D+16|0;D=Tl(f[B>>2]|0,f[B+4>>2]|0,f[v>>2]|0,f[v+4>>2]|0)|0;v=I;if((v|0)<0|(v|0)==0&D>>>0>>0)break;uk(m);D=f[(f[r>>2]|0)+32>>2]|0;v=D+16|0;B=f[v>>2]|0;w=f[e>>2]|0;q=(f[D>>2]|0)+B+w|0;M=D+8|0;N=Tl(f[M>>2]|0,f[M+4>>2]|0,B|0,f[v+4>>2]|0)|0;v=Tl(N|0,I|0,w|0,0)|0;Ok(m,q,v,d[D+38>>1]|0);D=Sb(a,m)|0;if((D|0)==-1)break;W=D;break b}while(0);T=0;break a}while(0);g=a+224|0;f[a+368>>2]=a;J=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;D=f[J>>2]|0;J=(f[D>>2]|0)+(f[D+16>>2]|0)|0;D=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;v=f[D>>2]|0;D=v+8|0;q=v+16|0;v=Tl(f[D>>2]|0,f[D+4>>2]|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Ok(g,J,v,d[(f[q>>2]|0)+38>>1]|0);q=Pa[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+372>>2]=q;f[a+376>>2]=(f[l>>2]|0)+(f[s>>2]|0);f[a+364>>2]=F;uk(m);c:do if(Uf(g,m)|0){q=$a(a,f[k>>2]|0)|0;if((q|0)==-1){Y=0;break}v=f[(f[r>>2]|0)+32>>2]|0;J=m+16|0;D=f[J>>2]|0;w=(f[m>>2]|0)+D|0;N=m+8|0;B=Tl(f[N>>2]|0,f[N+4>>2]|0,D|0,f[J+4>>2]|0)|0;Ok(v,w,B,d[v+38>>1]|0);v=f[r>>2]|0;B=(h[v+36>>0]<<8|h[v+37>>0])&65535;if((B&65535)<514){w=(f[v+32>>2]|0)+16|0;v=w;J=Rl(f[v>>2]|0,f[v+4>>2]|0,W|0,((W|0)<0)<<31>>31|0)|0;v=w;f[v>>2]=J;f[v+4>>2]=I}do if((f[E>>2]|0)!=(f[t>>2]|0)){v=f[H>>2]|0;J=(f[v+4>>2]|0)!=(f[v>>2]|0);if((B&65535)<513){if(!J)break;v=0;do{f[n>>2]=v;f[e>>2]=f[n>>2];v=v+3|0;if(!(bc(a,e)|0)){Y=0;break c}w=f[H>>2]|0}while(v>>>0<(f[w+4>>2]|0)-(f[w>>2]|0)>>2>>>0)}else{if(!J)break;v=0;do{f[o>>2]=v;f[e>>2]=f[o>>2];v=v+3|0;if(!(fc(a,e)|0)){Y=0;break c}w=f[H>>2]|0}while(v>>>0<(f[w+4>>2]|0)-(f[w>>2]|0)>>2>>>0)}}while(0);if(b[a+300>>0]|0)Wj(a+264|0);if((j[a+262>>1]|0)<514)Wj(a+320|0);B=f[t>>2]|0;if((f[E>>2]|0)!=(B|0)){v=0;J=B;do{Xf(J+(v*144|0)+4|0,f[H>>2]|0)|0;B=f[t>>2]|0;w=f[B+(v*144|0)+132>>2]|0;D=f[B+(v*144|0)+136>>2]|0;if((w|0)==(D|0))Z=B;else{N=w;w=B;while(1){f[p>>2]=f[N>>2];f[e>>2]=f[p>>2];zf(w+(v*144|0)+4|0,e);N=N+4|0;B=f[t>>2]|0;if((N|0)==(D|0)){Z=B;break}else w=B}}Ej(Z+(v*144|0)+4|0,0,0);v=v+1|0;J=f[t>>2]|0}while(v>>>0<(((f[E>>2]|0)-J|0)/144|0)>>>0)}J=f[H>>2]|0;v=(f[J+28>>2]|0)-(f[J+24>>2]|0)>>2;J=a+196|0;w=a+200|0;D=f[w>>2]|0;N=f[J>>2]|0;B=D-N>>2;M=N;N=D;do if(v>>>0>B>>>0)Ng(J,v-B|0);else{if(v>>>0>=B>>>0)break;D=M+(v<<2)|0;if((D|0)==(N|0))break;f[w>>2]=N+(~((N+-4-D|0)>>>2)<<2)}while(0);oi(a+184|0,v);N=f[t>>2]|0;if((f[E>>2]|0)!=(N|0)){w=0;M=N;do{N=M;B=(f[N+(w*144|0)+60>>2]|0)-(f[N+(w*144|0)+56>>2]|0)>>2;J=f[H>>2]|0;D=(f[J+28>>2]|0)-(f[J+24>>2]|0)>>2;J=(B|0)<(D|0)?D:B;B=N+(w*144|0)+116|0;D=N+(w*144|0)+120|0;O=f[D>>2]|0;A=f[B>>2]|0;y=O-A>>2;C=A;A=O;do if(J>>>0>y>>>0)Ng(B,J-y|0);else{if(J>>>0>=y>>>0)break;O=C+(J<<2)|0;if((O|0)==(A|0))break;f[D>>2]=A+(~((A+-4-O|0)>>>2)<<2)}while(0);oi(N+(w*144|0)+104|0,J);w=w+1|0;M=f[t>>2]|0}while(w>>>0<(((f[E>>2]|0)-M|0)/144|0)>>>0)}Y=Ab(a,q)|0}else Y=0;while(0);T=Y}while(0);R=T}}P=R}else P=0}else P=0;while(0);L=P}K=L;u=c;return K|0}function fb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+60|0;k=c+56|0;l=c+48|0;m=c;n=c+52|0;o=c+44|0;p=c+40|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;ip(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=b[s+36>>0]|0;v=(t&255)<<8;do if(((v|h[s+37>>0])&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=Rl(B|0,f[A+4>>2]|0,4,0)|0;A=I;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=14}}else if(Ph(e,w)|0){w=f[r>>2]|0;D=w;E=b[w+36>>0]|0;F=f[e>>2]|0;G=14}if((G|0)==14){f[q>>2]=F;H=E;J=D;break}K=0;u=c;return K|0}else{H=t;J=s}while(0);s=f[J+32>>2]|0;if(((H&255)<<8&65535)<512){J=s+8|0;t=f[J>>2]|0;D=f[J+4>>2]|0;J=s+16|0;E=J;F=f[E>>2]|0;q=Rl(F|0,f[E+4>>2]|0,4,0)|0;E=I;if((D|0)<(E|0)|(D|0)==(E|0)&t>>>0>>0)L=0;else{t=(f[s>>2]|0)+F|0;F=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;f[g>>2]=F;t=J;f[t>>2]=q;f[t+4>>2]=E;M=F;N=H;O=s;G=21}}else if(Ph(g,s)|0){s=f[r>>2]|0;M=f[g>>2]|0;N=b[s+36>>0]|0;O=f[s+32>>2]|0;G=21}else L=0;if((G|0)==21){s=a+156|0;f[s>>2]=M;if(((N&255)<<8&65535)<512){N=O+8|0;M=f[N>>2]|0;g=f[N+4>>2]|0;N=O+16|0;H=N;F=f[H>>2]|0;E=Rl(F|0,f[H+4>>2]|0,4,0)|0;H=I;if((g|0)<(H|0)|(g|0)==(H|0)&M>>>0>>0)P=0;else{M=(f[O>>2]|0)+F|0;F=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[i>>2]=F;M=N;f[M>>2]=E;f[M+4>>2]=H;Q=F;G=26}}else if(Ph(i,O)|0){Q=f[i>>2]|0;G=26}else P=0;do if((G|0)==26)if(Q>>>0<=1431655765){O=f[a+24>>2]|0;F=a+28|0;H=f[F>>2]|0;if((H|0)!=(O|0))f[F>>2]=H+(~((H+-4-O|0)>>>2)<<2);O=Vk(88)|0;Yj(O);H=a+8|0;F=f[H>>2]|0;f[H>>2]=O;if(F|0?(Ug(F),ip(F),(f[H>>2]|0)==0):0){P=0;break}F=a+160|0;O=f[F>>2]|0;M=a+164|0;E=f[M>>2]|0;if((E|0)!=(O|0))f[M>>2]=E+(~((E+-4-O|0)>>>2)<<2);oi(F,f[i>>2]|0);F=a+172|0;O=f[F>>2]|0;E=a+176|0;M=f[E>>2]|0;if((M|0)!=(O|0))f[E>>2]=M+(~((M+-4-O|0)>>>2)<<2);oi(F,f[i>>2]|0);F=f[a+36>>2]|0;O=a+40|0;M=f[O>>2]|0;if((M|0)!=(F|0))f[O>>2]=M+(~(((M+-12-F|0)>>>0)/12|0)*12|0);F=f[a+48>>2]|0;M=a+52|0;O=f[M>>2]|0;if((O|0)!=(F|0))f[M>>2]=O+(~((O+-4-F|0)>>>2)<<2);f[a+64>>2]=0;F=f[a+72>>2]|0;O=a+76|0;M=f[O>>2]|0;if((M|0)!=(F|0))f[O>>2]=M+(~((M+-4-F|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;F=f[(f[r>>2]|0)+32>>2]|0;M=F+8|0;O=f[M+4>>2]|0;E=F+16|0;N=E;g=f[N>>2]|0;t=f[N+4>>2]|0;if((O|0)>(t|0)|((O|0)==(t|0)?(f[M>>2]|0)>>>0>g>>>0:0)){M=b[(f[F>>2]|0)+g>>0]|0;F=Rl(g|0,t|0,1,0)|0;t=E;f[t>>2]=F;f[t+4>>2]=I;t=a+212|0;F=f[t>>2]|0;E=a+216|0;g=f[E>>2]|0;if((g|0)!=(F|0)){O=g;do{f[E>>2]=O+-144;g=f[O+-12>>2]|0;if(g|0){N=O+-8|0;q=f[N>>2]|0;if((q|0)!=(g|0))f[N>>2]=q+(~((q+-4-g|0)>>>2)<<2);ip(g)}g=f[O+-28>>2]|0;if(g|0){q=O+-24|0;N=f[q>>2]|0;if((N|0)!=(g|0))f[q>>2]=N+(~((N+-4-g|0)>>>2)<<2);ip(g)}g=f[O+-40>>2]|0;if(g|0){N=O+-36|0;q=f[N>>2]|0;if((q|0)!=(g|0))f[N>>2]=q+(~((q+-4-g|0)>>>2)<<2);ip(g)}$g(O+-140|0);O=f[E>>2]|0}while((O|0)!=(F|0))}F=M&255;qg(t,F);O=f[r>>2]|0;g=f[O+32>>2]|0;if((h[O+36>>0]<<8&65535)<512){O=g+8|0;q=f[O>>2]|0;N=f[O+4>>2]|0;O=g+16|0;J=O;D=f[J>>2]|0;v=Rl(D|0,f[J+4>>2]|0,4,0)|0;J=I;if((N|0)<(J|0)|(N|0)==(J|0)&q>>>0>>0)R=0;else{q=(f[g>>2]|0)+D|0;D=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;f[k>>2]=D;q=O;f[q>>2]=v;f[q+4>>2]=J;S=D;G=61}}else if(Ph(k,g)|0){S=f[k>>2]|0;G=61}else R=0;if((G|0)==61){g=f[i>>2]|0;if(g>>>0>>0)R=0;else{D=f[r>>2]|0;J=f[D+32>>2]|0;do if((h[D+36>>0]<<8&65535)<512){q=J+8|0;v=f[q>>2]|0;O=f[q+4>>2]|0;q=J+16|0;N=q;w=f[N>>2]|0;B=Rl(w|0,f[N+4>>2]|0,4,0)|0;N=I;if((O|0)<(N|0)|(O|0)==(N|0)&v>>>0>>0){T=0;break}v=(f[J>>2]|0)+w|0;w=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;f[l>>2]=w;v=q;f[v>>2]=B;f[v+4>>2]=N;U=w;V=g;G=67}else{if(!(Ph(l,J)|0)){T=0;break}U=f[l>>2]|0;V=f[i>>2]|0;G=67}while(0);a:do if((G|0)==67){if(!(ph(f[H>>2]|0,V,U+(f[s>>2]|0)|0)|0)){T=0;break}J=(f[l>>2]|0)+(f[s>>2]|0)|0;b[e>>0]=1;Nf(a+120|0,J,e);J=f[r>>2]|0;g=h[J+36>>0]<<8;b:do if(((g|h[J+37>>0])&65535)>=514)if((Sb(a,f[J+32>>2]|0)|0)==-1){T=0;break a}else W=-1;else{D=f[J+32>>2]|0;do if((g&65535)<512){M=D+8|0;w=f[M>>2]|0;N=f[M+4>>2]|0;M=D+16|0;v=M;B=f[v>>2]|0;q=Rl(B|0,f[v+4>>2]|0,4,0)|0;v=I;if((N|0)<(v|0)|(N|0)==(v|0)&w>>>0>>0)break;w=(f[D>>2]|0)+B|0;B=h[w>>0]|h[w+1>>0]<<8|h[w+2>>0]<<16|h[w+3>>0]<<24;f[e>>2]=B;w=M;f[w>>2]=q;f[w+4>>2]=v;X=B;G=74}else{if(!(Ph(e,D)|0))break;X=f[e>>2]|0;G=74}while(0);do if((G|0)==74){if(!X)break;D=f[(f[r>>2]|0)+32>>2]|0;B=D+8|0;v=D+16|0;D=Tl(f[B>>2]|0,f[B+4>>2]|0,f[v>>2]|0,f[v+4>>2]|0)|0;v=I;if((v|0)<0|(v|0)==0&D>>>0>>0)break;uk(m);D=f[(f[r>>2]|0)+32>>2]|0;v=D+16|0;B=f[v>>2]|0;w=f[e>>2]|0;q=(f[D>>2]|0)+B+w|0;M=D+8|0;N=Tl(f[M>>2]|0,f[M+4>>2]|0,B|0,f[v+4>>2]|0)|0;v=Tl(N|0,I|0,w|0,0)|0;Ok(m,q,v,d[D+38>>1]|0);D=Sb(a,m)|0;if((D|0)==-1)break;W=D;break b}while(0);T=0;break a}while(0);g=a+224|0;f[a+368>>2]=a;J=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;D=f[J>>2]|0;J=(f[D>>2]|0)+(f[D+16>>2]|0)|0;D=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;v=f[D>>2]|0;D=v+8|0;q=v+16|0;v=Tl(f[D>>2]|0,f[D+4>>2]|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Ok(g,J,v,d[(f[q>>2]|0)+38>>1]|0);q=Pa[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+372>>2]=q;f[a+376>>2]=(f[l>>2]|0)+(f[s>>2]|0);f[a+364>>2]=F;uk(m);c:do if($b(g,m)|0){q=ab(a,f[k>>2]|0)|0;if((q|0)==-1){Y=0;break}v=f[(f[r>>2]|0)+32>>2]|0;J=m+16|0;D=f[J>>2]|0;w=(f[m>>2]|0)+D|0;N=m+8|0;B=Tl(f[N>>2]|0,f[N+4>>2]|0,D|0,f[J+4>>2]|0)|0;Ok(v,w,B,d[v+38>>1]|0);v=f[r>>2]|0;B=(h[v+36>>0]<<8|h[v+37>>0])&65535;if((B&65535)<514){w=(f[v+32>>2]|0)+16|0;v=w;J=Rl(f[v>>2]|0,f[v+4>>2]|0,W|0,((W|0)<0)<<31>>31|0)|0;v=w;f[v>>2]=J;f[v+4>>2]=I}do if((f[E>>2]|0)!=(f[t>>2]|0)){v=f[H>>2]|0;J=(f[v+4>>2]|0)!=(f[v>>2]|0);if((B&65535)<513){if(!J)break;v=0;do{f[n>>2]=v;f[e>>2]=f[n>>2];v=v+3|0;if(!(bc(a,e)|0)){Y=0;break c}w=f[H>>2]|0}while(v>>>0<(f[w+4>>2]|0)-(f[w>>2]|0)>>2>>>0)}else{if(!J)break;v=0;do{f[o>>2]=v;f[e>>2]=f[o>>2];v=v+3|0;if(!(fc(a,e)|0)){Y=0;break c}w=f[H>>2]|0}while(v>>>0<(f[w+4>>2]|0)-(f[w>>2]|0)>>2>>>0)}}while(0);if(b[a+300>>0]|0)Wj(a+264|0);if((j[a+262>>1]|0)<514)Wj(a+320|0);B=f[t>>2]|0;if((f[E>>2]|0)!=(B|0)){v=0;J=B;do{Xf(J+(v*144|0)+4|0,f[H>>2]|0)|0;B=f[t>>2]|0;w=f[B+(v*144|0)+132>>2]|0;D=f[B+(v*144|0)+136>>2]|0;if((w|0)==(D|0))Z=B;else{N=w;w=B;while(1){f[p>>2]=f[N>>2];f[e>>2]=f[p>>2];zf(w+(v*144|0)+4|0,e);N=N+4|0;B=f[t>>2]|0;if((N|0)==(D|0)){Z=B;break}else w=B}}Ej(Z+(v*144|0)+4|0,0,0);v=v+1|0;J=f[t>>2]|0}while(v>>>0<(((f[E>>2]|0)-J|0)/144|0)>>>0)}J=f[H>>2]|0;v=(f[J+28>>2]|0)-(f[J+24>>2]|0)>>2;J=a+196|0;w=a+200|0;D=f[w>>2]|0;N=f[J>>2]|0;B=D-N>>2;M=N;N=D;do if(v>>>0>B>>>0)Ng(J,v-B|0);else{if(v>>>0>=B>>>0)break;D=M+(v<<2)|0;if((D|0)==(N|0))break;f[w>>2]=N+(~((N+-4-D|0)>>>2)<<2)}while(0);oi(a+184|0,v);N=f[t>>2]|0;if((f[E>>2]|0)!=(N|0)){w=0;M=N;do{N=M;B=(f[N+(w*144|0)+60>>2]|0)-(f[N+(w*144|0)+56>>2]|0)>>2;J=f[H>>2]|0;D=(f[J+28>>2]|0)-(f[J+24>>2]|0)>>2;J=(B|0)<(D|0)?D:B;B=N+(w*144|0)+116|0;D=N+(w*144|0)+120|0;O=f[D>>2]|0;A=f[B>>2]|0;y=O-A>>2;C=A;A=O;do if(J>>>0>y>>>0)Ng(B,J-y|0);else{if(J>>>0>=y>>>0)break;O=C+(J<<2)|0;if((O|0)==(A|0))break;f[D>>2]=A+(~((A+-4-O|0)>>>2)<<2)}while(0);oi(N+(w*144|0)+104|0,J);w=w+1|0;M=f[t>>2]|0}while(w>>>0<(((f[E>>2]|0)-M|0)/144|0)>>>0)}Y=Ab(a,q)|0}else Y=0;while(0);T=Y}while(0);R=T}}P=R}else P=0}else P=0;while(0);L=P}K=L;u=c;return K|0}function gb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+60|0;k=c+56|0;l=c+48|0;m=c;n=c+52|0;o=c+44|0;p=c+40|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;ip(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=b[s+36>>0]|0;v=(t&255)<<8;do if(((v|h[s+37>>0])&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=Rl(B|0,f[A+4>>2]|0,4,0)|0;A=I;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=14}}else if(Ph(e,w)|0){w=f[r>>2]|0;D=w;E=b[w+36>>0]|0;F=f[e>>2]|0;G=14}if((G|0)==14){f[q>>2]=F;H=E;J=D;break}K=0;u=c;return K|0}else{H=t;J=s}while(0);s=f[J+32>>2]|0;if(((H&255)<<8&65535)<512){J=s+8|0;t=f[J>>2]|0;D=f[J+4>>2]|0;J=s+16|0;E=J;F=f[E>>2]|0;q=Rl(F|0,f[E+4>>2]|0,4,0)|0;E=I;if((D|0)<(E|0)|(D|0)==(E|0)&t>>>0>>0)L=0;else{t=(f[s>>2]|0)+F|0;F=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;f[g>>2]=F;t=J;f[t>>2]=q;f[t+4>>2]=E;M=F;N=H;O=s;G=21}}else if(Ph(g,s)|0){s=f[r>>2]|0;M=f[g>>2]|0;N=b[s+36>>0]|0;O=f[s+32>>2]|0;G=21}else L=0;if((G|0)==21){s=a+156|0;f[s>>2]=M;if(((N&255)<<8&65535)<512){N=O+8|0;M=f[N>>2]|0;g=f[N+4>>2]|0;N=O+16|0;H=N;F=f[H>>2]|0;E=Rl(F|0,f[H+4>>2]|0,4,0)|0;H=I;if((g|0)<(H|0)|(g|0)==(H|0)&M>>>0>>0)P=0;else{M=(f[O>>2]|0)+F|0;F=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;f[i>>2]=F;M=N;f[M>>2]=E;f[M+4>>2]=H;Q=F;G=26}}else if(Ph(i,O)|0){Q=f[i>>2]|0;G=26}else P=0;do if((G|0)==26)if(Q>>>0<=1431655765){O=f[a+24>>2]|0;F=a+28|0;H=f[F>>2]|0;if((H|0)!=(O|0))f[F>>2]=H+(~((H+-4-O|0)>>>2)<<2);O=Vk(88)|0;Yj(O);H=a+8|0;F=f[H>>2]|0;f[H>>2]=O;if(F|0?(Ug(F),ip(F),(f[H>>2]|0)==0):0){P=0;break}F=a+160|0;O=f[F>>2]|0;M=a+164|0;E=f[M>>2]|0;if((E|0)!=(O|0))f[M>>2]=E+(~((E+-4-O|0)>>>2)<<2);oi(F,f[i>>2]|0);F=a+172|0;O=f[F>>2]|0;E=a+176|0;M=f[E>>2]|0;if((M|0)!=(O|0))f[E>>2]=M+(~((M+-4-O|0)>>>2)<<2);oi(F,f[i>>2]|0);F=f[a+36>>2]|0;O=a+40|0;M=f[O>>2]|0;if((M|0)!=(F|0))f[O>>2]=M+(~(((M+-12-F|0)>>>0)/12|0)*12|0);F=f[a+48>>2]|0;M=a+52|0;O=f[M>>2]|0;if((O|0)!=(F|0))f[M>>2]=O+(~((O+-4-F|0)>>>2)<<2);f[a+64>>2]=0;F=f[a+72>>2]|0;O=a+76|0;M=f[O>>2]|0;if((M|0)!=(F|0))f[O>>2]=M+(~((M+-4-F|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;F=f[(f[r>>2]|0)+32>>2]|0;M=F+8|0;O=f[M+4>>2]|0;E=F+16|0;N=E;g=f[N>>2]|0;t=f[N+4>>2]|0;if((O|0)>(t|0)|((O|0)==(t|0)?(f[M>>2]|0)>>>0>g>>>0:0)){M=b[(f[F>>2]|0)+g>>0]|0;F=Rl(g|0,t|0,1,0)|0;t=E;f[t>>2]=F;f[t+4>>2]=I;t=a+212|0;F=f[t>>2]|0;E=a+216|0;g=f[E>>2]|0;if((g|0)!=(F|0)){O=g;do{f[E>>2]=O+-144;g=f[O+-12>>2]|0;if(g|0){N=O+-8|0;q=f[N>>2]|0;if((q|0)!=(g|0))f[N>>2]=q+(~((q+-4-g|0)>>>2)<<2);ip(g)}g=f[O+-28>>2]|0;if(g|0){q=O+-24|0;N=f[q>>2]|0;if((N|0)!=(g|0))f[q>>2]=N+(~((N+-4-g|0)>>>2)<<2);ip(g)}g=f[O+-40>>2]|0;if(g|0){N=O+-36|0;q=f[N>>2]|0;if((q|0)!=(g|0))f[N>>2]=q+(~((q+-4-g|0)>>>2)<<2);ip(g)}$g(O+-140|0);O=f[E>>2]|0}while((O|0)!=(F|0))}F=M&255;qg(t,F);O=f[r>>2]|0;g=f[O+32>>2]|0;if((h[O+36>>0]<<8&65535)<512){O=g+8|0;q=f[O>>2]|0;N=f[O+4>>2]|0;O=g+16|0;J=O;D=f[J>>2]|0;v=Rl(D|0,f[J+4>>2]|0,4,0)|0;J=I;if((N|0)<(J|0)|(N|0)==(J|0)&q>>>0>>0)R=0;else{q=(f[g>>2]|0)+D|0;D=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;f[k>>2]=D;q=O;f[q>>2]=v;f[q+4>>2]=J;S=D;G=61}}else if(Ph(k,g)|0){S=f[k>>2]|0;G=61}else R=0;if((G|0)==61){g=f[i>>2]|0;if(g>>>0>>0)R=0;else{D=f[r>>2]|0;J=f[D+32>>2]|0;do if((h[D+36>>0]<<8&65535)<512){q=J+8|0;v=f[q>>2]|0;O=f[q+4>>2]|0;q=J+16|0;N=q;w=f[N>>2]|0;B=Rl(w|0,f[N+4>>2]|0,4,0)|0;N=I;if((O|0)<(N|0)|(O|0)==(N|0)&v>>>0>>0){T=0;break}v=(f[J>>2]|0)+w|0;w=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;f[l>>2]=w;v=q;f[v>>2]=B;f[v+4>>2]=N;U=w;V=g;G=67}else{if(!(Ph(l,J)|0)){T=0;break}U=f[l>>2]|0;V=f[i>>2]|0;G=67}while(0);a:do if((G|0)==67){if(!(ph(f[H>>2]|0,V,U+(f[s>>2]|0)|0)|0)){T=0;break}J=(f[l>>2]|0)+(f[s>>2]|0)|0;b[e>>0]=1;Nf(a+120|0,J,e);J=f[r>>2]|0;g=h[J+36>>0]<<8;b:do if(((g|h[J+37>>0])&65535)>=514)if((Sb(a,f[J+32>>2]|0)|0)==-1){T=0;break a}else W=-1;else{D=f[J+32>>2]|0;do if((g&65535)<512){M=D+8|0;w=f[M>>2]|0;N=f[M+4>>2]|0;M=D+16|0;v=M;B=f[v>>2]|0;q=Rl(B|0,f[v+4>>2]|0,4,0)|0;v=I;if((N|0)<(v|0)|(N|0)==(v|0)&w>>>0>>0)break;w=(f[D>>2]|0)+B|0;B=h[w>>0]|h[w+1>>0]<<8|h[w+2>>0]<<16|h[w+3>>0]<<24;f[e>>2]=B;w=M;f[w>>2]=q;f[w+4>>2]=v;X=B;G=74}else{if(!(Ph(e,D)|0))break;X=f[e>>2]|0;G=74}while(0);do if((G|0)==74){if(!X)break;D=f[(f[r>>2]|0)+32>>2]|0;B=D+8|0;v=D+16|0;D=Tl(f[B>>2]|0,f[B+4>>2]|0,f[v>>2]|0,f[v+4>>2]|0)|0;v=I;if((v|0)<0|(v|0)==0&D>>>0>>0)break;uk(m);D=f[(f[r>>2]|0)+32>>2]|0;v=D+16|0;B=f[v>>2]|0;w=f[e>>2]|0;q=(f[D>>2]|0)+B+w|0;M=D+8|0;N=Tl(f[M>>2]|0,f[M+4>>2]|0,B|0,f[v+4>>2]|0)|0;v=Tl(N|0,I|0,w|0,0)|0;Ok(m,q,v,d[D+38>>1]|0);D=Sb(a,m)|0;if((D|0)==-1)break;W=D;break b}while(0);T=0;break a}while(0);g=a+224|0;f[a+368>>2]=a;J=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;D=f[J>>2]|0;J=(f[D>>2]|0)+(f[D+16>>2]|0)|0;D=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;v=f[D>>2]|0;D=v+8|0;q=v+16|0;v=Tl(f[D>>2]|0,f[D+4>>2]|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=(Pa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Ok(g,J,v,d[(f[q>>2]|0)+38>>1]|0);f[a+364>>2]=F;uk(m);c:do if(Nd(g,m)|0){q=bb(a,f[k>>2]|0)|0;if((q|0)==-1){Y=0;break}v=f[(f[r>>2]|0)+32>>2]|0;J=m+16|0;D=f[J>>2]|0;w=(f[m>>2]|0)+D|0;N=m+8|0;B=Tl(f[N>>2]|0,f[N+4>>2]|0,D|0,f[J+4>>2]|0)|0;Ok(v,w,B,d[v+38>>1]|0);v=f[r>>2]|0;B=(h[v+36>>0]<<8|h[v+37>>0])&65535;if((B&65535)<514){w=(f[v+32>>2]|0)+16|0;v=w;J=Rl(f[v>>2]|0,f[v+4>>2]|0,W|0,((W|0)<0)<<31>>31|0)|0;v=w;f[v>>2]=J;f[v+4>>2]=I}do if((f[E>>2]|0)!=(f[t>>2]|0)){v=f[H>>2]|0;J=(f[v+4>>2]|0)!=(f[v>>2]|0);if((B&65535)<513){if(!J)break;v=0;do{f[n>>2]=v;f[e>>2]=f[n>>2];v=v+3|0;if(!(bc(a,e)|0)){Y=0;break c}w=f[H>>2]|0}while(v>>>0<(f[w+4>>2]|0)-(f[w>>2]|0)>>2>>>0)}else{if(!J)break;v=0;do{f[o>>2]=v;f[e>>2]=f[o>>2];v=v+3|0;if(!(fc(a,e)|0)){Y=0;break c}w=f[H>>2]|0}while(v>>>0<(f[w+4>>2]|0)-(f[w>>2]|0)>>2>>>0)}}while(0);if(b[a+300>>0]|0)Wj(a+264|0);if((j[a+262>>1]|0)<514)Wj(a+320|0);B=f[t>>2]|0;if((f[E>>2]|0)!=(B|0)){v=0;J=B;do{Xf(J+(v*144|0)+4|0,f[H>>2]|0)|0;B=f[t>>2]|0;w=f[B+(v*144|0)+132>>2]|0;D=f[B+(v*144|0)+136>>2]|0;if((w|0)==(D|0))Z=B;else{N=w;w=B;while(1){f[p>>2]=f[N>>2];f[e>>2]=f[p>>2];zf(w+(v*144|0)+4|0,e);N=N+4|0;B=f[t>>2]|0;if((N|0)==(D|0)){Z=B;break}else w=B}}Ej(Z+(v*144|0)+4|0,0,0);v=v+1|0;J=f[t>>2]|0}while(v>>>0<(((f[E>>2]|0)-J|0)/144|0)>>>0)}J=f[H>>2]|0;v=(f[J+28>>2]|0)-(f[J+24>>2]|0)>>2;J=a+196|0;w=a+200|0;D=f[w>>2]|0;N=f[J>>2]|0;B=D-N>>2;M=N;N=D;do if(v>>>0>B>>>0)Ng(J,v-B|0);else{if(v>>>0>=B>>>0)break;D=M+(v<<2)|0;if((D|0)==(N|0))break;f[w>>2]=N+(~((N+-4-D|0)>>>2)<<2)}while(0);oi(a+184|0,v);N=f[t>>2]|0;if((f[E>>2]|0)!=(N|0)){w=0;M=N;do{N=M;B=(f[N+(w*144|0)+60>>2]|0)-(f[N+(w*144|0)+56>>2]|0)>>2;J=f[H>>2]|0;D=(f[J+28>>2]|0)-(f[J+24>>2]|0)>>2;J=(B|0)<(D|0)?D:B;B=N+(w*144|0)+116|0;D=N+(w*144|0)+120|0;O=f[D>>2]|0;A=f[B>>2]|0;y=O-A>>2;C=A;A=O;do if(J>>>0>y>>>0)Ng(B,J-y|0);else{if(J>>>0>=y>>>0)break;O=C+(J<<2)|0;if((O|0)==(A|0))break;f[D>>2]=A+(~((A+-4-O|0)>>>2)<<2)}while(0);oi(N+(w*144|0)+104|0,J);w=w+1|0;M=f[t>>2]|0}while(w>>>0<(((f[E>>2]|0)-M|0)/144|0)>>>0)}Y=Ab(a,q)|0}else Y=0;while(0);T=Y}while(0);R=T}}P=R}else P=0}else P=0;while(0);L=P}K=L;u=c;return K|0}function hb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0;e=u;u=u+32|0;g=e;h=a+8|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)zo(g);else{k=i<<2;l=Vk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+116|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);ip(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[g>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[g+8>>2];f[g>>2]=0;q=g+4|0;f[q>>2]=0;f[g+8>>2]=0;do if(t)if(t>>>0>1073741823)zo(g);else{s=t<<2;p=Vk(s)|0;f[g>>2]=p;r=p+(t<<2)|0;f[g+8>>2]=r;Dh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+128|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);ip(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[g>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;oc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;if(A|0){c=a+104|0;q=d+16|0;p=d+20|0;r=d+28|0;v=d+12|0;d=a+92|0;w=a+48|0;m=a+44|0;j=a+28|0;k=a+24|0;i=a+88|0;n=a+84|0;o=A;while(1){A=f[s>>2]|0;B=o+-1|0;C=A+B|0;D=f[z>>2]|0;E=f[D+(((C>>>0)/341|0)<<2)>>2]|0;F=(C>>>0)%341|0;C=f[E+(F*12|0)>>2]|0;G=f[E+(F*12|0)+4>>2]|0;H=f[E+(F*12|0)+8>>2]|0;f[y>>2]=B;B=f[x>>2]|0;F=B-D>>2;if((1-o-A+((F|0)==0?0:(F*341|0)+-1|0)|0)>>>0>681){ip(f[B+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}B=f[l>>2]|0;F=B+(H*12|0)|0;A=(f[t>>2]|0)+(H*12|0)|0;D=ml(a,C,A,G)|0;G=(f[a>>2]|0)-(f[(f[A>>2]|0)+(D<<2)>>2]|0)|0;a:do if(!G)if((C|0)>0){E=0;I=f[p>>2]|0;J=f[q>>2]|0;while(1){if((I|0)==(J|0)){K=J;L=J}else{M=0;N=J;while(1){O=N;P=f[O+(M*20|0)>>2]|0;Q=O+(M*20|0)+12|0;R=O+(M*20|0)+16|0;S=(f[F>>2]|0)+(f[O+(M*20|0)+4>>2]<<2)|0;O=f[Q>>2]|0;if((O|0)!=4){T=f[v>>2]|0;if(!(f[R>>2]|0))U=T;else{V=T;T=0;W=O;while(1){Jf(V|0,S+(T<<2)|0,W|0)|0;T=T+1|0;O=f[Q>>2]|0;if(T>>>0>=(f[R>>2]|0)>>>0)break;else{V=V+O|0;W=O}}U=f[v>>2]|0}}else U=S;W=f[r>>2]|0;if(!(b[P+84>>0]|0))X=f[(f[P+68>>2]|0)+(W<<2)>>2]|0;else X=W;W=P+40|0;V=f[W>>2]|0;R=_k(V|0,f[W+4>>2]|0,X|0,0)|0;Jf((f[f[P+64>>2]>>2]|0)+R|0,U|0,V|0)|0;M=M+1|0;V=f[p>>2]|0;R=f[q>>2]|0;if(M>>>0>=((V-R|0)/20|0)>>>0){K=R;L=V;break}else N=R}}f[r>>2]=(f[r>>2]|0)+1;E=E+1|0;if((E|0)==(C|0)){Y=23;break}else{I=L;J=K}}}else Y=23;else if(C>>>0<3){J=f[c>>2]|0;f[J>>2]=D;I=f[h>>2]|0;if(I>>>0>1){E=1;N=I;M=D;while(1){M=(M|0)==(N+-1|0)?0:M+1|0;f[J+(E<<2)>>2]=M;E=E+1|0;R=f[h>>2]|0;if(E>>>0>=R>>>0){Z=R;break}else N=R}}else Z=I;if(!C){Y=23;break}N=0;E=Z;while(1){if(E|0){M=f[c>>2]|0;J=f[d>>2]|0;R=f[A>>2]|0;V=f[F>>2]|0;W=0;do{T=M+(W<<2)|0;f[J+(f[T>>2]<<2)>>2]=0;Q=f[T>>2]|0;O=(f[a>>2]|0)-(f[R+(Q<<2)>>2]|0)|0;do if(O|0){$=J+(Q<<2)|0;aa=f[w>>2]|0;ba=32-aa|0;ca=f[m>>2]|0;da=f[ca>>2]<(ba|0)){aa=O-ba|0;f[w>>2]=aa;ea=ca+4|0;f[m>>2]=ea;fa=32-aa|0;f[$>>2]=(f[ea>>2]|0)>>>fa|da>>>(fa-ba|0);break}f[$>>2]=da>>>(32-O|0);da=(f[w>>2]|0)+O|0;f[w>>2]=da;if((da|0)!=32)break;f[m>>2]=ca+4;f[w>>2]=0}while(0);O=f[T>>2]|0;Q=J+(O<<2)|0;f[Q>>2]=f[Q>>2]|f[V+(O<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0)}W=f[q>>2]|0;if((f[p>>2]|0)!=(W|0)){V=0;J=W;do{W=J;R=f[W+(V*20|0)>>2]|0;M=W+(V*20|0)+12|0;O=W+(V*20|0)+16|0;Q=(f[d>>2]|0)+(f[W+(V*20|0)+4>>2]<<2)|0;W=f[M>>2]|0;do if((W|0)==4)ga=Q;else{P=f[v>>2]|0;if(!(f[O>>2]|0)){ga=P;break}else{ha=P;ia=0;ja=W}while(1){Jf(ha|0,Q+(ia<<2)|0,ja|0)|0;ia=ia+1|0;P=f[M>>2]|0;if(ia>>>0>=(f[O>>2]|0)>>>0)break;else{ha=ha+P|0;ja=P}}ga=f[v>>2]|0}while(0);O=f[r>>2]|0;if(!(b[R+84>>0]|0))ka=f[(f[R+68>>2]|0)+(O<<2)>>2]|0;else ka=O;O=R+40|0;M=f[O>>2]|0;Q=_k(M|0,f[O+4>>2]|0,ka|0,0)|0;Jf((f[f[R+64>>2]>>2]|0)+Q|0,ga|0,M|0)|0;V=V+1|0;J=f[q>>2]|0}while(V>>>0<(((f[p>>2]|0)-J|0)/20|0)>>>0)}f[r>>2]=(f[r>>2]|0)+1;J=N+1|0;if((J|0)==(C|0)){Y=23;break a}N=J;E=f[h>>2]|0}}else{E=H+1|0;N=f[l>>2]|0;I=N+(E*12|0)|0;if((I|0)==(F|0))la=N;else{lf(I,f[F>>2]|0,f[B+(H*12|0)+4>>2]|0);la=f[l>>2]|0}I=(f[la+(E*12|0)>>2]|0)+(D<<2)|0;f[I>>2]=(f[I>>2]|0)+(1<>2]|0;J=32-N|0;V=f[k>>2]|0;M=f[V>>2]<>>(32-I|0);O=N+I|0;f[j>>2]=O;if((O|0)==32){f[k>>2]=V+4;f[j>>2]=0;ma=Q}else ma=Q}else{Q=I-J|0;f[j>>2]=Q;I=V+4|0;f[k>>2]=I;V=32-Q|0;ma=(f[I>>2]|0)>>>V|M>>>(V-J|0)}J=(C>>>1)-ma|0;V=C-J|0;if((J|0)==(V|0)){na=J;oa=J}else{M=f[i>>2]|0;I=f[n>>2]|0;Q=(f[I>>2]&1<<31-M|0)!=0;O=M+1|0;f[i>>2]=O;if((O|0)==32){f[n>>2]=I+4;f[i>>2]=0}na=Q?J:V;oa=Q?V:J}J=f[t>>2]|0;V=f[J+(H*12|0)>>2]|0;Q=V+(D<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;lf(J+(E*12|0)|0,V,f[J+(H*12|0)+4>>2]|0);if(na|0){J=f[x>>2]|0;V=f[z>>2]|0;Q=J-V>>2;I=f[s>>2]|0;O=f[y>>2]|0;if((((Q|0)==0?0:(Q*341|0)+-1|0)|0)==(O+I|0)){oc(g);pa=f[y>>2]|0;qa=f[s>>2]|0;ra=f[x>>2]|0;sa=f[z>>2]|0}else{pa=O;qa=I;ra=J;sa=V}V=pa+qa|0;if((ra|0)==(sa|0))ta=0;else ta=(f[sa+(((V>>>0)/341|0)<<2)>>2]|0)+(((V>>>0)%341|0)*12|0)|0;f[ta>>2]=na;f[ta+4>>2]=D;f[ta+8>>2]=H;f[y>>2]=(f[y>>2]|0)+1}if(!oa){Y=23;break}V=f[x>>2]|0;J=f[z>>2]|0;I=V-J>>2;O=f[s>>2]|0;Q=f[y>>2]|0;if((((I|0)==0?0:(I*341|0)+-1|0)|0)==(Q+O|0)){oc(g);ua=f[y>>2]|0;va=f[s>>2]|0;wa=f[x>>2]|0;xa=f[z>>2]|0}else{ua=Q;va=O;wa=V;xa=J}J=ua+va|0;if((wa|0)==(xa|0))ya=0;else ya=(f[xa+(((J>>>0)/341|0)<<2)>>2]|0)+(((J>>>0)%341|0)*12|0)|0;f[ya>>2]=oa;f[ya+4>>2]=D;f[ya+8>>2]=E;E=(f[y>>2]|0)+1|0;f[y>>2]=E;za=E;break}while(0);if((Y|0)==23){Y=0;za=f[y>>2]|0}if(!za)break;else o=za}}za=f[z>>2]|0;o=f[s>>2]|0;ya=za+(((o>>>0)/341|0)<<2)|0;oa=f[x>>2]|0;xa=oa;wa=za;if((oa|0)==(za|0)){Aa=0;Ba=0}else{va=(f[ya>>2]|0)+(((o>>>0)%341|0)*12|0)|0;Aa=va;Ba=va}va=ya;ya=Ba;b:while(1){Ba=ya;do{o=Ba;if((Aa|0)==(o|0))break b;Ba=o+12|0}while((Ba-(f[va>>2]|0)|0)!=4092);Ba=va+4|0;va=Ba;ya=f[Ba>>2]|0}f[y>>2]=0;y=xa-wa>>2;if(y>>>0>2){wa=za;do{ip(f[wa>>2]|0);wa=(f[z>>2]|0)+4|0;f[z>>2]=wa;Ca=f[x>>2]|0;Da=Ca-wa>>2}while(Da>>>0>2);Ea=Da;Fa=wa;Ga=Ca}else{Ea=y;Fa=za;Ga=oa}switch(Ea|0){case 1:{Ha=170;Y=96;break}case 2:{Ha=341;Y=96;break}default:{}}if((Y|0)==96)f[s>>2]=Ha;if((Fa|0)!=(Ga|0)){Ha=Fa;do{ip(f[Ha>>2]|0);Ha=Ha+4|0}while((Ha|0)!=(Ga|0));Ga=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Ga|0))f[x>>2]=z+(~((z+-4-Ga|0)>>>2)<<2)}Ga=f[g>>2]|0;if(!Ga){u=e;return}ip(Ga);u=e;return}function ib(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;e=u;u=u+32|0;g=e;h=a+8|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)zo(g);else{k=i<<2;l=Vk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+116|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);ip(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[g>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[g+8>>2];f[g>>2]=0;q=g+4|0;f[q>>2]=0;f[g+8>>2]=0;do if(t)if(t>>>0>1073741823)zo(g);else{s=t<<2;p=Vk(s)|0;f[g>>2]=p;r=p+(t<<2)|0;f[g+8>>2]=r;Dh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+128|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);ip(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[g>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;oc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;if(A|0){c=a+104|0;q=d+16|0;p=d+20|0;r=d+28|0;v=d+12|0;d=a+92|0;w=a+48|0;m=a+44|0;j=a+28|0;k=a+24|0;i=a+88|0;n=a+84|0;o=A;while(1){A=f[s>>2]|0;B=o+-1|0;C=A+B|0;D=f[z>>2]|0;E=f[D+(((C>>>0)/341|0)<<2)>>2]|0;F=(C>>>0)%341|0;C=f[E+(F*12|0)>>2]|0;G=f[E+(F*12|0)+4>>2]|0;H=f[E+(F*12|0)+8>>2]|0;f[y>>2]=B;B=f[x>>2]|0;F=B-D>>2;if((1-o-A+((F|0)==0?0:(F*341|0)+-1|0)|0)>>>0>681){ip(f[B+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}B=f[l>>2]|0;F=B+(H*12|0)|0;A=((f[h>>2]|0)+-1|0)==(G|0)?0:G+1|0;G=(f[t>>2]|0)+(H*12|0)|0;D=(f[a>>2]|0)-(f[(f[G>>2]|0)+(A<<2)>>2]|0)|0;a:do if(!D)if((C|0)>0){E=0;I=f[p>>2]|0;J=f[q>>2]|0;while(1){if((I|0)==(J|0)){K=J;L=J}else{M=0;N=J;while(1){O=N;P=f[O+(M*20|0)>>2]|0;Q=O+(M*20|0)+12|0;R=O+(M*20|0)+16|0;S=(f[F>>2]|0)+(f[O+(M*20|0)+4>>2]<<2)|0;O=f[Q>>2]|0;if((O|0)!=4){T=f[v>>2]|0;if(!(f[R>>2]|0))U=T;else{V=T;T=0;W=O;while(1){Jf(V|0,S+(T<<2)|0,W|0)|0;T=T+1|0;O=f[Q>>2]|0;if(T>>>0>=(f[R>>2]|0)>>>0)break;else{V=V+O|0;W=O}}U=f[v>>2]|0}}else U=S;W=f[r>>2]|0;if(!(b[P+84>>0]|0))X=f[(f[P+68>>2]|0)+(W<<2)>>2]|0;else X=W;W=P+40|0;V=f[W>>2]|0;R=_k(V|0,f[W+4>>2]|0,X|0,0)|0;Jf((f[f[P+64>>2]>>2]|0)+R|0,U|0,V|0)|0;M=M+1|0;V=f[p>>2]|0;R=f[q>>2]|0;if(M>>>0>=((V-R|0)/20|0)>>>0){K=R;L=V;break}else N=R}}f[r>>2]=(f[r>>2]|0)+1;E=E+1|0;if((E|0)==(C|0)){Y=23;break}else{I=L;J=K}}}else Y=23;else{if(C>>>0>=3){J=H+1|0;lf(B+(J*12|0)|0,f[F>>2]|0,f[B+(H*12|0)+4>>2]|0);I=(f[(f[l>>2]|0)+(J*12|0)>>2]|0)+(A<<2)|0;f[I>>2]=(f[I>>2]|0)+(1<>2]|0;N=32-E|0;M=f[k>>2]|0;R=f[M>>2]<>>(32-I|0);W=E+I|0;f[j>>2]=W;if((W|0)==32){f[k>>2]=M+4;f[j>>2]=0;Z=V}else Z=V}else{V=I-N|0;f[j>>2]=V;I=M+4|0;f[k>>2]=I;M=32-V|0;Z=(f[I>>2]|0)>>>M|R>>>(M-N|0)}N=(C>>>1)-Z|0;M=C-N|0;if((N|0)==(M|0)){$=N;aa=N}else{R=f[i>>2]|0;I=f[n>>2]|0;V=(f[I>>2]&1<<31-R|0)!=0;W=R+1|0;f[i>>2]=W;if((W|0)==32){f[n>>2]=I+4;f[i>>2]=0}$=V?N:M;aa=V?M:N}N=f[t>>2]|0;M=f[N+(H*12|0)>>2]|0;V=M+(A<<2)|0;f[V>>2]=(f[V>>2]|0)+1;lf(N+(J*12|0)|0,M,f[N+(H*12|0)+4>>2]|0);if($|0){N=f[x>>2]|0;M=f[z>>2]|0;V=N-M>>2;I=f[s>>2]|0;W=f[y>>2]|0;if((((V|0)==0?0:(V*341|0)+-1|0)|0)==(W+I|0)){oc(g);ba=f[y>>2]|0;ca=f[s>>2]|0;da=f[x>>2]|0;ea=f[z>>2]|0}else{ba=W;ca=I;da=N;ea=M}M=ba+ca|0;if((da|0)==(ea|0))fa=0;else fa=(f[ea+(((M>>>0)/341|0)<<2)>>2]|0)+(((M>>>0)%341|0)*12|0)|0;f[fa>>2]=$;f[fa+4>>2]=A;f[fa+8>>2]=H;f[y>>2]=(f[y>>2]|0)+1}if(!aa){Y=23;break}M=f[x>>2]|0;N=f[z>>2]|0;I=M-N>>2;W=f[s>>2]|0;V=f[y>>2]|0;if((((I|0)==0?0:(I*341|0)+-1|0)|0)==(V+W|0)){oc(g);ga=f[y>>2]|0;ha=f[s>>2]|0;ia=f[x>>2]|0;ja=f[z>>2]|0}else{ga=V;ha=W;ia=M;ja=N}N=ga+ha|0;if((ia|0)==(ja|0))ka=0;else ka=(f[ja+(((N>>>0)/341|0)<<2)>>2]|0)+(((N>>>0)%341|0)*12|0)|0;f[ka>>2]=aa;f[ka+4>>2]=A;f[ka+8>>2]=J;J=(f[y>>2]|0)+1|0;f[y>>2]=J;la=J;break}J=f[c>>2]|0;f[J>>2]=A;N=f[h>>2]|0;if(N>>>0>1){M=1;W=N;V=A;while(1){V=(V|0)==(W+-1|0)?0:V+1|0;f[J+(M<<2)>>2]=V;M=M+1|0;I=f[h>>2]|0;if(M>>>0>=I>>>0){ma=I;break}else W=I}}else ma=N;if(!C)Y=23;else{W=0;M=ma;while(1){if(M|0){V=f[c>>2]|0;J=f[d>>2]|0;I=f[G>>2]|0;R=f[F>>2]|0;E=0;do{T=V+(E<<2)|0;f[J+(f[T>>2]<<2)>>2]=0;Q=f[T>>2]|0;O=(f[a>>2]|0)-(f[I+(Q<<2)>>2]|0)|0;do if(O|0){na=J+(Q<<2)|0;oa=f[w>>2]|0;pa=32-oa|0;qa=f[m>>2]|0;ra=f[qa>>2]<(pa|0)){oa=O-pa|0;f[w>>2]=oa;sa=qa+4|0;f[m>>2]=sa;ta=32-oa|0;f[na>>2]=(f[sa>>2]|0)>>>ta|ra>>>(ta-pa|0);break}f[na>>2]=ra>>>(32-O|0);ra=(f[w>>2]|0)+O|0;f[w>>2]=ra;if((ra|0)!=32)break;f[m>>2]=qa+4;f[w>>2]=0}while(0);O=f[T>>2]|0;Q=J+(O<<2)|0;f[Q>>2]=f[Q>>2]|f[R+(O<<2)>>2];E=E+1|0}while(E>>>0<(f[h>>2]|0)>>>0)}E=f[q>>2]|0;if((f[p>>2]|0)!=(E|0)){R=0;J=E;do{E=J;I=f[E+(R*20|0)>>2]|0;V=E+(R*20|0)+12|0;O=E+(R*20|0)+16|0;Q=(f[d>>2]|0)+(f[E+(R*20|0)+4>>2]<<2)|0;E=f[V>>2]|0;do if((E|0)==4)ua=Q;else{P=f[v>>2]|0;if(!(f[O>>2]|0)){ua=P;break}else{va=P;wa=0;xa=E}while(1){Jf(va|0,Q+(wa<<2)|0,xa|0)|0;wa=wa+1|0;P=f[V>>2]|0;if(wa>>>0>=(f[O>>2]|0)>>>0)break;else{va=va+P|0;xa=P}}ua=f[v>>2]|0}while(0);O=f[r>>2]|0;if(!(b[I+84>>0]|0))ya=f[(f[I+68>>2]|0)+(O<<2)>>2]|0;else ya=O;O=I+40|0;V=f[O>>2]|0;Q=_k(V|0,f[O+4>>2]|0,ya|0,0)|0;Jf((f[f[I+64>>2]>>2]|0)+Q|0,ua|0,V|0)|0;R=R+1|0;J=f[q>>2]|0}while(R>>>0<(((f[p>>2]|0)-J|0)/20|0)>>>0)}f[r>>2]=(f[r>>2]|0)+1;J=W+1|0;if((J|0)==(C|0)){Y=23;break a}W=J;M=f[h>>2]|0}}}while(0);if((Y|0)==23){Y=0;la=f[y>>2]|0}if(!la)break;else o=la}}la=f[z>>2]|0;o=f[s>>2]|0;h=la+(((o>>>0)/341|0)<<2)|0;r=f[x>>2]|0;p=r;q=la;if((r|0)==(la|0)){za=0;Aa=0}else{ua=(f[h>>2]|0)+(((o>>>0)%341|0)*12|0)|0;za=ua;Aa=ua}ua=h;h=Aa;b:while(1){Aa=h;do{o=Aa;if((za|0)==(o|0))break b;Aa=o+12|0}while((Aa-(f[ua>>2]|0)|0)!=4092);Aa=ua+4|0;ua=Aa;h=f[Aa>>2]|0}f[y>>2]=0;y=p-q>>2;if(y>>>0>2){q=la;do{ip(f[q>>2]|0);q=(f[z>>2]|0)+4|0;f[z>>2]=q;Ba=f[x>>2]|0;Ca=Ba-q>>2}while(Ca>>>0>2);Da=Ca;Ea=q;Fa=Ba}else{Da=y;Ea=la;Fa=r}switch(Da|0){case 1:{Ga=170;Y=94;break}case 2:{Ga=341;Y=94;break}default:{}}if((Y|0)==94)f[s>>2]=Ga;if((Ea|0)!=(Fa|0)){Ga=Ea;do{ip(f[Ga>>2]|0);Ga=Ga+4|0}while((Ga|0)!=(Fa|0));Fa=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Fa|0))f[x>>2]=z+(~((z+-4-Fa|0)>>>2)<<2)}Fa=f[g>>2]|0;if(!Fa){u=e;return}ip(Fa);u=e;return}function jb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0;e=u;u=u+32|0;g=e;h=a+8|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)zo(g);else{k=i<<2;l=Vk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+624|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);ip(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[g>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[g+8>>2];f[g>>2]=0;q=g+4|0;f[q>>2]=0;f[g+8>>2]=0;do if(t)if(t>>>0>1073741823)zo(g);else{s=t<<2;p=Vk(s)|0;f[g>>2]=p;r=p+(t<<2)|0;f[g+8>>2]=r;Dh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+636|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);ip(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[g>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;oc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;if(A|0){c=a+612|0;q=d+16|0;p=d+20|0;r=d+28|0;v=d+12|0;d=a+600|0;w=a+556|0;m=a+552|0;j=a+596|0;k=a+592|0;i=A;while(1){A=f[s>>2]|0;n=i+-1|0;o=A+n|0;B=f[z>>2]|0;C=f[B+(((o>>>0)/341|0)<<2)>>2]|0;D=(o>>>0)%341|0;o=f[C+(D*12|0)>>2]|0;E=f[C+(D*12|0)+4>>2]|0;F=f[C+(D*12|0)+8>>2]|0;f[y>>2]=n;n=f[x>>2]|0;D=n-B>>2;if((1-i-A+((D|0)==0?0:(D*341|0)+-1|0)|0)>>>0>681){ip(f[n+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}n=f[l>>2]|0;D=n+(F*12|0)|0;A=(f[t>>2]|0)+(F*12|0)|0;B=jh(a,o,A,E)|0;E=(f[a>>2]|0)-(f[(f[A>>2]|0)+(B<<2)>>2]|0)|0;a:do if(!E)if((o|0)>0){C=0;G=f[p>>2]|0;H=f[q>>2]|0;while(1){if((G|0)==(H|0)){I=H;J=H}else{K=0;L=H;while(1){M=L;N=f[M+(K*20|0)>>2]|0;O=M+(K*20|0)+12|0;P=M+(K*20|0)+16|0;Q=(f[D>>2]|0)+(f[M+(K*20|0)+4>>2]<<2)|0;M=f[O>>2]|0;if((M|0)!=4){R=f[v>>2]|0;if(!(f[P>>2]|0))S=R;else{T=R;R=0;U=M;while(1){Jf(T|0,Q+(R<<2)|0,U|0)|0;R=R+1|0;M=f[O>>2]|0;if(R>>>0>=(f[P>>2]|0)>>>0)break;else{T=T+M|0;U=M}}S=f[v>>2]|0}}else S=Q;U=f[r>>2]|0;if(!(b[N+84>>0]|0))V=f[(f[N+68>>2]|0)+(U<<2)>>2]|0;else V=U;U=N+40|0;T=f[U>>2]|0;P=_k(T|0,f[U+4>>2]|0,V|0,0)|0;Jf((f[f[N+64>>2]>>2]|0)+P|0,S|0,T|0)|0;K=K+1|0;T=f[p>>2]|0;P=f[q>>2]|0;if(K>>>0>=((T-P|0)/20|0)>>>0){I=P;J=T;break}else L=P}}f[r>>2]=(f[r>>2]|0)+1;C=C+1|0;if((C|0)==(o|0)){W=23;break}else{G=J;H=I}}}else W=23;else{if(o>>>0>=3){H=F+1|0;G=f[l>>2]|0;C=G+(H*12|0)|0;if((C|0)==(D|0))X=G;else{lf(C,f[D>>2]|0,f[n+(F*12|0)+4>>2]|0);X=f[l>>2]|0}C=(f[X+(H*12|0)>>2]|0)+(B<<2)|0;f[C>>2]=(f[C>>2]|0)+(1<>>1)-Y|0;C=o-L|0;if((L|0)==(C|0)){Z=L;$=L}else{G=f[j>>2]|0;K=f[k>>2]|0;P=(f[K>>2]&1<<31-G|0)!=0;T=G+1|0;f[j>>2]=T;if((T|0)==32){f[k>>2]=K+4;f[j>>2]=0}Z=P?L:C;$=P?C:L}L=f[t>>2]|0;C=f[L+(F*12|0)>>2]|0;P=C+(B<<2)|0;f[P>>2]=(f[P>>2]|0)+1;lf(L+(H*12|0)|0,C,f[L+(F*12|0)+4>>2]|0);if(Z|0){L=f[x>>2]|0;C=f[z>>2]|0;P=L-C>>2;K=f[s>>2]|0;T=f[y>>2]|0;if((((P|0)==0?0:(P*341|0)+-1|0)|0)==(T+K|0)){oc(g);aa=f[y>>2]|0;ba=f[s>>2]|0;ca=f[x>>2]|0;da=f[z>>2]|0}else{aa=T;ba=K;ca=L;da=C}C=aa+ba|0;if((ca|0)==(da|0))ea=0;else ea=(f[da+(((C>>>0)/341|0)<<2)>>2]|0)+(((C>>>0)%341|0)*12|0)|0;f[ea>>2]=Z;f[ea+4>>2]=B;f[ea+8>>2]=F;f[y>>2]=(f[y>>2]|0)+1}if(!$){W=23;break}C=f[x>>2]|0;L=f[z>>2]|0;K=C-L>>2;T=f[s>>2]|0;P=f[y>>2]|0;if((((K|0)==0?0:(K*341|0)+-1|0)|0)==(P+T|0)){oc(g);fa=f[y>>2]|0;ga=f[s>>2]|0;ha=f[x>>2]|0;ia=f[z>>2]|0}else{fa=P;ga=T;ha=C;ia=L}L=fa+ga|0;if((ha|0)==(ia|0))ja=0;else ja=(f[ia+(((L>>>0)/341|0)<<2)>>2]|0)+(((L>>>0)%341|0)*12|0)|0;f[ja>>2]=$;f[ja+4>>2]=B;f[ja+8>>2]=H;L=(f[y>>2]|0)+1|0;f[y>>2]=L;ka=L;break}L=f[c>>2]|0;f[L>>2]=B;C=f[h>>2]|0;if(C>>>0>1){T=1;P=C;K=B;while(1){K=(K|0)==(P+-1|0)?0:K+1|0;f[L+(T<<2)>>2]=K;T=T+1|0;G=f[h>>2]|0;if(T>>>0>=G>>>0){la=G;break}else P=G}}else la=C;if(!o)W=23;else{P=0;T=la;while(1){if(T|0){K=f[c>>2]|0;L=f[d>>2]|0;H=f[A>>2]|0;G=f[D>>2]|0;U=0;do{R=K+(U<<2)|0;f[L+(f[R>>2]<<2)>>2]=0;O=f[R>>2]|0;M=(f[a>>2]|0)-(f[H+(O<<2)>>2]|0)|0;do if(M|0){ma=L+(O<<2)|0;na=f[w>>2]|0;oa=32-na|0;pa=f[m>>2]|0;qa=f[pa>>2]<(oa|0)){na=M-oa|0;f[w>>2]=na;ra=pa+4|0;f[m>>2]=ra;sa=32-na|0;f[ma>>2]=(f[ra>>2]|0)>>>sa|qa>>>(sa-oa|0);break}f[ma>>2]=qa>>>(32-M|0);qa=(f[w>>2]|0)+M|0;f[w>>2]=qa;if((qa|0)!=32)break;f[m>>2]=pa+4;f[w>>2]=0}while(0);M=f[R>>2]|0;O=L+(M<<2)|0;f[O>>2]=f[O>>2]|f[G+(M<<2)>>2];U=U+1|0}while(U>>>0<(f[h>>2]|0)>>>0)}U=f[q>>2]|0;if((f[p>>2]|0)!=(U|0)){G=0;L=U;do{U=L;H=f[U+(G*20|0)>>2]|0;K=U+(G*20|0)+12|0;M=U+(G*20|0)+16|0;O=(f[d>>2]|0)+(f[U+(G*20|0)+4>>2]<<2)|0;U=f[K>>2]|0;do if((U|0)==4)ta=O;else{N=f[v>>2]|0;if(!(f[M>>2]|0)){ta=N;break}else{ua=N;va=0;wa=U}while(1){Jf(ua|0,O+(va<<2)|0,wa|0)|0;va=va+1|0;N=f[K>>2]|0;if(va>>>0>=(f[M>>2]|0)>>>0)break;else{ua=ua+N|0;wa=N}}ta=f[v>>2]|0}while(0);M=f[r>>2]|0;if(!(b[H+84>>0]|0))xa=f[(f[H+68>>2]|0)+(M<<2)>>2]|0;else xa=M;M=H+40|0;K=f[M>>2]|0;O=_k(K|0,f[M+4>>2]|0,xa|0,0)|0;Jf((f[f[H+64>>2]>>2]|0)+O|0,ta|0,K|0)|0;G=G+1|0;L=f[q>>2]|0}while(G>>>0<(((f[p>>2]|0)-L|0)/20|0)>>>0)}f[r>>2]=(f[r>>2]|0)+1;L=P+1|0;if((L|0)==(o|0)){W=23;break a}P=L;T=f[h>>2]|0}}}while(0);if((W|0)==23){W=0;ka=f[y>>2]|0}if(!ka)break;else i=ka}}ka=f[z>>2]|0;i=f[s>>2]|0;h=ka+(((i>>>0)/341|0)<<2)|0;r=f[x>>2]|0;p=r;q=ka;if((r|0)==(ka|0)){ya=0;za=0}else{ta=(f[h>>2]|0)+(((i>>>0)%341|0)*12|0)|0;ya=ta;za=ta}ta=h;h=za;b:while(1){za=h;do{i=za;if((ya|0)==(i|0))break b;za=i+12|0}while((za-(f[ta>>2]|0)|0)!=4092);za=ta+4|0;ta=za;h=f[za>>2]|0}f[y>>2]=0;y=p-q>>2;if(y>>>0>2){q=ka;do{ip(f[q>>2]|0);q=(f[z>>2]|0)+4|0;f[z>>2]=q;Aa=f[x>>2]|0;Ba=Aa-q>>2}while(Ba>>>0>2);Ca=Ba;Da=q;Ea=Aa}else{Ca=y;Da=ka;Ea=r}switch(Ca|0){case 1:{Fa=170;W=94;break}case 2:{Fa=341;W=94;break}default:{}}if((W|0)==94)f[s>>2]=Fa;if((Da|0)!=(Ea|0)){Fa=Da;do{ip(f[Fa>>2]|0);Fa=Fa+4|0}while((Fa|0)!=(Ea|0));Ea=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Ea|0))f[x>>2]=z+(~((z+-4-Ea|0)>>>2)<<2)}Ea=f[g>>2]|0;if(!Ea){u=e;return}ip(Ea);u=e;return}function kb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0;e=u;u=u+32|0;g=e;h=a+8|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)zo(g);else{k=i<<2;l=Vk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+624|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);ip(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[g>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[g+8>>2];f[g>>2]=0;q=g+4|0;f[q>>2]=0;f[g+8>>2]=0;do if(t)if(t>>>0>1073741823)zo(g);else{s=t<<2;p=Vk(s)|0;f[g>>2]=p;r=p+(t<<2)|0;f[g+8>>2]=r;Dh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+636|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);ip(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[g>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;oc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;if(A|0){c=a+612|0;q=d+16|0;p=d+20|0;r=d+28|0;v=d+12|0;d=a+600|0;w=a+556|0;m=a+552|0;j=a+596|0;k=a+592|0;i=A;while(1){A=f[s>>2]|0;n=i+-1|0;o=A+n|0;B=f[z>>2]|0;C=f[B+(((o>>>0)/341|0)<<2)>>2]|0;D=(o>>>0)%341|0;o=f[C+(D*12|0)>>2]|0;E=f[C+(D*12|0)+4>>2]|0;F=f[C+(D*12|0)+8>>2]|0;f[y>>2]=n;n=f[x>>2]|0;D=n-B>>2;if((1-i-A+((D|0)==0?0:(D*341|0)+-1|0)|0)>>>0>681){ip(f[n+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}n=f[l>>2]|0;D=n+(F*12|0)|0;A=(f[t>>2]|0)+(F*12|0)|0;B=ml(a,o,A,E)|0;E=(f[a>>2]|0)-(f[(f[A>>2]|0)+(B<<2)>>2]|0)|0;a:do if(!E)if((o|0)>0){C=0;G=f[p>>2]|0;H=f[q>>2]|0;while(1){if((G|0)==(H|0)){I=H;J=H}else{K=0;L=H;while(1){M=L;N=f[M+(K*20|0)>>2]|0;O=M+(K*20|0)+12|0;P=M+(K*20|0)+16|0;Q=(f[D>>2]|0)+(f[M+(K*20|0)+4>>2]<<2)|0;M=f[O>>2]|0;if((M|0)!=4){R=f[v>>2]|0;if(!(f[P>>2]|0))S=R;else{T=R;R=0;U=M;while(1){Jf(T|0,Q+(R<<2)|0,U|0)|0;R=R+1|0;M=f[O>>2]|0;if(R>>>0>=(f[P>>2]|0)>>>0)break;else{T=T+M|0;U=M}}S=f[v>>2]|0}}else S=Q;U=f[r>>2]|0;if(!(b[N+84>>0]|0))V=f[(f[N+68>>2]|0)+(U<<2)>>2]|0;else V=U;U=N+40|0;T=f[U>>2]|0;P=_k(T|0,f[U+4>>2]|0,V|0,0)|0;Jf((f[f[N+64>>2]>>2]|0)+P|0,S|0,T|0)|0;K=K+1|0;T=f[p>>2]|0;P=f[q>>2]|0;if(K>>>0>=((T-P|0)/20|0)>>>0){I=P;J=T;break}else L=P}}f[r>>2]=(f[r>>2]|0)+1;C=C+1|0;if((C|0)==(o|0)){W=23;break}else{G=J;H=I}}}else W=23;else{if(o>>>0>=3){H=F+1|0;G=f[l>>2]|0;C=G+(H*12|0)|0;if((C|0)==(D|0))X=G;else{lf(C,f[D>>2]|0,f[n+(F*12|0)+4>>2]|0);X=f[l>>2]|0}C=(f[X+(H*12|0)>>2]|0)+(B<<2)|0;f[C>>2]=(f[C>>2]|0)+(1<>>1)-Y|0;C=o-L|0;if((L|0)==(C|0)){Z=L;$=L}else{G=f[j>>2]|0;K=f[k>>2]|0;P=(f[K>>2]&1<<31-G|0)!=0;T=G+1|0;f[j>>2]=T;if((T|0)==32){f[k>>2]=K+4;f[j>>2]=0}Z=P?L:C;$=P?C:L}L=f[t>>2]|0;C=f[L+(F*12|0)>>2]|0;P=C+(B<<2)|0;f[P>>2]=(f[P>>2]|0)+1;lf(L+(H*12|0)|0,C,f[L+(F*12|0)+4>>2]|0);if(Z|0){L=f[x>>2]|0;C=f[z>>2]|0;P=L-C>>2;K=f[s>>2]|0;T=f[y>>2]|0;if((((P|0)==0?0:(P*341|0)+-1|0)|0)==(T+K|0)){oc(g);aa=f[y>>2]|0;ba=f[s>>2]|0;ca=f[x>>2]|0;da=f[z>>2]|0}else{aa=T;ba=K;ca=L;da=C}C=aa+ba|0;if((ca|0)==(da|0))ea=0;else ea=(f[da+(((C>>>0)/341|0)<<2)>>2]|0)+(((C>>>0)%341|0)*12|0)|0;f[ea>>2]=Z;f[ea+4>>2]=B;f[ea+8>>2]=F;f[y>>2]=(f[y>>2]|0)+1}if(!$){W=23;break}C=f[x>>2]|0;L=f[z>>2]|0;K=C-L>>2;T=f[s>>2]|0;P=f[y>>2]|0;if((((K|0)==0?0:(K*341|0)+-1|0)|0)==(P+T|0)){oc(g);fa=f[y>>2]|0;ga=f[s>>2]|0;ha=f[x>>2]|0;ia=f[z>>2]|0}else{fa=P;ga=T;ha=C;ia=L}L=fa+ga|0;if((ha|0)==(ia|0))ja=0;else ja=(f[ia+(((L>>>0)/341|0)<<2)>>2]|0)+(((L>>>0)%341|0)*12|0)|0;f[ja>>2]=$;f[ja+4>>2]=B;f[ja+8>>2]=H;L=(f[y>>2]|0)+1|0;f[y>>2]=L;ka=L;break}L=f[c>>2]|0;f[L>>2]=B;C=f[h>>2]|0;if(C>>>0>1){T=1;P=C;K=B;while(1){K=(K|0)==(P+-1|0)?0:K+1|0;f[L+(T<<2)>>2]=K;T=T+1|0;G=f[h>>2]|0;if(T>>>0>=G>>>0){la=G;break}else P=G}}else la=C;if(!o)W=23;else{P=0;T=la;while(1){if(T|0){K=f[c>>2]|0;L=f[d>>2]|0;H=f[A>>2]|0;G=f[D>>2]|0;U=0;do{R=K+(U<<2)|0;f[L+(f[R>>2]<<2)>>2]=0;O=f[R>>2]|0;M=(f[a>>2]|0)-(f[H+(O<<2)>>2]|0)|0;do if(M|0){ma=L+(O<<2)|0;na=f[w>>2]|0;oa=32-na|0;pa=f[m>>2]|0;qa=f[pa>>2]<(oa|0)){na=M-oa|0;f[w>>2]=na;ra=pa+4|0;f[m>>2]=ra;sa=32-na|0;f[ma>>2]=(f[ra>>2]|0)>>>sa|qa>>>(sa-oa|0);break}f[ma>>2]=qa>>>(32-M|0);qa=(f[w>>2]|0)+M|0;f[w>>2]=qa;if((qa|0)!=32)break;f[m>>2]=pa+4;f[w>>2]=0}while(0);M=f[R>>2]|0;O=L+(M<<2)|0;f[O>>2]=f[O>>2]|f[G+(M<<2)>>2];U=U+1|0}while(U>>>0<(f[h>>2]|0)>>>0)}U=f[q>>2]|0;if((f[p>>2]|0)!=(U|0)){G=0;L=U;do{U=L;H=f[U+(G*20|0)>>2]|0;K=U+(G*20|0)+12|0;M=U+(G*20|0)+16|0;O=(f[d>>2]|0)+(f[U+(G*20|0)+4>>2]<<2)|0;U=f[K>>2]|0;do if((U|0)==4)ta=O;else{N=f[v>>2]|0;if(!(f[M>>2]|0)){ta=N;break}else{ua=N;va=0;wa=U}while(1){Jf(ua|0,O+(va<<2)|0,wa|0)|0;va=va+1|0;N=f[K>>2]|0;if(va>>>0>=(f[M>>2]|0)>>>0)break;else{ua=ua+N|0;wa=N}}ta=f[v>>2]|0}while(0);M=f[r>>2]|0;if(!(b[H+84>>0]|0))xa=f[(f[H+68>>2]|0)+(M<<2)>>2]|0;else xa=M;M=H+40|0;K=f[M>>2]|0;O=_k(K|0,f[M+4>>2]|0,xa|0,0)|0;Jf((f[f[H+64>>2]>>2]|0)+O|0,ta|0,K|0)|0;G=G+1|0;L=f[q>>2]|0}while(G>>>0<(((f[p>>2]|0)-L|0)/20|0)>>>0)}f[r>>2]=(f[r>>2]|0)+1;L=P+1|0;if((L|0)==(o|0)){W=23;break a}P=L;T=f[h>>2]|0}}}while(0);if((W|0)==23){W=0;ka=f[y>>2]|0}if(!ka)break;else i=ka}}ka=f[z>>2]|0;i=f[s>>2]|0;h=ka+(((i>>>0)/341|0)<<2)|0;r=f[x>>2]|0;p=r;q=ka;if((r|0)==(ka|0)){ya=0;za=0}else{ta=(f[h>>2]|0)+(((i>>>0)%341|0)*12|0)|0;ya=ta;za=ta}ta=h;h=za;b:while(1){za=h;do{i=za;if((ya|0)==(i|0))break b;za=i+12|0}while((za-(f[ta>>2]|0)|0)!=4092);za=ta+4|0;ta=za;h=f[za>>2]|0}f[y>>2]=0;y=p-q>>2;if(y>>>0>2){q=ka;do{ip(f[q>>2]|0);q=(f[z>>2]|0)+4|0;f[z>>2]=q;Aa=f[x>>2]|0;Ba=Aa-q>>2}while(Ba>>>0>2);Ca=Ba;Da=q;Ea=Aa}else{Ca=y;Da=ka;Ea=r}switch(Ca|0){case 1:{Fa=170;W=94;break}case 2:{Fa=341;W=94;break}default:{}}if((W|0)==94)f[s>>2]=Fa;if((Da|0)!=(Ea|0)){Fa=Da;do{ip(f[Fa>>2]|0);Fa=Fa+4|0}while((Fa|0)!=(Ea|0));Ea=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Ea|0))f[x>>2]=z+(~((z+-4-Ea|0)>>>2)<<2)}Ea=f[g>>2]|0;if(!Ea){u=e;return}ip(Ea);u=e;return}function lb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;e=u;u=u+32|0;g=e;h=a+8|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;f[g+8>>2]=0;do if(i)if(i>>>0>1073741823)zo(g);else{k=i<<2;l=Vk(k)|0;f[g>>2]=l;m=l+(i<<2)|0;f[g+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+624|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);ip(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[g>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[g+8>>2];f[g>>2]=0;q=g+4|0;f[q>>2]=0;f[g+8>>2]=0;do if(t)if(t>>>0>1073741823)zo(g);else{s=t<<2;p=Vk(s)|0;f[g>>2]=p;r=p+(t<<2)|0;f[g+8>>2]=r;Dh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+636|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);ip(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[g>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;oc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=c;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;if(A|0){c=a+612|0;q=d+16|0;p=d+20|0;r=d+28|0;v=d+12|0;d=a+600|0;w=a+556|0;m=a+552|0;j=a+596|0;k=a+592|0;i=A;while(1){A=f[s>>2]|0;n=i+-1|0;o=A+n|0;B=f[z>>2]|0;C=f[B+(((o>>>0)/341|0)<<2)>>2]|0;D=(o>>>0)%341|0;o=f[C+(D*12|0)>>2]|0;E=f[C+(D*12|0)+4>>2]|0;F=f[C+(D*12|0)+8>>2]|0;f[y>>2]=n;n=f[x>>2]|0;D=n-B>>2;if((1-i-A+((D|0)==0?0:(D*341|0)+-1|0)|0)>>>0>681){ip(f[n+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}n=f[l>>2]|0;D=n+(F*12|0)|0;A=((f[h>>2]|0)+-1|0)==(E|0)?0:E+1|0;E=(f[t>>2]|0)+(F*12|0)|0;B=(f[a>>2]|0)-(f[(f[E>>2]|0)+(A<<2)>>2]|0)|0;a:do if(!B)if((o|0)>0){C=0;G=f[p>>2]|0;H=f[q>>2]|0;while(1){if((G|0)==(H|0)){I=H;J=H}else{K=0;L=H;while(1){M=L;N=f[M+(K*20|0)>>2]|0;O=M+(K*20|0)+12|0;P=M+(K*20|0)+16|0;Q=(f[D>>2]|0)+(f[M+(K*20|0)+4>>2]<<2)|0;M=f[O>>2]|0;if((M|0)!=4){R=f[v>>2]|0;if(!(f[P>>2]|0))S=R;else{T=R;R=0;U=M;while(1){Jf(T|0,Q+(R<<2)|0,U|0)|0;R=R+1|0;M=f[O>>2]|0;if(R>>>0>=(f[P>>2]|0)>>>0)break;else{T=T+M|0;U=M}}S=f[v>>2]|0}}else S=Q;U=f[r>>2]|0;if(!(b[N+84>>0]|0))V=f[(f[N+68>>2]|0)+(U<<2)>>2]|0;else V=U;U=N+40|0;T=f[U>>2]|0;P=_k(T|0,f[U+4>>2]|0,V|0,0)|0;Jf((f[f[N+64>>2]>>2]|0)+P|0,S|0,T|0)|0;K=K+1|0;T=f[p>>2]|0;P=f[q>>2]|0;if(K>>>0>=((T-P|0)/20|0)>>>0){I=P;J=T;break}else L=P}}f[r>>2]=(f[r>>2]|0)+1;C=C+1|0;if((C|0)==(o|0)){W=23;break}else{G=J;H=I}}}else W=23;else{if(o>>>0>=3){H=F+1|0;lf(n+(H*12|0)|0,f[D>>2]|0,f[n+(F*12|0)+4>>2]|0);G=(f[(f[l>>2]|0)+(H*12|0)>>2]|0)+(A<<2)|0;f[G>>2]=(f[G>>2]|0)+(1<>>1)-X|0;G=o-L|0;if((L|0)==(G|0)){Y=L;Z=L}else{C=f[j>>2]|0;K=f[k>>2]|0;P=(f[K>>2]&1<<31-C|0)!=0;T=C+1|0;f[j>>2]=T;if((T|0)==32){f[k>>2]=K+4;f[j>>2]=0}Y=P?L:G;Z=P?G:L}L=f[t>>2]|0;G=f[L+(F*12|0)>>2]|0;P=G+(A<<2)|0;f[P>>2]=(f[P>>2]|0)+1;lf(L+(H*12|0)|0,G,f[L+(F*12|0)+4>>2]|0);if(Y|0){L=f[x>>2]|0;G=f[z>>2]|0;P=L-G>>2;K=f[s>>2]|0;T=f[y>>2]|0;if((((P|0)==0?0:(P*341|0)+-1|0)|0)==(T+K|0)){oc(g);$=f[y>>2]|0;aa=f[s>>2]|0;ba=f[x>>2]|0;ca=f[z>>2]|0}else{$=T;aa=K;ba=L;ca=G}G=$+aa|0;if((ba|0)==(ca|0))da=0;else da=(f[ca+(((G>>>0)/341|0)<<2)>>2]|0)+(((G>>>0)%341|0)*12|0)|0;f[da>>2]=Y;f[da+4>>2]=A;f[da+8>>2]=F;f[y>>2]=(f[y>>2]|0)+1}if(!Z){W=23;break}G=f[x>>2]|0;L=f[z>>2]|0;K=G-L>>2;T=f[s>>2]|0;P=f[y>>2]|0;if((((K|0)==0?0:(K*341|0)+-1|0)|0)==(P+T|0)){oc(g);ea=f[y>>2]|0;fa=f[s>>2]|0;ga=f[x>>2]|0;ha=f[z>>2]|0}else{ea=P;fa=T;ga=G;ha=L}L=ea+fa|0;if((ga|0)==(ha|0))ia=0;else ia=(f[ha+(((L>>>0)/341|0)<<2)>>2]|0)+(((L>>>0)%341|0)*12|0)|0;f[ia>>2]=Z;f[ia+4>>2]=A;f[ia+8>>2]=H;L=(f[y>>2]|0)+1|0;f[y>>2]=L;ja=L;break}L=f[c>>2]|0;f[L>>2]=A;G=f[h>>2]|0;if(G>>>0>1){T=1;P=G;K=A;while(1){K=(K|0)==(P+-1|0)?0:K+1|0;f[L+(T<<2)>>2]=K;T=T+1|0;C=f[h>>2]|0;if(T>>>0>=C>>>0){ka=C;break}else P=C}}else ka=G;if(!o)W=23;else{P=0;T=ka;while(1){if(T|0){K=f[c>>2]|0;L=f[d>>2]|0;H=f[E>>2]|0;C=f[D>>2]|0;U=0;do{R=K+(U<<2)|0;f[L+(f[R>>2]<<2)>>2]=0;O=f[R>>2]|0;M=(f[a>>2]|0)-(f[H+(O<<2)>>2]|0)|0;do if(M|0){la=L+(O<<2)|0;ma=f[w>>2]|0;na=32-ma|0;oa=f[m>>2]|0;pa=f[oa>>2]<(na|0)){ma=M-na|0;f[w>>2]=ma;qa=oa+4|0;f[m>>2]=qa;ra=32-ma|0;f[la>>2]=(f[qa>>2]|0)>>>ra|pa>>>(ra-na|0);break}f[la>>2]=pa>>>(32-M|0);pa=(f[w>>2]|0)+M|0;f[w>>2]=pa;if((pa|0)!=32)break;f[m>>2]=oa+4;f[w>>2]=0}while(0);M=f[R>>2]|0;O=L+(M<<2)|0;f[O>>2]=f[O>>2]|f[C+(M<<2)>>2];U=U+1|0}while(U>>>0<(f[h>>2]|0)>>>0)}U=f[q>>2]|0;if((f[p>>2]|0)!=(U|0)){C=0;L=U;do{U=L;H=f[U+(C*20|0)>>2]|0;K=U+(C*20|0)+12|0;M=U+(C*20|0)+16|0;O=(f[d>>2]|0)+(f[U+(C*20|0)+4>>2]<<2)|0;U=f[K>>2]|0;do if((U|0)==4)sa=O;else{N=f[v>>2]|0;if(!(f[M>>2]|0)){sa=N;break}else{ta=N;ua=0;va=U}while(1){Jf(ta|0,O+(ua<<2)|0,va|0)|0;ua=ua+1|0;N=f[K>>2]|0;if(ua>>>0>=(f[M>>2]|0)>>>0)break;else{ta=ta+N|0;va=N}}sa=f[v>>2]|0}while(0);M=f[r>>2]|0;if(!(b[H+84>>0]|0))wa=f[(f[H+68>>2]|0)+(M<<2)>>2]|0;else wa=M;M=H+40|0;K=f[M>>2]|0;O=_k(K|0,f[M+4>>2]|0,wa|0,0)|0;Jf((f[f[H+64>>2]>>2]|0)+O|0,sa|0,K|0)|0;C=C+1|0;L=f[q>>2]|0}while(C>>>0<(((f[p>>2]|0)-L|0)/20|0)>>>0)}f[r>>2]=(f[r>>2]|0)+1;L=P+1|0;if((L|0)==(o|0)){W=23;break a}P=L;T=f[h>>2]|0}}}while(0);if((W|0)==23){W=0;ja=f[y>>2]|0}if(!ja)break;else i=ja}}ja=f[z>>2]|0;i=f[s>>2]|0;h=ja+(((i>>>0)/341|0)<<2)|0;r=f[x>>2]|0;p=r;q=ja;if((r|0)==(ja|0)){xa=0;ya=0}else{sa=(f[h>>2]|0)+(((i>>>0)%341|0)*12|0)|0;xa=sa;ya=sa}sa=h;h=ya;b:while(1){ya=h;do{i=ya;if((xa|0)==(i|0))break b;ya=i+12|0}while((ya-(f[sa>>2]|0)|0)!=4092);ya=sa+4|0;sa=ya;h=f[ya>>2]|0}f[y>>2]=0;y=p-q>>2;if(y>>>0>2){q=ja;do{ip(f[q>>2]|0);q=(f[z>>2]|0)+4|0;f[z>>2]=q;za=f[x>>2]|0;Aa=za-q>>2}while(Aa>>>0>2);Ba=Aa;Ca=q;Da=za}else{Ba=y;Ca=ja;Da=r}switch(Ba|0){case 1:{Ea=170;W=92;break}case 2:{Ea=341;W=92;break}default:{}}if((W|0)==92)f[s>>2]=Ea;if((Ca|0)!=(Da|0)){Ea=Ca;do{ip(f[Ea>>2]|0);Ea=Ea+4|0}while((Ea|0)!=(Da|0));Da=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(Da|0))f[x>>2]=z+(~((z+-4-Da|0)>>>2)<<2)}Da=f[g>>2]|0;if(!Da){u=e;return}ip(Da);u=e;return}function mb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0;e=u;u=u+32|0;g=e+8|0;h=e;i=a+8|0;j=f[i>>2]|0;f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;do if(j)if(j>>>0>1073741823)zo(g);else{l=j<<2;m=Vk(l)|0;f[g>>2]=m;n=m+(j<<2)|0;f[g+8>>2]=n;Dh(m|0,0,l|0)|0;f[k>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+112|0;n=f[m>>2]|0;l=f[n>>2]|0;q=n+4|0;if(!l){r=n+8|0;s=p;t=o;v=j}else{j=f[q>>2]|0;if((j|0)!=(l|0))f[q>>2]=j+(~((j+-4-l|0)>>>2)<<2);ip(l);l=n+8|0;f[l>>2]=0;f[q>>2]=0;f[n>>2]=0;r=l;s=f[g>>2]|0;t=f[k>>2]|0;v=f[i>>2]|0}f[n>>2]=s;f[q>>2]=t;f[r>>2]=f[g+8>>2];f[g>>2]=0;r=g+4|0;f[r>>2]=0;f[g+8>>2]=0;do if(v)if(v>>>0>1073741823)zo(g);else{t=v<<2;q=Vk(t)|0;f[g>>2]=q;s=q+(v<<2)|0;f[g+8>>2]=s;Dh(q|0,0,t|0)|0;f[r>>2]=s;w=s;x=q;break}else{w=0;x=0}while(0);v=a+124|0;q=f[v>>2]|0;s=f[q>>2]|0;t=q+4|0;if(!s){y=q+8|0;z=x;A=w}else{w=f[t>>2]|0;if((w|0)!=(s|0))f[t>>2]=w+(~((w+-4-s|0)>>>2)<<2);ip(s);s=q+8|0;f[s>>2]=0;f[t>>2]=0;f[q>>2]=0;y=s;z=f[g>>2]|0;A=f[r>>2]|0}f[q>>2]=z;f[t>>2]=A;f[y>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;y=g+8|0;A=g+4|0;t=g+16|0;z=g+20|0;oc(g);q=f[A>>2]|0;r=(f[z>>2]|0)+(f[t>>2]|0)|0;if((f[y>>2]|0)==(q|0))B=0;else B=(f[q+(((r>>>0)/341|0)<<2)>>2]|0)+(((r>>>0)%341|0)*12|0)|0;f[B>>2]=c;f[B+4>>2]=0;f[B+8>>2]=0;B=(f[z>>2]|0)+1|0;f[z>>2]=B;if(B|0){c=a+100|0;r=d+16|0;q=d+20|0;s=d+28|0;w=d+12|0;d=a+88|0;x=a+44|0;n=a+40|0;k=a+12|0;l=a+84|0;j=a+80|0;o=B;do{B=f[t>>2]|0;p=o+-1|0;C=B+p|0;D=f[A>>2]|0;E=f[D+(((C>>>0)/341|0)<<2)>>2]|0;F=(C>>>0)%341|0;C=f[E+(F*12|0)>>2]|0;G=f[E+(F*12|0)+4>>2]|0;H=f[E+(F*12|0)+8>>2]|0;f[z>>2]=p;p=f[y>>2]|0;F=p-D>>2;if((1-o-B+((F|0)==0?0:(F*341|0)+-1|0)|0)>>>0>681){ip(f[p+-4>>2]|0);f[y>>2]=(f[y>>2]|0)+-4}p=f[m>>2]|0;F=p+(H*12|0)|0;B=(f[v>>2]|0)+(H*12|0)|0;D=ml(a,C,B,G)|0;G=(f[a>>2]|0)-(f[(f[B>>2]|0)+(D<<2)>>2]|0)|0;a:do if(!G){if((C|0)>0){E=0;I=f[q>>2]|0;J=f[r>>2]|0;while(1){if((I|0)==(J|0)){K=J;L=J}else{M=0;N=J;while(1){O=N;P=f[O+(M*20|0)>>2]|0;Q=O+(M*20|0)+12|0;R=O+(M*20|0)+16|0;S=(f[F>>2]|0)+(f[O+(M*20|0)+4>>2]<<2)|0;O=f[Q>>2]|0;if((O|0)!=4){T=f[w>>2]|0;if(!(f[R>>2]|0))U=T;else{V=T;T=0;W=O;while(1){Jf(V|0,S+(T<<2)|0,W|0)|0;T=T+1|0;O=f[Q>>2]|0;if(T>>>0>=(f[R>>2]|0)>>>0)break;else{V=V+O|0;W=O}}U=f[w>>2]|0}}else U=S;W=f[s>>2]|0;if(!(b[P+84>>0]|0))X=f[(f[P+68>>2]|0)+(W<<2)>>2]|0;else X=W;W=P+40|0;V=f[W>>2]|0;R=_k(V|0,f[W+4>>2]|0,X|0,0)|0;Jf((f[f[P+64>>2]>>2]|0)+R|0,U|0,V|0)|0;M=M+1|0;V=f[q>>2]|0;R=f[r>>2]|0;if(M>>>0>=((V-R|0)/20|0)>>>0){K=R;L=V;break}else N=R}}f[s>>2]=(f[s>>2]|0)+1;E=E+1|0;if((E|0)==(C|0))break;else{I=L;J=K}}}}else{if(C>>>0>=3){J=H+1|0;I=f[m>>2]|0;E=I+(J*12|0)|0;if((E|0)==(F|0))Y=I;else{lf(E,f[F>>2]|0,f[p+(H*12|0)+4>>2]|0);Y=f[m>>2]|0}E=(f[Y+(J*12|0)>>2]|0)+(D<<2)|0;f[E>>2]=(f[E>>2]|0)+(1<>2]=0;Eh(k,E,h);E=(C>>>1)-(f[h>>2]|0)|0;I=C-E|0;if((E|0)==(I|0)){Z=E;$=E}else{N=f[l>>2]|0;M=f[j>>2]|0;R=(f[M>>2]&1<<31-N|0)!=0;V=N+1|0;f[l>>2]=V;if((V|0)==32){f[j>>2]=M+4;f[l>>2]=0}Z=R?E:I;$=R?I:E}E=f[v>>2]|0;I=f[E+(H*12|0)>>2]|0;R=I+(D<<2)|0;f[R>>2]=(f[R>>2]|0)+1;lf(E+(J*12|0)|0,I,f[E+(H*12|0)+4>>2]|0);if(Z|0){E=f[y>>2]|0;I=f[A>>2]|0;R=E-I>>2;M=f[t>>2]|0;V=f[z>>2]|0;if((((R|0)==0?0:(R*341|0)+-1|0)|0)==(V+M|0)){oc(g);aa=f[z>>2]|0;ba=f[t>>2]|0;ca=f[y>>2]|0;da=f[A>>2]|0}else{aa=V;ba=M;ca=E;da=I}I=aa+ba|0;if((ca|0)==(da|0))ea=0;else ea=(f[da+(((I>>>0)/341|0)<<2)>>2]|0)+(((I>>>0)%341|0)*12|0)|0;f[ea>>2]=Z;f[ea+4>>2]=D;f[ea+8>>2]=H;f[z>>2]=(f[z>>2]|0)+1}if($|0){I=f[y>>2]|0;E=f[A>>2]|0;M=I-E>>2;V=f[t>>2]|0;R=f[z>>2]|0;if((((M|0)==0?0:(M*341|0)+-1|0)|0)==(R+V|0)){oc(g);fa=f[z>>2]|0;ga=f[t>>2]|0;ha=f[y>>2]|0;ia=f[A>>2]|0}else{fa=R;ga=V;ha=I;ia=E}E=fa+ga|0;if((ha|0)==(ia|0))ja=0;else ja=(f[ia+(((E>>>0)/341|0)<<2)>>2]|0)+(((E>>>0)%341|0)*12|0)|0;f[ja>>2]=$;f[ja+4>>2]=D;f[ja+8>>2]=J;f[z>>2]=(f[z>>2]|0)+1}break}J=f[c>>2]|0;f[J>>2]=D;E=f[i>>2]|0;if(E>>>0>1){I=1;V=E;R=D;while(1){R=(R|0)==(V+-1|0)?0:R+1|0;f[J+(I<<2)>>2]=R;I=I+1|0;M=f[i>>2]|0;if(I>>>0>=M>>>0){ka=M;break}else V=M}}else ka=E;if(C|0){V=0;I=ka;while(1){if(I|0){R=f[c>>2]|0;J=f[d>>2]|0;M=f[B>>2]|0;N=f[F>>2]|0;W=0;do{T=R+(W<<2)|0;f[J+(f[T>>2]<<2)>>2]=0;Q=f[T>>2]|0;O=(f[a>>2]|0)-(f[M+(Q<<2)>>2]|0)|0;do if(O|0){la=J+(Q<<2)|0;ma=f[x>>2]|0;na=32-ma|0;oa=f[n>>2]|0;pa=f[oa>>2]<(na|0)){ma=O-na|0;f[x>>2]=ma;qa=oa+4|0;f[n>>2]=qa;ra=32-ma|0;f[la>>2]=(f[qa>>2]|0)>>>ra|pa>>>(ra-na|0);break}f[la>>2]=pa>>>(32-O|0);pa=(f[x>>2]|0)+O|0;f[x>>2]=pa;if((pa|0)!=32)break;f[n>>2]=oa+4;f[x>>2]=0}while(0);O=f[T>>2]|0;Q=J+(O<<2)|0;f[Q>>2]=f[Q>>2]|f[N+(O<<2)>>2];W=W+1|0}while(W>>>0<(f[i>>2]|0)>>>0)}W=f[r>>2]|0;if((f[q>>2]|0)!=(W|0)){N=0;J=W;do{W=J;M=f[W+(N*20|0)>>2]|0;R=W+(N*20|0)+12|0;O=W+(N*20|0)+16|0;Q=(f[d>>2]|0)+(f[W+(N*20|0)+4>>2]<<2)|0;W=f[R>>2]|0;do if((W|0)==4)sa=Q;else{P=f[w>>2]|0;if(!(f[O>>2]|0)){sa=P;break}else{ta=P;ua=0;va=W}while(1){Jf(ta|0,Q+(ua<<2)|0,va|0)|0;ua=ua+1|0;P=f[R>>2]|0;if(ua>>>0>=(f[O>>2]|0)>>>0)break;else{ta=ta+P|0;va=P}}sa=f[w>>2]|0}while(0);O=f[s>>2]|0;if(!(b[M+84>>0]|0))wa=f[(f[M+68>>2]|0)+(O<<2)>>2]|0;else wa=O;O=M+40|0;R=f[O>>2]|0;Q=_k(R|0,f[O+4>>2]|0,wa|0,0)|0;Jf((f[f[M+64>>2]>>2]|0)+Q|0,sa|0,R|0)|0;N=N+1|0;J=f[r>>2]|0}while(N>>>0<(((f[q>>2]|0)-J|0)/20|0)>>>0)}f[s>>2]=(f[s>>2]|0)+1;J=V+1|0;if((J|0)==(C|0))break a;V=J;I=f[i>>2]|0}}}while(0);o=f[z>>2]|0}while((o|0)!=0)}o=f[A>>2]|0;i=f[t>>2]|0;s=o+(((i>>>0)/341|0)<<2)|0;q=f[y>>2]|0;r=q;sa=o;if((q|0)==(o|0)){xa=0;ya=0}else{wa=(f[s>>2]|0)+(((i>>>0)%341|0)*12|0)|0;xa=wa;ya=wa}wa=s;s=ya;b:while(1){ya=s;do{i=ya;if((xa|0)==(i|0))break b;ya=i+12|0}while((ya-(f[wa>>2]|0)|0)!=4092);ya=wa+4|0;wa=ya;s=f[ya>>2]|0}f[z>>2]=0;z=r-sa>>2;if(z>>>0>2){sa=o;do{ip(f[sa>>2]|0);sa=(f[A>>2]|0)+4|0;f[A>>2]=sa;za=f[y>>2]|0;Aa=za-sa>>2}while(Aa>>>0>2);Ba=Aa;Ca=sa;Da=za}else{Ba=z;Ca=o;Da=q}switch(Ba|0){case 1:{Ea=170;Fa=92;break}case 2:{Ea=341;Fa=92;break}default:{}}if((Fa|0)==92)f[t>>2]=Ea;if((Ca|0)!=(Da|0)){Ea=Ca;do{ip(f[Ea>>2]|0);Ea=Ea+4|0}while((Ea|0)!=(Da|0));Da=f[A>>2]|0;A=f[y>>2]|0;if((A|0)!=(Da|0))f[y>>2]=A+(~((A+-4-Da|0)>>>2)<<2)}Da=f[g>>2]|0;if(!Da){u=e;return}ip(Da);u=e;return}function nb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;e=u;u=u+32|0;g=e+8|0;h=e;i=a+8|0;j=f[i>>2]|0;f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;do if(j)if(j>>>0>1073741823)zo(g);else{l=j<<2;m=Vk(l)|0;f[g>>2]=m;n=m+(j<<2)|0;f[g+8>>2]=n;Dh(m|0,0,l|0)|0;f[k>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+112|0;n=f[m>>2]|0;l=f[n>>2]|0;q=n+4|0;if(!l){r=n+8|0;s=p;t=o;v=j}else{j=f[q>>2]|0;if((j|0)!=(l|0))f[q>>2]=j+(~((j+-4-l|0)>>>2)<<2);ip(l);l=n+8|0;f[l>>2]=0;f[q>>2]=0;f[n>>2]=0;r=l;s=f[g>>2]|0;t=f[k>>2]|0;v=f[i>>2]|0}f[n>>2]=s;f[q>>2]=t;f[r>>2]=f[g+8>>2];f[g>>2]=0;r=g+4|0;f[r>>2]=0;f[g+8>>2]=0;do if(v)if(v>>>0>1073741823)zo(g);else{t=v<<2;q=Vk(t)|0;f[g>>2]=q;s=q+(v<<2)|0;f[g+8>>2]=s;Dh(q|0,0,t|0)|0;f[r>>2]=s;w=s;x=q;break}else{w=0;x=0}while(0);v=a+124|0;q=f[v>>2]|0;s=f[q>>2]|0;t=q+4|0;if(!s){y=q+8|0;z=x;A=w}else{w=f[t>>2]|0;if((w|0)!=(s|0))f[t>>2]=w+(~((w+-4-s|0)>>>2)<<2);ip(s);s=q+8|0;f[s>>2]=0;f[t>>2]=0;f[q>>2]=0;y=s;z=f[g>>2]|0;A=f[r>>2]|0}f[q>>2]=z;f[t>>2]=A;f[y>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;y=g+8|0;A=g+4|0;t=g+16|0;z=g+20|0;oc(g);q=f[A>>2]|0;r=(f[z>>2]|0)+(f[t>>2]|0)|0;if((f[y>>2]|0)==(q|0))B=0;else B=(f[q+(((r>>>0)/341|0)<<2)>>2]|0)+(((r>>>0)%341|0)*12|0)|0;f[B>>2]=c;f[B+4>>2]=0;f[B+8>>2]=0;B=(f[z>>2]|0)+1|0;f[z>>2]=B;if(B|0){c=a+100|0;r=d+16|0;q=d+20|0;s=d+28|0;w=d+12|0;d=a+88|0;x=a+44|0;n=a+40|0;k=a+12|0;l=a+84|0;j=a+80|0;o=B;do{B=f[t>>2]|0;p=o+-1|0;C=B+p|0;D=f[A>>2]|0;E=f[D+(((C>>>0)/341|0)<<2)>>2]|0;F=(C>>>0)%341|0;C=f[E+(F*12|0)>>2]|0;G=f[E+(F*12|0)+4>>2]|0;H=f[E+(F*12|0)+8>>2]|0;f[z>>2]=p;p=f[y>>2]|0;F=p-D>>2;if((1-o-B+((F|0)==0?0:(F*341|0)+-1|0)|0)>>>0>681){ip(f[p+-4>>2]|0);f[y>>2]=(f[y>>2]|0)+-4}p=f[m>>2]|0;F=p+(H*12|0)|0;B=((f[i>>2]|0)+-1|0)==(G|0)?0:G+1|0;G=(f[v>>2]|0)+(H*12|0)|0;D=(f[a>>2]|0)-(f[(f[G>>2]|0)+(B<<2)>>2]|0)|0;a:do if(!D){if((C|0)>0){E=0;I=f[q>>2]|0;J=f[r>>2]|0;while(1){if((I|0)==(J|0)){K=J;L=J}else{M=0;N=J;while(1){O=N;P=f[O+(M*20|0)>>2]|0;Q=O+(M*20|0)+12|0;R=O+(M*20|0)+16|0;S=(f[F>>2]|0)+(f[O+(M*20|0)+4>>2]<<2)|0;O=f[Q>>2]|0;if((O|0)!=4){T=f[w>>2]|0;if(!(f[R>>2]|0))U=T;else{V=T;T=0;W=O;while(1){Jf(V|0,S+(T<<2)|0,W|0)|0;T=T+1|0;O=f[Q>>2]|0;if(T>>>0>=(f[R>>2]|0)>>>0)break;else{V=V+O|0;W=O}}U=f[w>>2]|0}}else U=S;W=f[s>>2]|0;if(!(b[P+84>>0]|0))X=f[(f[P+68>>2]|0)+(W<<2)>>2]|0;else X=W;W=P+40|0;V=f[W>>2]|0;R=_k(V|0,f[W+4>>2]|0,X|0,0)|0;Jf((f[f[P+64>>2]>>2]|0)+R|0,U|0,V|0)|0;M=M+1|0;V=f[q>>2]|0;R=f[r>>2]|0;if(M>>>0>=((V-R|0)/20|0)>>>0){K=R;L=V;break}else N=R}}f[s>>2]=(f[s>>2]|0)+1;E=E+1|0;if((E|0)==(C|0))break;else{I=L;J=K}}}}else{if(C>>>0>=3){J=H+1|0;lf(p+(J*12|0)|0,f[F>>2]|0,f[p+(H*12|0)+4>>2]|0);I=(f[(f[m>>2]|0)+(J*12|0)>>2]|0)+(B<<2)|0;f[I>>2]=(f[I>>2]|0)+(1<>2]=0;Eh(k,I,h);I=(C>>>1)-(f[h>>2]|0)|0;E=C-I|0;if((I|0)==(E|0)){Y=I;Z=I}else{N=f[l>>2]|0;M=f[j>>2]|0;R=(f[M>>2]&1<<31-N|0)!=0;V=N+1|0;f[l>>2]=V;if((V|0)==32){f[j>>2]=M+4;f[l>>2]=0}Y=R?I:E;Z=R?E:I}I=f[v>>2]|0;E=f[I+(H*12|0)>>2]|0;R=E+(B<<2)|0;f[R>>2]=(f[R>>2]|0)+1;lf(I+(J*12|0)|0,E,f[I+(H*12|0)+4>>2]|0);if(Y|0){I=f[y>>2]|0;E=f[A>>2]|0;R=I-E>>2;M=f[t>>2]|0;V=f[z>>2]|0;if((((R|0)==0?0:(R*341|0)+-1|0)|0)==(V+M|0)){oc(g);$=f[z>>2]|0;aa=f[t>>2]|0;ba=f[y>>2]|0;ca=f[A>>2]|0}else{$=V;aa=M;ba=I;ca=E}E=$+aa|0;if((ba|0)==(ca|0))da=0;else da=(f[ca+(((E>>>0)/341|0)<<2)>>2]|0)+(((E>>>0)%341|0)*12|0)|0;f[da>>2]=Y;f[da+4>>2]=B;f[da+8>>2]=H;f[z>>2]=(f[z>>2]|0)+1}if(Z|0){E=f[y>>2]|0;I=f[A>>2]|0;M=E-I>>2;V=f[t>>2]|0;R=f[z>>2]|0;if((((M|0)==0?0:(M*341|0)+-1|0)|0)==(R+V|0)){oc(g);ea=f[z>>2]|0;fa=f[t>>2]|0;ga=f[y>>2]|0;ha=f[A>>2]|0}else{ea=R;fa=V;ga=E;ha=I}I=ea+fa|0;if((ga|0)==(ha|0))ia=0;else ia=(f[ha+(((I>>>0)/341|0)<<2)>>2]|0)+(((I>>>0)%341|0)*12|0)|0;f[ia>>2]=Z;f[ia+4>>2]=B;f[ia+8>>2]=J;f[z>>2]=(f[z>>2]|0)+1}break}J=f[c>>2]|0;f[J>>2]=B;I=f[i>>2]|0;if(I>>>0>1){E=1;V=I;R=B;while(1){R=(R|0)==(V+-1|0)?0:R+1|0;f[J+(E<<2)>>2]=R;E=E+1|0;M=f[i>>2]|0;if(E>>>0>=M>>>0){ja=M;break}else V=M}}else ja=I;if(C|0){V=0;E=ja;while(1){if(E|0){R=f[c>>2]|0;J=f[d>>2]|0;M=f[G>>2]|0;N=f[F>>2]|0;W=0;do{T=R+(W<<2)|0;f[J+(f[T>>2]<<2)>>2]=0;Q=f[T>>2]|0;O=(f[a>>2]|0)-(f[M+(Q<<2)>>2]|0)|0;do if(O|0){ka=J+(Q<<2)|0;la=f[x>>2]|0;ma=32-la|0;na=f[n>>2]|0;oa=f[na>>2]<(ma|0)){la=O-ma|0;f[x>>2]=la;pa=na+4|0;f[n>>2]=pa;qa=32-la|0;f[ka>>2]=(f[pa>>2]|0)>>>qa|oa>>>(qa-ma|0);break}f[ka>>2]=oa>>>(32-O|0);oa=(f[x>>2]|0)+O|0;f[x>>2]=oa;if((oa|0)!=32)break;f[n>>2]=na+4;f[x>>2]=0}while(0);O=f[T>>2]|0;Q=J+(O<<2)|0;f[Q>>2]=f[Q>>2]|f[N+(O<<2)>>2];W=W+1|0}while(W>>>0<(f[i>>2]|0)>>>0)}W=f[r>>2]|0;if((f[q>>2]|0)!=(W|0)){N=0;J=W;do{W=J;M=f[W+(N*20|0)>>2]|0;R=W+(N*20|0)+12|0;O=W+(N*20|0)+16|0;Q=(f[d>>2]|0)+(f[W+(N*20|0)+4>>2]<<2)|0;W=f[R>>2]|0;do if((W|0)==4)ra=Q;else{P=f[w>>2]|0;if(!(f[O>>2]|0)){ra=P;break}else{sa=P;ta=0;ua=W}while(1){Jf(sa|0,Q+(ta<<2)|0,ua|0)|0;ta=ta+1|0;P=f[R>>2]|0;if(ta>>>0>=(f[O>>2]|0)>>>0)break;else{sa=sa+P|0;ua=P}}ra=f[w>>2]|0}while(0);O=f[s>>2]|0;if(!(b[M+84>>0]|0))va=f[(f[M+68>>2]|0)+(O<<2)>>2]|0;else va=O;O=M+40|0;R=f[O>>2]|0;Q=_k(R|0,f[O+4>>2]|0,va|0,0)|0;Jf((f[f[M+64>>2]>>2]|0)+Q|0,ra|0,R|0)|0;N=N+1|0;J=f[r>>2]|0}while(N>>>0<(((f[q>>2]|0)-J|0)/20|0)>>>0)}f[s>>2]=(f[s>>2]|0)+1;J=V+1|0;if((J|0)==(C|0))break a;V=J;E=f[i>>2]|0}}}while(0);o=f[z>>2]|0}while((o|0)!=0)}o=f[A>>2]|0;i=f[t>>2]|0;s=o+(((i>>>0)/341|0)<<2)|0;q=f[y>>2]|0;r=q;ra=o;if((q|0)==(o|0)){wa=0;xa=0}else{va=(f[s>>2]|0)+(((i>>>0)%341|0)*12|0)|0;wa=va;xa=va}va=s;s=xa;b:while(1){xa=s;do{i=xa;if((wa|0)==(i|0))break b;xa=i+12|0}while((xa-(f[va>>2]|0)|0)!=4092);xa=va+4|0;va=xa;s=f[xa>>2]|0}f[z>>2]=0;z=r-ra>>2;if(z>>>0>2){ra=o;do{ip(f[ra>>2]|0);ra=(f[A>>2]|0)+4|0;f[A>>2]=ra;ya=f[y>>2]|0;za=ya-ra>>2}while(za>>>0>2);Aa=za;Ba=ra;Ca=ya}else{Aa=z;Ba=o;Ca=q}switch(Aa|0){case 1:{Da=170;Ea=90;break}case 2:{Da=341;Ea=90;break}default:{}}if((Ea|0)==90)f[t>>2]=Da;if((Ba|0)!=(Ca|0)){Da=Ba;do{ip(f[Da>>2]|0);Da=Da+4|0}while((Da|0)!=(Ca|0));Ca=f[A>>2]|0;A=f[y>>2]|0;if((A|0)!=(Ca|0))f[y>>2]=A+(~((A+-4-Ca|0)>>>2)<<2)}Ca=f[g>>2]|0;if(!Ca){u=e;return}ip(Ca);u=e;return}function ob(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=Na,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;d=u;u=u+720|0;e=d;g=d+688|0;i=d+656|0;k=d+8|0;if((j[c+38>>1]|0)>514){f[i>>2]=0;l=i+4|0;f[l>>2]=0;f[i+8>>2]=0;m=c+8|0;o=c+16|0;p=g+4|0;q=g+8|0;r=a+36|0;t=a+40|0;v=a+60|0;w=a+44|0;x=g+8|0;y=g+12|0;z=g+20|0;A=0;a:while(1){if((A|0)>=(Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0)){B=4;break}C=Qa[f[(f[a>>2]|0)+20>>2]&127](a,A)|0;D=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;E=f[(f[(f[D>>2]|0)+8>>2]|0)+(C<<2)>>2]|0;if((f[E+28>>2]|0)==9){C=b[E+24>>0]|0;E=f[l>>2]|0;D=f[i>>2]|0;F=E-D>>2;G=D;D=E;if(F>>>0>=C>>>0){if(F>>>0>C>>>0?(E=G+(C<<2)|0,(E|0)!=(D|0)):0)f[l>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Ng(i,C-F|0);F=C<<2;E=m;D=f[E>>2]|0;G=f[E+4>>2]|0;E=o;H=f[E>>2]|0;J=Rl(H|0,f[E+4>>2]|0,F|0,0)|0;E=I;if((G|0)<(E|0)|(G|0)==(E|0)&D>>>0>>0){K=0;break}Jf(f[i>>2]|0,(f[c>>2]|0)+H|0,F|0)|0;H=o;J=Rl(f[H>>2]|0,f[H+4>>2]|0,F|0,0)|0;F=I;H=o;f[H>>2]=J;f[H+4>>2]=F;H=m;D=f[H>>2]|0;E=f[H+4>>2]|0;H=Rl(J|0,F|0,4,0)|0;G=I;if((E|0)<(G|0)|(E|0)==(G|0)&D>>>0>>0){K=0;break}L=f[c>>2]|0;M=L+J|0;b[s>>0]=b[M>>0];b[s+1>>0]=b[M+1>>0];b[s+2>>0]=b[M+2>>0];b[s+3>>0]=b[M+3>>0];N=$(n[s>>2]);M=o;f[M>>2]=H;f[M+4>>2]=G;if(!((E|0)>(G|0)|(E|0)==(G|0)&D>>>0>H>>>0)){K=0;break}D=b[L+H>>0]|0;H=Rl(J|0,F|0,5,0)|0;F=o;f[F>>2]=H;f[F+4>>2]=I;if((D&255)>31){K=0;break}f[g>>2]=1228;f[p>>2]=-1;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;Fj(g,D&255,f[i>>2]|0,C,N);do if(Yi(g,f[(f[v>>2]|0)+((((f[t>>2]|0)-(f[r>>2]|0)|0)/24|0)<<2)>>2]|0)|0){C=f[t>>2]|0;if((C|0)==(f[w>>2]|0)){ye(r,g);O=0;break}f[C>>2]=1228;f[C+4>>2]=f[p>>2];P=C+8|0;f[P>>2]=0;D=C+12|0;f[D>>2]=0;f[C+16>>2]=0;F=(f[y>>2]|0)-(f[x>>2]|0)|0;H=F>>2;if(H|0){if(H>>>0>1073741823){B=20;break a}J=Vk(F)|0;f[D>>2]=J;f[P>>2]=J;f[C+16>>2]=J+(H<<2);H=f[x>>2]|0;F=(f[y>>2]|0)-H|0;if((F|0)>0){Jf(J|0,H|0,F|0)|0;f[D>>2]=J+(F>>>2<<2)}}f[C+20>>2]=f[z>>2];f[t>>2]=(f[t>>2]|0)+24;O=0}else O=1;while(0);f[g>>2]=1228;C=f[q>>2]|0;if(C|0){F=f[y>>2]|0;if((F|0)!=(C|0))f[y>>2]=F+(~((F+-4-C|0)>>>2)<<2);ip(C)}if(O|0){K=0;break}}A=A+1|0}if((B|0)==20)zo(P);if((B|0)==4){P=a+48|0;A=a+52|0;if((f[A>>2]|0)==(f[P>>2]|0))K=1;else{O=0;y=0;while(1){if(Ph(g,c)|0){q=f[g>>2]|0;Q=q<<31>>31^q>>>1}else Q=y;q=f[P>>2]|0;f[q+(O<<2)>>2]=Q;O=O+1|0;if(O>>>0>=(f[A>>2]|0)-q>>2>>>0){K=1;break}else y=Q}}}Q=f[i>>2]|0;if(Q|0){y=f[l>>2]|0;if((y|0)!=(Q|0))f[l>>2]=y+(~((y+-4-Q|0)>>>2)<<2);ip(Q)}R=K;u=d;return R|0}K=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;f[g>>2]=0;Q=g+4|0;f[Q>>2]=0;f[g+8>>2]=0;y=(K|0)==0;if(y){S=0;T=f[(f[a>>2]|0)+20>>2]|0;U=a}else{if(K>>>0>214748364)zo(g);l=K*20|0;A=Vk(l)|0;f[g>>2]=A;f[g+8>>2]=A+(K*20|0);Dh(A|0,0,l|0)|0;f[Q>>2]=A+l;l=0;A=0;O=f[(f[a>>2]|0)+20>>2]|0;while(1){P=Qa[O&127](a,l)|0;q=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;t=f[(f[(f[q>>2]|0)+8>>2]|0)+(P<<2)>>2]|0;P=f[t+28>>2]|0;q=Vj(P)|0;z=b[t+24>>0]|0;x=f[g>>2]|0;f[x+(l*20|0)>>2]=t;f[x+(l*20|0)+4>>2]=A;f[x+(l*20|0)+8>>2]=P;f[x+(l*20|0)+12>>2]=(q|0)>0?q:0;f[x+(l*20|0)+16>>2]=z;x=A+z|0;l=l+1|0;z=f[(f[a>>2]|0)+20>>2]|0;if(l>>>0>=K>>>0){S=x;T=z;U=a;break}else{A=x;O=z}}}O=Qa[T&127](a,0)|0;T=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;A=f[(f[(f[T>>2]|0)+8>>2]|0)+(O<<2)>>2]|0;b[A+84>>0]=1;O=f[A+68>>2]|0;T=A+72|0;l=f[T>>2]|0;if((l|0)!=(O|0))f[T>>2]=l+(~((l+-4-O|0)>>>2)<<2);O=c+8|0;l=f[O>>2]|0;T=f[O+4>>2]|0;O=c+16|0;z=O;x=f[z>>2]|0;q=f[z+4>>2]|0;b:do if((T|0)>(q|0)|(T|0)==(q|0)&l>>>0>x>>>0){z=f[c>>2]|0;P=b[z+x>>0]|0;t=Rl(x|0,q|0,1,0)|0;p=I;r=O;f[r>>2]=t;f[r+4>>2]=p;switch(P<<24>>24){case 0:{if(!((T|0)>(p|0)|(T|0)==(p|0)&l>>>0>t>>>0)){V=0;break b}P=Rl(x|0,q|0,2,0)|0;r=O;f[r>>2]=P;f[r+4>>2]=I;r=Rl(x|0,q|0,6,0)|0;w=I;if((T|0)<(w|0)|(T|0)==(w|0)&l>>>0>>0){V=0;break b}v=z+P|0;P=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;v=O;f[v>>2]=r;f[v+4>>2]=w;Lh(A,P)|0;Bm(i);_f(k,g);P=Pd(i,c,k)|0;w=f[k+16>>2]|0;if(w|0){v=k+20|0;r=f[v>>2]|0;if((r|0)!=(w|0))f[v>>2]=r+(~(((r+-20-w|0)>>>0)/20|0)*20|0);ip(w)}w=f[k>>2]|0;if(w|0){r=k+4|0;if((f[r>>2]|0)!=(w|0))f[r>>2]=w;ip(w)}if(!P){V=0;break b}break}case 1:{if(!((T|0)>(p|0)|(T|0)==(p|0)&l>>>0>t>>>0)){V=0;break b}p=b[z+t>>0]|0;t=Rl(x|0,q|0,2,0)|0;P=O;f[P>>2]=t;f[P+4>>2]=I;if((p&255)>6){f[e>>2]=p&255;Il(4930,e)|0;V=0;break b}P=Rl(x|0,q|0,6,0)|0;w=I;if((T|0)<(w|0)|(T|0)==(w|0)&l>>>0

>>0){V=0;break b}r=z+t|0;t=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;r=O;f[r>>2]=P;f[r+4>>2]=w;if(!y){w=0;do{r=Qa[f[(f[U>>2]|0)+20>>2]&127](a,w)|0;P=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;z=f[(f[(f[P>>2]|0)+8>>2]|0)+(r<<2)>>2]|0;Lh(z,t)|0;b[z+84>>0]=1;r=f[z+68>>2]|0;P=z+72|0;z=f[P>>2]|0;if((z|0)!=(r|0))f[P>>2]=z+(~((z+-4-r|0)>>>2)<<2);w=w+1|0}while(w>>>0>>0)}_f(i,g);switch(p<<24>>24){case 0:{Ce(k,S);w=ne(k,c,i)|0;we(k);if(w)B=77;else W=1;break}case 1:{Ce(k,S);w=me(k,c,i)|0;we(k);if(w)B=77;else W=1;break}case 2:{Ee(k,S);w=pe(k,c,i)|0;Me(k);if(w)B=77;else W=1;break}case 3:{Ee(k,S);w=oe(k,c,i)|0;Me(k);if(w)B=77;else W=1;break}case 4:{ue(k,S);w=le(k,c,i)|0;Ae(k);if(w)B=77;else W=1;break}case 5:{ue(k,S);w=ke(k,c,i)|0;Ae(k);if(w)B=77;else W=1;break}case 6:{ue(k,S);w=je(k,c,i)|0;Ae(k);if(w)B=77;else W=1;break}default:W=1}if((B|0)==77)W=0;w=f[i+16>>2]|0;if(w|0){t=i+20|0;r=f[t>>2]|0;if((r|0)!=(w|0))f[t>>2]=r+(~(((r+-20-w|0)>>>0)/20|0)*20|0);ip(w)}w=f[i>>2]|0;if(w|0){r=i+4|0;if((f[r>>2]|0)!=(w|0))f[r>>2]=w;ip(w)}if(W|0){V=0;break b}break}default:{V=0;break b}}V=1}else V=0;while(0);W=f[g>>2]|0;if(W|0){g=f[Q>>2]|0;if((g|0)!=(W|0))f[Q>>2]=g+(~(((g+-20-W|0)>>>0)/20|0)*20|0);ip(W)}R=V;u=d;return R|0}function pb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=Na,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=_k(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Rl(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;if(!(b[a+32>>0]|0)){r=o;m=0;while(1){s=$(b[r>>0]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}else{r=o;m=0;while(1){s=$($(b[r>>0]|0)/$(127.0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}}else t=l;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 2:{r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;q=_k(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=Rl(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+u|0;if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=$(h[u>>0]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){v=q;break}else u=u+1|0}}else{u=o;k=0;while(1){s=$($(h[u>>0]|0)/$(255.0));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else u=u+1|0}}}else v=m;u=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 3:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Rl(_k(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=$(d[u>>1]|0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else u=u+2|0}}else{u=o;l=0;while(1){s=$($(d[u>>1]|0)/$(32767.0));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else u=u+2|0}}else w=k;u=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 4:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Rl(_k(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){s=$(j[u>>1]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else u=u+2|0}}else{u=o;m=0;while(1){s=$($(j[u>>1]|0)/$(65535.0));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){x=k;break}else u=u+2|0}}else x=l;u=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 5:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Rl(_k(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=$(f[u>>2]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){y=q;break}else u=u+4|0}}else{u=o;k=0;while(1){s=$($(f[u>>2]|0)*$(4.65661287e-10));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){y=l;break}else u=u+4|0}}else y=m;u=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 6:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Rl(_k(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=$((f[u>>2]|0)>>>0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){z=q;break}else u=u+4|0}}else{u=o;l=0;while(1){s=$($((f[u>>2]|0)>>>0)*$(2.32830644e-10));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){z=m;break}else u=u+4|0}}else z=k;u=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 7:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Rl(_k(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){q=u;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+(f[q+4>>2]|0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else u=u+8|0}}else{u=o;m=0;while(1){k=u;s=$($(+((f[k>>2]|0)>>>0)+4294967296.0*+(f[k+4>>2]|0))*$(1.08420217e-19));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){A=k;break}else u=u+8|0}}else A=l;u=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 8:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Rl(_k(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){q=u;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+((f[q+4>>2]|0)>>>0));n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){B=q;break}else u=u+8|0}}else{u=o;k=0;while(1){l=u;s=$($(+((f[l>>2]|0)>>>0)+4294967296.0*+((f[l+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){B=l;break}else u=u+8|0}}else B=m;u=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 9:{u=a+24|0;k=b[u>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;l=_k(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Rl(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=r+q|0;q=0;while(1){f[g+(q<<2)>>2]=f[o>>2];q=q+1|0;r=b[u>>0]|0;if((q|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){C=r;break}else o=o+4|0}}else C=k;o=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 10:{o=a+24|0;q=b[o>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){u=f[f[a>>2]>>2]|0;m=a+40|0;r=_k(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;l=Rl(r|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=u+l|0;l=0;while(1){s=$(+p[m>>3]);n[g+(l<<2)>>2]=s;l=l+1|0;u=b[o>>0]|0;if((l|0)>=((u<<24>>24>e<<24>>24?e:u)<<24>>24|0)){D=u;break}else m=m+8|0}}else D=q;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;k=a+40|0;u=_k(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Rl(u|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=o+r|0;r=0;while(1){s=$((b[k>>0]|0)!=0&1);n[g+(r<<2)>>2]=s;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){E=o;break}else k=k+1|0}}else E=l;k=E<<24>>24;if(E<<24>>24>=e<<24>>24){i=1;return i|0}Dh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function qb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(n>>>0>=e>>>0){if(n>>>0>e>>>0?(l=o+(e<<2)|0,(l|0)!=(m|0)):0)f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2)}else Ng(j,e-n|0);n=d;j=n+48|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(j|0));f[h>>2]=0;if(!e){p=0;q=0}else{dg(d,e,h);p=f[d+16>>2]|0;q=f[d+12>>2]|0}f[h>>2]=0;n=d+16|0;j=p-q>>2;l=q;q=p;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(p=l+(e<<2)|0,(p|0)!=(q|0)):0)f[n>>2]=q+(~((q+-4-p|0)>>>2)<<2)}else dg(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;p=d+28|0;q=f[p>>2]|0;n=f[j>>2]|0;l=q-n>>2;m=n;n=q;if(l>>>0>=e>>>0){if(l>>>0>e>>>0?(q=m+(e<<2)|0,(q|0)!=(n|0)):0)f[p>>2]=n+(~((n+-4-q|0)>>>2)<<2)}else dg(j,e-l|0,h);l=d+36|0;f[h>>2]=0;j=d+40|0;q=f[j>>2]|0;n=f[l>>2]|0;p=q-n>>2;m=n;n=q;if(p>>>0>=e>>>0){if(p>>>0>e>>>0?(q=m+(e<<2)|0,(q|0)!=(n|0)):0)f[j>>2]=n+(~((n+-4-q|0)>>>2)<<2)}else dg(l,e-p|0,h);p=f[d>>2]|0;if((f[i>>2]|0)>0){l=a+16|0;q=a+32|0;n=a+12|0;j=0;do{m=f[p+(j<<2)>>2]|0;k=f[l>>2]|0;if((m|0)>(k|0)){o=f[q>>2]|0;f[o+(j<<2)>>2]=k;r=o}else{o=f[n>>2]|0;k=f[q>>2]|0;f[k+(j<<2)>>2]=(m|0)<(o|0)?o:m;r=k}j=j+1|0;s=f[i>>2]|0}while((j|0)<(s|0));if((s|0)>0){s=a+20|0;j=0;do{q=(f[b+(j<<2)>>2]|0)+(f[r+(j<<2)>>2]|0)|0;p=c+(j<<2)|0;f[p>>2]=q;if((q|0)<=(f[l>>2]|0)){if((q|0)<(f[n>>2]|0)){t=(f[s>>2]|0)+q|0;v=18}}else{t=q-(f[s>>2]|0)|0;v=18}if((v|0)==18){v=0;f[p>>2]=t}j=j+1|0}while((j|0)<(f[i>>2]|0))}}j=f[a+48>>2]|0;t=f[a+52>>2]|0;s=Vk(16)|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;do if(e)if(e>>>0>1073741823)zo(h);else{l=e<<2;r=Vk(l)|0;f[h>>2]=r;p=r+(e<<2)|0;f[h+8>>2]=p;Dh(r|0,0,l|0)|0;f[n>>2]=p;w=r;x=r;break}else{w=0;x=0}while(0);r=a+56|0;p=f[r>>2]|0;l=f[p+4>>2]|0;q=f[p>>2]|0;k=l-q|0;m=k>>2;do if((k|0)>4){o=j+64|0;y=j+28|0;z=(e|0)>0;A=a+16|0;B=a+32|0;C=a+12|0;D=a+20|0;E=e<<2;F=(e|0)==1;if(l-q>>2>>>0>1){G=1;H=q}else{I=p;zo(I)}while(1){J=f[H+(G<<2)>>2]|0;K=(((J>>>0)%3|0|0)==0?2:-1)+J|0;L=K>>>5;M=1<<(K&31);N=(J|0)==-1|(K|0)==-1;O=1;P=0;Q=J;a:while(1){R=O^1;S=P;T=Q;while(1){if((T|0)==-1){U=S;v=64;break a}V=f[d+(S*12|0)>>2]|0;if(((f[(f[j>>2]|0)+(T>>>5<<2)>>2]&1<<(T&31)|0)==0?(W=f[(f[(f[o>>2]|0)+12>>2]|0)+(T<<2)>>2]|0,(W|0)!=-1):0)?(Y=f[y>>2]|0,Z=f[t>>2]|0,_=f[Z+(f[Y+(W<<2)>>2]<<2)>>2]|0,$=W+1|0,aa=f[Z+(f[Y+(((($>>>0)%3|0|0)==0?W+-2|0:$)<<2)>>2]<<2)>>2]|0,$=f[Z+(f[Y+((((W>>>0)%3|0|0)==0?2:-1)+W<<2)>>2]<<2)>>2]|0,(_|0)<(G|0)&(aa|0)<(G|0)&($|0)<(G|0)):0){W=X(_,e)|0;_=X(aa,e)|0;aa=X($,e)|0;if(z){$=0;do{f[V+($<<2)>>2]=(f[c+($+aa<<2)>>2]|0)+(f[c+($+_<<2)>>2]|0)-(f[c+($+W<<2)>>2]|0);$=$+1|0}while(($|0)!=(e|0))}$=S+1|0;if(($|0)==4){ba=4;v=44;break a}else ca=$}else ca=S;do if(O){$=T+1|0;W=(($>>>0)%3|0|0)==0?T+-2|0:$;if(((W|0)!=-1?(f[(f[j>>2]|0)+(W>>>5<<2)>>2]&1<<(W&31)|0)==0:0)?($=f[(f[(f[o>>2]|0)+12>>2]|0)+(W<<2)>>2]|0,W=$+1|0,($|0)!=-1):0)da=((W>>>0)%3|0|0)==0?$+-2|0:W;else da=-1}else{W=(((T>>>0)%3|0|0)==0?2:-1)+T|0;if(((W|0)!=-1?(f[(f[j>>2]|0)+(W>>>5<<2)>>2]&1<<(W&31)|0)==0:0)?($=f[(f[(f[o>>2]|0)+12>>2]|0)+(W<<2)>>2]|0,($|0)!=-1):0)if(!(($>>>0)%3|0)){da=$+2|0;break}else{da=$+-1|0;break}else da=-1}while(0);if((da|0)==(J|0)){U=ca;v=64;break a}if((da|0)!=-1|R){S=ca;T=da}else break}if(N){O=0;P=ca;Q=-1;continue}if(f[(f[j>>2]|0)+(L<<2)>>2]&M|0){O=0;P=ca;Q=-1;continue}T=f[(f[(f[o>>2]|0)+12>>2]|0)+(K<<2)>>2]|0;if((T|0)==-1){O=0;P=ca;Q=-1;continue}if(!((T>>>0)%3|0)){O=0;P=ca;Q=T+2|0;continue}else{O=0;P=ca;Q=T+-1|0;continue}}if((v|0)==64){v=0;if((U|0)>0){ba=U;v=44}else{ea=X(G,e)|0;v=77}}if((v|0)==44){v=0;if(z){Dh(f[h>>2]|0,0,E|0)|0;Q=ba+-1|0;P=s+(Q<<2)|0;O=f[a+60+(Q*12|0)>>2]|0;Q=f[h>>2]|0;K=0;M=0;while(1){L=f[P>>2]|0;f[P>>2]=L+1;if(!(f[O+(L>>>5<<2)>>2]&1<<(L&31))){L=f[d+(K*12|0)>>2]|0;N=0;do{J=Q+(N<<2)|0;f[J>>2]=(f[J>>2]|0)+(f[L+(N<<2)>>2]|0);N=N+1|0}while((N|0)!=(e|0));fa=M+1|0}else fa=M;K=K+1|0;if((K|0)==(ba|0)){ga=fa;break}else M=fa}}else{M=ba+-1|0;K=s+(M<<2)|0;Q=f[a+60+(M*12|0)>>2]|0;M=0;O=0;P=f[K>>2]|0;while(1){N=P;P=P+1|0;f[K>>2]=P;L=O+((f[Q+(N>>>5<<2)>>2]&1<<(N&31)|0)==0&1)|0;M=M+1|0;if((M|0)==(ba|0)){ga=L;break}else O=L}}O=X(G,e)|0;if(ga){M=f[h>>2]|0;if(z?(f[M>>2]=(f[M>>2]|0)/(ga|0)|0,!F):0){Q=1;do{P=M+(Q<<2)|0;f[P>>2]=(f[P>>2]|0)/(ga|0)|0;Q=Q+1|0}while((Q|0)!=(e|0))}Q=b+(O<<2)|0;P=c+(O<<2)|0;if((f[i>>2]|0)>0){K=0;do{L=f[M+(K<<2)>>2]|0;N=f[A>>2]|0;if((L|0)>(N|0)){J=f[B>>2]|0;f[J+(K<<2)>>2]=N;ha=J}else{J=f[C>>2]|0;N=f[B>>2]|0;f[N+(K<<2)>>2]=(L|0)<(J|0)?J:L;ha=N}K=K+1|0;ia=f[i>>2]|0}while((K|0)<(ia|0));if((ia|0)>0){K=0;do{M=(f[Q+(K<<2)>>2]|0)+(f[ha+(K<<2)>>2]|0)|0;N=P+(K<<2)|0;f[N>>2]=M;do if((M|0)>(f[A>>2]|0)){ja=M-(f[D>>2]|0)|0;v=99}else{if((M|0)>=(f[C>>2]|0))break;ja=(f[D>>2]|0)+M|0;v=99}while(0);if((v|0)==99){v=0;f[N>>2]=ja}K=K+1|0}while((K|0)<(f[i>>2]|0))}}}else{ea=O;v=77}}if((v|0)==77?(v=0,K=c+((X(G+-1|0,e)|0)<<2)|0,P=b+(ea<<2)|0,Q=c+(ea<<2)|0,(f[i>>2]|0)>0):0){M=0;do{L=f[K+(M<<2)>>2]|0;J=f[A>>2]|0;if((L|0)>(J|0)){T=f[B>>2]|0;f[T+(M<<2)>>2]=J;ka=T}else{T=f[C>>2]|0;J=f[B>>2]|0;f[J+(M<<2)>>2]=(L|0)<(T|0)?T:L;ka=J}M=M+1|0;la=f[i>>2]|0}while((M|0)<(la|0));if((la|0)>0){M=0;do{K=(f[P+(M<<2)>>2]|0)+(f[ka+(M<<2)>>2]|0)|0;O=Q+(M<<2)|0;f[O>>2]=K;if((K|0)<=(f[A>>2]|0)){if((K|0)<(f[C>>2]|0)){ma=(f[D>>2]|0)+K|0;v=87}}else{ma=K-(f[D>>2]|0)|0;v=87}if((v|0)==87){v=0;f[O>>2]=ma}M=M+1|0}while((M|0)<(f[i>>2]|0))}}G=G+1|0;if((G|0)>=(m|0)){v=28;break}M=f[r>>2]|0;H=f[M>>2]|0;if((f[M+4>>2]|0)-H>>2>>>0<=G>>>0){I=M;v=34;break}}if((v|0)==28){D=f[h>>2]|0;na=D;oa=D;break}else if((v|0)==34)zo(I)}else{na=x;oa=w}while(0);if(na|0){w=f[n>>2]|0;if((w|0)!=(na|0))f[n>>2]=w+(~((w+-4-na|0)>>>2)<<2);ip(oa)}ip(s);s=f[d+36>>2]|0;if(s|0){oa=d+40|0;na=f[oa>>2]|0;if((na|0)!=(s|0))f[oa>>2]=na+(~((na+-4-s|0)>>>2)<<2);ip(s)}s=f[d+24>>2]|0;if(s|0){na=d+28|0;oa=f[na>>2]|0;if((oa|0)!=(s|0))f[na>>2]=oa+(~((oa+-4-s|0)>>>2)<<2);ip(s)}s=f[d+12>>2]|0;if(s|0){oa=d+16|0;na=f[oa>>2]|0;if((na|0)!=(s|0))f[oa>>2]=na+(~((na+-4-s|0)>>>2)<<2);ip(s)}s=f[d>>2]|0;if(!s){u=g;return 1}na=d+4|0;d=f[na>>2]|0;if((d|0)!=(s|0))f[na>>2]=d+(~((d+-4-s|0)>>>2)<<2);ip(s);u=g;return 1}function rb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[k>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;m=l;if(n>>>0>=e>>>0){if(n>>>0>e>>>0?(l=o+(e<<2)|0,(l|0)!=(m|0)):0)f[k>>2]=m+(~((m+-4-l|0)>>>2)<<2)}else Ng(j,e-n|0);n=d;j=n+48|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(j|0));f[h>>2]=0;if(!e){p=0;q=0}else{dg(d,e,h);p=f[d+16>>2]|0;q=f[d+12>>2]|0}f[h>>2]=0;n=d+16|0;j=p-q>>2;l=q;q=p;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(p=l+(e<<2)|0,(p|0)!=(q|0)):0)f[n>>2]=q+(~((q+-4-p|0)>>>2)<<2)}else dg(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;p=d+28|0;q=f[p>>2]|0;n=f[j>>2]|0;l=q-n>>2;m=n;n=q;if(l>>>0>=e>>>0){if(l>>>0>e>>>0?(q=m+(e<<2)|0,(q|0)!=(n|0)):0)f[p>>2]=n+(~((n+-4-q|0)>>>2)<<2)}else dg(j,e-l|0,h);l=d+36|0;f[h>>2]=0;j=d+40|0;q=f[j>>2]|0;n=f[l>>2]|0;p=q-n>>2;m=n;n=q;if(p>>>0>=e>>>0){if(p>>>0>e>>>0?(q=m+(e<<2)|0,(q|0)!=(n|0)):0)f[j>>2]=n+(~((n+-4-q|0)>>>2)<<2)}else dg(l,e-p|0,h);p=f[d>>2]|0;if((f[i>>2]|0)>0){l=a+16|0;q=a+32|0;n=a+12|0;j=0;do{m=f[p+(j<<2)>>2]|0;k=f[l>>2]|0;if((m|0)>(k|0)){o=f[q>>2]|0;f[o+(j<<2)>>2]=k;r=o}else{o=f[n>>2]|0;k=f[q>>2]|0;f[k+(j<<2)>>2]=(m|0)<(o|0)?o:m;r=k}j=j+1|0;s=f[i>>2]|0}while((j|0)<(s|0));if((s|0)>0){s=a+20|0;j=0;do{q=(f[b+(j<<2)>>2]|0)+(f[r+(j<<2)>>2]|0)|0;p=c+(j<<2)|0;f[p>>2]=q;if((q|0)<=(f[l>>2]|0)){if((q|0)<(f[n>>2]|0)){t=(f[s>>2]|0)+q|0;v=18}}else{t=q-(f[s>>2]|0)|0;v=18}if((v|0)==18){v=0;f[p>>2]=t}j=j+1|0}while((j|0)<(f[i>>2]|0))}}j=f[a+48>>2]|0;t=f[a+52>>2]|0;s=Vk(16)|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h>>2]=0;n=h+4|0;f[n>>2]=0;f[h+8>>2]=0;do if(e)if(e>>>0>1073741823)zo(h);else{l=e<<2;r=Vk(l)|0;f[h>>2]=r;p=r+(e<<2)|0;f[h+8>>2]=p;Dh(r|0,0,l|0)|0;f[n>>2]=p;w=r;x=r;break}else{w=0;x=0}while(0);r=a+56|0;p=f[r>>2]|0;l=f[p+4>>2]|0;q=f[p>>2]|0;k=l-q|0;m=k>>2;do if((k|0)>4){o=j+12|0;y=(e|0)>0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+20|0;D=e<<2;E=(e|0)==1;if(l-q>>2>>>0>1){F=1;G=q}else{H=p;zo(H)}while(1){I=f[G+(F<<2)>>2]|0;J=(((I>>>0)%3|0|0)==0?2:-1)+I|0;K=(I|0)==-1|(J|0)==-1;L=1;M=0;N=I;a:while(1){O=L^1;P=M;Q=N;while(1){if((Q|0)==-1){R=P;v=64;break a}S=f[d+(P*12|0)>>2]|0;T=f[o>>2]|0;U=f[T+(Q<<2)>>2]|0;if((U|0)!=-1){V=f[j>>2]|0;W=f[t>>2]|0;Y=f[W+(f[V+(U<<2)>>2]<<2)>>2]|0;Z=U+1|0;_=((Z>>>0)%3|0|0)==0?U+-2|0:Z;if((_|0)==-1)$=-1;else $=f[V+(_<<2)>>2]|0;_=f[W+($<<2)>>2]|0;Z=(((U>>>0)%3|0|0)==0?2:-1)+U|0;if((Z|0)==-1)aa=-1;else aa=f[V+(Z<<2)>>2]|0;Z=f[W+(aa<<2)>>2]|0;if((Y|0)<(F|0)&(_|0)<(F|0)&(Z|0)<(F|0)){W=X(Y,e)|0;Y=X(_,e)|0;_=X(Z,e)|0;if(y){Z=0;do{f[S+(Z<<2)>>2]=(f[c+(Z+_<<2)>>2]|0)+(f[c+(Z+Y<<2)>>2]|0)-(f[c+(Z+W<<2)>>2]|0);Z=Z+1|0}while((Z|0)!=(e|0))}Z=P+1|0;if((Z|0)==4){ba=4;v=47;break a}else ca=Z}else ca=P}else ca=P;do if(L){Z=Q+1|0;W=((Z>>>0)%3|0|0)==0?Q+-2|0:Z;if((W|0)!=-1?(Z=f[T+(W<<2)>>2]|0,W=Z+1|0,(Z|0)!=-1):0)da=((W>>>0)%3|0|0)==0?Z+-2|0:W;else da=-1}else{W=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if((W|0)!=-1?(Z=f[T+(W<<2)>>2]|0,(Z|0)!=-1):0)if(!((Z>>>0)%3|0)){da=Z+2|0;break}else{da=Z+-1|0;break}else da=-1}while(0);if((da|0)==(I|0)){R=ca;v=64;break a}if((da|0)!=-1|O){P=ca;Q=da}else break}if(K){L=0;M=ca;N=-1;continue}Q=f[T+(J<<2)>>2]|0;if((Q|0)==-1){L=0;M=ca;N=-1;continue}if(!((Q>>>0)%3|0)){L=0;M=ca;N=Q+2|0;continue}else{L=0;M=ca;N=Q+-1|0;continue}}if((v|0)==64){v=0;if((R|0)>0){ba=R;v=47}else{ea=X(F,e)|0;v=77}}if((v|0)==47){v=0;if(y){Dh(f[h>>2]|0,0,D|0)|0;N=ba+-1|0;M=s+(N<<2)|0;L=f[a+60+(N*12|0)>>2]|0;N=f[h>>2]|0;J=0;K=0;while(1){I=f[M>>2]|0;f[M>>2]=I+1;if(!(f[L+(I>>>5<<2)>>2]&1<<(I&31))){I=f[d+(J*12|0)>>2]|0;Q=0;do{P=N+(Q<<2)|0;f[P>>2]=(f[P>>2]|0)+(f[I+(Q<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0));fa=K+1|0}else fa=K;J=J+1|0;if((J|0)==(ba|0)){ga=fa;break}else K=fa}}else{K=ba+-1|0;J=s+(K<<2)|0;N=f[a+60+(K*12|0)>>2]|0;K=0;L=0;M=f[J>>2]|0;while(1){Q=M;M=M+1|0;f[J>>2]=M;I=L+((f[N+(Q>>>5<<2)>>2]&1<<(Q&31)|0)==0&1)|0;K=K+1|0;if((K|0)==(ba|0)){ga=I;break}else L=I}}L=X(F,e)|0;if(ga){K=f[h>>2]|0;if(y?(f[K>>2]=(f[K>>2]|0)/(ga|0)|0,!E):0){N=1;do{M=K+(N<<2)|0;f[M>>2]=(f[M>>2]|0)/(ga|0)|0;N=N+1|0}while((N|0)!=(e|0))}N=b+(L<<2)|0;M=c+(L<<2)|0;if((f[i>>2]|0)>0){J=0;do{I=f[K+(J<<2)>>2]|0;Q=f[z>>2]|0;if((I|0)>(Q|0)){P=f[A>>2]|0;f[P+(J<<2)>>2]=Q;ha=P}else{P=f[B>>2]|0;Q=f[A>>2]|0;f[Q+(J<<2)>>2]=(I|0)<(P|0)?P:I;ha=Q}J=J+1|0;ia=f[i>>2]|0}while((J|0)<(ia|0));if((ia|0)>0){J=0;do{K=(f[N+(J<<2)>>2]|0)+(f[ha+(J<<2)>>2]|0)|0;Q=M+(J<<2)|0;f[Q>>2]=K;do if((K|0)>(f[z>>2]|0)){ja=K-(f[C>>2]|0)|0;v=99}else{if((K|0)>=(f[B>>2]|0))break;ja=(f[C>>2]|0)+K|0;v=99}while(0);if((v|0)==99){v=0;f[Q>>2]=ja}J=J+1|0}while((J|0)<(f[i>>2]|0))}}}else{ea=L;v=77}}if((v|0)==77?(v=0,J=c+((X(F+-1|0,e)|0)<<2)|0,M=b+(ea<<2)|0,N=c+(ea<<2)|0,(f[i>>2]|0)>0):0){K=0;do{I=f[J+(K<<2)>>2]|0;P=f[z>>2]|0;if((I|0)>(P|0)){O=f[A>>2]|0;f[O+(K<<2)>>2]=P;ka=O}else{O=f[B>>2]|0;P=f[A>>2]|0;f[P+(K<<2)>>2]=(I|0)<(O|0)?O:I;ka=P}K=K+1|0;la=f[i>>2]|0}while((K|0)<(la|0));if((la|0)>0){K=0;do{J=(f[M+(K<<2)>>2]|0)+(f[ka+(K<<2)>>2]|0)|0;L=N+(K<<2)|0;f[L>>2]=J;if((J|0)<=(f[z>>2]|0)){if((J|0)<(f[B>>2]|0)){ma=(f[C>>2]|0)+J|0;v=87}}else{ma=J-(f[C>>2]|0)|0;v=87}if((v|0)==87){v=0;f[L>>2]=ma}K=K+1|0}while((K|0)<(f[i>>2]|0))}}F=F+1|0;if((F|0)>=(m|0)){v=28;break}K=f[r>>2]|0;G=f[K>>2]|0;if((f[K+4>>2]|0)-G>>2>>>0<=F>>>0){H=K;v=34;break}}if((v|0)==28){C=f[h>>2]|0;na=C;oa=C;break}else if((v|0)==34)zo(H)}else{na=x;oa=w}while(0);if(na|0){w=f[n>>2]|0;if((w|0)!=(na|0))f[n>>2]=w+(~((w+-4-na|0)>>>2)<<2);ip(oa)}ip(s);s=f[d+36>>2]|0;if(s|0){oa=d+40|0;na=f[oa>>2]|0;if((na|0)!=(s|0))f[oa>>2]=na+(~((na+-4-s|0)>>>2)<<2);ip(s)}s=f[d+24>>2]|0;if(s|0){na=d+28|0;oa=f[na>>2]|0;if((oa|0)!=(s|0))f[na>>2]=oa+(~((oa+-4-s|0)>>>2)<<2);ip(s)}s=f[d+12>>2]|0;if(s|0){oa=d+16|0;na=f[oa>>2]|0;if((na|0)!=(s|0))f[oa>>2]=na+(~((na+-4-s|0)>>>2)<<2);ip(s)}s=f[d>>2]|0;if(!s){u=g;return 1}na=d+4|0;d=f[na>>2]|0;if((d|0)!=(s|0))f[na>>2]=d+(~((d+-4-s|0)>>>2)<<2);ip(s);u=g;return 1}function sb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+8|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)zo(e);else{k=i<<2;l=Vk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+116|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);ip(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)zo(e);else{s=t<<2;p=Vk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Dh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+128|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);ip(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;oc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;if(A|0){b=a+104|0;q=e+4|0;p=e+8|0;r=a+92|0;v=a+48|0;w=a+44|0;m=a+28|0;j=a+24|0;k=a+88|0;i=a+84|0;n=e+4|0;o=e+8|0;B=A;while(1){A=f[s>>2]|0;C=B+-1|0;D=A+C|0;E=f[z>>2]|0;F=f[E+(((D>>>0)/341|0)<<2)>>2]|0;G=(D>>>0)%341|0;D=f[F+(G*12|0)>>2]|0;H=f[F+(G*12|0)+4>>2]|0;I=f[F+(G*12|0)+8>>2]|0;f[y>>2]=C;C=f[x>>2]|0;G=C-E>>2;if((1-B-A+((G|0)==0?0:(G*341|0)+-1|0)|0)>>>0>681){ip(f[C+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}C=f[l>>2]|0;G=C+(I*12|0)|0;A=(f[t>>2]|0)+(I*12|0)|0;E=ml(a,D,A,H)|0;H=(f[a>>2]|0)-(f[(f[A>>2]|0)+(E<<2)>>2]|0)|0;a:do if(!H)if((D|0)>0){F=0;do{J=f[G>>2]|0;K=f[J>>2]|0;f[e>>2]=K;f[n>>2]=f[J+4>>2];f[o>>2]=f[J+8>>2];J=f[c>>2]|0;L=J+4|0;M=f[L>>2]|0;if(M>>>0<(f[J+8>>2]|0)>>>0){f[M>>2]=K;f[M+4>>2]=f[n>>2];f[M+8>>2]=f[o>>2];f[L>>2]=M+12}else Pf(J,e);F=F+1|0}while((F|0)<(D|0));N=23}else N=23;else{if(D>>>0<3){F=f[b>>2]|0;f[F>>2]=E;J=f[h>>2]|0;if(J>>>0>1){M=1;L=J;K=E;while(1){K=(K|0)==(L+-1|0)?0:K+1|0;f[F+(M<<2)>>2]=K;M=M+1|0;O=f[h>>2]|0;if(M>>>0>=O>>>0){P=O;break}else L=O}}else P=J;if(!D){N=23;break}L=0;M=P;while(1){if(!M)Q=f[r>>2]|0;else{K=f[b>>2]|0;F=f[r>>2]|0;O=f[A>>2]|0;R=f[G>>2]|0;S=0;do{T=K+(S<<2)|0;f[F+(f[T>>2]<<2)>>2]=0;U=f[T>>2]|0;V=(f[a>>2]|0)-(f[O+(U<<2)>>2]|0)|0;do if(V|0){W=F+(U<<2)|0;X=f[v>>2]|0;Y=32-X|0;Z=f[w>>2]|0;$=f[Z>>2]<(Y|0)){X=V-Y|0;f[v>>2]=X;aa=Z+4|0;f[w>>2]=aa;ba=32-X|0;f[W>>2]=(f[aa>>2]|0)>>>ba|$>>>(ba-Y|0);break}f[W>>2]=$>>>(32-V|0);$=(f[v>>2]|0)+V|0;f[v>>2]=$;if(($|0)!=32)break;f[w>>2]=Z+4;f[v>>2]=0}while(0);V=f[T>>2]|0;U=F+(V<<2)|0;f[U>>2]=f[U>>2]|f[R+(V<<2)>>2];S=S+1|0}while(S>>>0<(f[h>>2]|0)>>>0);Q=F}F=f[Q>>2]|0;f[e>>2]=F;f[q>>2]=f[Q+4>>2];f[p>>2]=f[Q+8>>2];S=f[c>>2]|0;R=S+4|0;O=f[R>>2]|0;if(O>>>0<(f[S+8>>2]|0)>>>0){f[O>>2]=F;f[O+4>>2]=f[q>>2];f[O+8>>2]=f[p>>2];f[R>>2]=O+12}else Pf(S,e);S=L+1|0;if(S>>>0>=D>>>0){N=23;break a}L=S;M=f[h>>2]|0}}M=I+1|0;L=f[l>>2]|0;J=L+(M*12|0)|0;if((J|0)==(G|0))ca=L;else{lf(J,f[G>>2]|0,f[C+(I*12|0)+4>>2]|0);ca=f[l>>2]|0}J=(f[ca+(M*12|0)>>2]|0)+(E<<2)|0;f[J>>2]=(f[J>>2]|0)+(1<>2]|0;S=32-L|0;O=f[j>>2]|0;R=f[O>>2]<>>(32-J|0);K=L+J|0;f[m>>2]=K;if((K|0)==32){f[j>>2]=O+4;f[m>>2]=0;da=F}else da=F}else{F=J-S|0;f[m>>2]=F;J=O+4|0;f[j>>2]=J;O=32-F|0;da=(f[J>>2]|0)>>>O|R>>>(O-S|0)}S=(D>>>1)-da|0;O=D-S|0;if((S|0)==(O|0)){ea=S;fa=S}else{R=f[k>>2]|0;J=f[i>>2]|0;F=(f[J>>2]&1<<31-R|0)!=0;K=R+1|0;f[k>>2]=K;if((K|0)==32){f[i>>2]=J+4;f[k>>2]=0}ea=F?S:O;fa=F?O:S}S=f[t>>2]|0;O=f[S+(I*12|0)>>2]|0;F=O+(E<<2)|0;f[F>>2]=(f[F>>2]|0)+1;lf(S+(M*12|0)|0,O,f[S+(I*12|0)+4>>2]|0);if(ea|0){S=f[x>>2]|0;O=f[z>>2]|0;F=S-O>>2;J=f[s>>2]|0;K=f[y>>2]|0;if((((F|0)==0?0:(F*341|0)+-1|0)|0)==(K+J|0)){oc(g);ga=f[y>>2]|0;ha=f[s>>2]|0;ia=f[x>>2]|0;ja=f[z>>2]|0}else{ga=K;ha=J;ia=S;ja=O}O=ga+ha|0;if((ia|0)==(ja|0))ka=0;else ka=(f[ja+(((O>>>0)/341|0)<<2)>>2]|0)+(((O>>>0)%341|0)*12|0)|0;f[ka>>2]=ea;f[ka+4>>2]=E;f[ka+8>>2]=I;f[y>>2]=(f[y>>2]|0)+1}if(!fa)N=23;else{O=f[x>>2]|0;S=f[z>>2]|0;J=O-S>>2;K=f[s>>2]|0;F=f[y>>2]|0;if((((J|0)==0?0:(J*341|0)+-1|0)|0)==(F+K|0)){oc(g);la=f[y>>2]|0;ma=f[s>>2]|0;na=f[x>>2]|0;oa=f[z>>2]|0}else{la=F;ma=K;na=O;oa=S}S=la+ma|0;if((na|0)==(oa|0))pa=0;else pa=(f[oa+(((S>>>0)/341|0)<<2)>>2]|0)+(((S>>>0)%341|0)*12|0)|0;f[pa>>2]=fa;f[pa+4>>2]=E;f[pa+8>>2]=M;M=(f[y>>2]|0)+1|0;f[y>>2]=M;qa=M}}while(0);if((N|0)==23){N=0;qa=f[y>>2]|0}if(!qa)break;else B=qa}}qa=f[z>>2]|0;B=f[s>>2]|0;pa=qa+(((B>>>0)/341|0)<<2)|0;fa=f[x>>2]|0;oa=fa;na=qa;if((fa|0)==(qa|0)){ra=0;sa=0}else{ma=(f[pa>>2]|0)+(((B>>>0)%341|0)*12|0)|0;ra=ma;sa=ma}ma=pa;pa=sa;b:while(1){sa=pa;do{B=sa;if((ra|0)==(B|0))break b;sa=B+12|0}while((sa-(f[ma>>2]|0)|0)!=4092);sa=ma+4|0;ma=sa;pa=f[sa>>2]|0}f[y>>2]=0;y=oa-na>>2;if(y>>>0>2){na=qa;do{ip(f[na>>2]|0);na=(f[z>>2]|0)+4|0;f[z>>2]=na;ta=f[x>>2]|0;ua=ta-na>>2}while(ua>>>0>2);va=ua;wa=na;xa=ta}else{va=y;wa=qa;xa=fa}switch(va|0){case 1:{ya=170;N=87;break}case 2:{ya=341;N=87;break}default:{}}if((N|0)==87)f[s>>2]=ya;if((wa|0)!=(xa|0)){ya=wa;do{ip(f[ya>>2]|0);ya=ya+4|0}while((ya|0)!=(xa|0));xa=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(xa|0))f[x>>2]=z+(~((z+-4-xa|0)>>>2)<<2)}xa=f[g>>2]|0;if(!xa){u=d;return}ip(xa);u=d;return}function tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+8|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)zo(e);else{k=i<<2;l=Vk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+116|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);ip(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)zo(e);else{s=t<<2;p=Vk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Dh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+128|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);ip(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;oc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;if(A|0){b=a+104|0;q=e+4|0;p=e+8|0;r=a+92|0;v=a+48|0;w=a+44|0;m=a+28|0;j=a+24|0;k=a+88|0;i=a+84|0;n=e+4|0;o=e+8|0;B=A;while(1){A=f[s>>2]|0;C=B+-1|0;D=A+C|0;E=f[z>>2]|0;F=f[E+(((D>>>0)/341|0)<<2)>>2]|0;G=(D>>>0)%341|0;D=f[F+(G*12|0)>>2]|0;H=f[F+(G*12|0)+4>>2]|0;I=f[F+(G*12|0)+8>>2]|0;f[y>>2]=C;C=f[x>>2]|0;G=C-E>>2;if((1-B-A+((G|0)==0?0:(G*341|0)+-1|0)|0)>>>0>681){ip(f[C+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}C=f[l>>2]|0;G=C+(I*12|0)|0;A=((f[h>>2]|0)+-1|0)==(H|0)?0:H+1|0;H=(f[t>>2]|0)+(I*12|0)|0;E=(f[a>>2]|0)-(f[(f[H>>2]|0)+(A<<2)>>2]|0)|0;a:do if(!E)if((D|0)>0){F=0;do{J=f[G>>2]|0;K=f[J>>2]|0;f[e>>2]=K;f[n>>2]=f[J+4>>2];f[o>>2]=f[J+8>>2];J=f[c>>2]|0;L=J+4|0;M=f[L>>2]|0;if(M>>>0<(f[J+8>>2]|0)>>>0){f[M>>2]=K;f[M+4>>2]=f[n>>2];f[M+8>>2]=f[o>>2];f[L>>2]=M+12}else Pf(J,e);F=F+1|0}while((F|0)<(D|0));N=23}else N=23;else{if(D>>>0<3){F=f[b>>2]|0;f[F>>2]=A;J=f[h>>2]|0;if(J>>>0>1){M=1;L=J;K=A;while(1){K=(K|0)==(L+-1|0)?0:K+1|0;f[F+(M<<2)>>2]=K;M=M+1|0;O=f[h>>2]|0;if(M>>>0>=O>>>0){P=O;break}else L=O}}else P=J;if(!D){N=23;break}L=0;M=P;while(1){if(!M)Q=f[r>>2]|0;else{K=f[b>>2]|0;F=f[r>>2]|0;O=f[H>>2]|0;R=f[G>>2]|0;S=0;do{T=K+(S<<2)|0;f[F+(f[T>>2]<<2)>>2]=0;U=f[T>>2]|0;V=(f[a>>2]|0)-(f[O+(U<<2)>>2]|0)|0;do if(V|0){W=F+(U<<2)|0;X=f[v>>2]|0;Y=32-X|0;Z=f[w>>2]|0;$=f[Z>>2]<(Y|0)){X=V-Y|0;f[v>>2]=X;aa=Z+4|0;f[w>>2]=aa;ba=32-X|0;f[W>>2]=(f[aa>>2]|0)>>>ba|$>>>(ba-Y|0);break}f[W>>2]=$>>>(32-V|0);$=(f[v>>2]|0)+V|0;f[v>>2]=$;if(($|0)!=32)break;f[w>>2]=Z+4;f[v>>2]=0}while(0);V=f[T>>2]|0;U=F+(V<<2)|0;f[U>>2]=f[U>>2]|f[R+(V<<2)>>2];S=S+1|0}while(S>>>0<(f[h>>2]|0)>>>0);Q=F}F=f[Q>>2]|0;f[e>>2]=F;f[q>>2]=f[Q+4>>2];f[p>>2]=f[Q+8>>2];S=f[c>>2]|0;R=S+4|0;O=f[R>>2]|0;if(O>>>0<(f[S+8>>2]|0)>>>0){f[O>>2]=F;f[O+4>>2]=f[q>>2];f[O+8>>2]=f[p>>2];f[R>>2]=O+12}else Pf(S,e);S=L+1|0;if(S>>>0>=D>>>0){N=23;break a}L=S;M=f[h>>2]|0}}M=I+1|0;lf(C+(M*12|0)|0,f[G>>2]|0,f[C+(I*12|0)+4>>2]|0);L=(f[(f[l>>2]|0)+(M*12|0)>>2]|0)+(A<<2)|0;f[L>>2]=(f[L>>2]|0)+(1<>2]|0;S=32-J|0;O=f[j>>2]|0;R=f[O>>2]<>>(32-L|0);K=J+L|0;f[m>>2]=K;if((K|0)==32){f[j>>2]=O+4;f[m>>2]=0;ca=F}else ca=F}else{F=L-S|0;f[m>>2]=F;L=O+4|0;f[j>>2]=L;O=32-F|0;ca=(f[L>>2]|0)>>>O|R>>>(O-S|0)}S=(D>>>1)-ca|0;O=D-S|0;if((S|0)==(O|0)){da=S;ea=S}else{R=f[k>>2]|0;L=f[i>>2]|0;F=(f[L>>2]&1<<31-R|0)!=0;K=R+1|0;f[k>>2]=K;if((K|0)==32){f[i>>2]=L+4;f[k>>2]=0}da=F?S:O;ea=F?O:S}S=f[t>>2]|0;O=f[S+(I*12|0)>>2]|0;F=O+(A<<2)|0;f[F>>2]=(f[F>>2]|0)+1;lf(S+(M*12|0)|0,O,f[S+(I*12|0)+4>>2]|0);if(da|0){S=f[x>>2]|0;O=f[z>>2]|0;F=S-O>>2;L=f[s>>2]|0;K=f[y>>2]|0;if((((F|0)==0?0:(F*341|0)+-1|0)|0)==(K+L|0)){oc(g);fa=f[y>>2]|0;ga=f[s>>2]|0;ha=f[x>>2]|0;ia=f[z>>2]|0}else{fa=K;ga=L;ha=S;ia=O}O=fa+ga|0;if((ha|0)==(ia|0))ja=0;else ja=(f[ia+(((O>>>0)/341|0)<<2)>>2]|0)+(((O>>>0)%341|0)*12|0)|0;f[ja>>2]=da;f[ja+4>>2]=A;f[ja+8>>2]=I;f[y>>2]=(f[y>>2]|0)+1}if(!ea)N=23;else{O=f[x>>2]|0;S=f[z>>2]|0;L=O-S>>2;K=f[s>>2]|0;F=f[y>>2]|0;if((((L|0)==0?0:(L*341|0)+-1|0)|0)==(F+K|0)){oc(g);ka=f[y>>2]|0;la=f[s>>2]|0;ma=f[x>>2]|0;na=f[z>>2]|0}else{ka=F;la=K;ma=O;na=S}S=ka+la|0;if((ma|0)==(na|0))oa=0;else oa=(f[na+(((S>>>0)/341|0)<<2)>>2]|0)+(((S>>>0)%341|0)*12|0)|0;f[oa>>2]=ea;f[oa+4>>2]=A;f[oa+8>>2]=M;M=(f[y>>2]|0)+1|0;f[y>>2]=M;pa=M}}while(0);if((N|0)==23){N=0;pa=f[y>>2]|0}if(!pa)break;else B=pa}}pa=f[z>>2]|0;B=f[s>>2]|0;oa=pa+(((B>>>0)/341|0)<<2)|0;ea=f[x>>2]|0;na=ea;ma=pa;if((ea|0)==(pa|0)){qa=0;ra=0}else{la=(f[oa>>2]|0)+(((B>>>0)%341|0)*12|0)|0;qa=la;ra=la}la=oa;oa=ra;b:while(1){ra=oa;do{B=ra;if((qa|0)==(B|0))break b;ra=B+12|0}while((ra-(f[la>>2]|0)|0)!=4092);ra=la+4|0;la=ra;oa=f[ra>>2]|0}f[y>>2]=0;y=na-ma>>2;if(y>>>0>2){ma=pa;do{ip(f[ma>>2]|0);ma=(f[z>>2]|0)+4|0;f[z>>2]=ma;sa=f[x>>2]|0;ta=sa-ma>>2}while(ta>>>0>2);ua=ta;va=ma;wa=sa}else{ua=y;va=pa;wa=ea}switch(ua|0){case 1:{xa=170;N=85;break}case 2:{xa=341;N=85;break}default:{}}if((N|0)==85)f[s>>2]=xa;if((va|0)!=(wa|0)){xa=va;do{ip(f[xa>>2]|0);xa=xa+4|0}while((xa|0)!=(wa|0));wa=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(wa|0))f[x>>2]=z+(~((z+-4-wa|0)>>>2)<<2)}wa=f[g>>2]|0;if(!wa){u=d;return}ip(wa);u=d;return}function ub(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0.0,E=0,F=0,G=0,H=0.0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0.0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;Am(c)|0;if((I|0)<0){q=-c;r=1;s=13937}else{q=c;r=(g&2049|0)!=0&1;s=(g&2048|0)==0?((g&1|0)==0?13938:13943):13940}Am(q)|0;do if(0==0&(I&2146435072|0)==2146435072){t=(i&32|0)!=0;v=r+3|0;Ti(a,32,d,v,g&-65537);ln(a,s,r);ln(a,q!=q|0.0!=0.0?(t?13964:13968):t?13956:13960,3);Ti(a,32,d,v,g^8192);w=v}else{c=+Oo(q,l)*2.0;v=c!=0.0;if(v)f[l>>2]=(f[l>>2]|0)+-1;t=i|32;if((t|0)==97){x=i&32;y=(x|0)==0?s:s+9|0;z=r|2;A=12-e|0;do if(!(e>>>0>11|(A|0)==0)){B=8.0;C=A;do{C=C+-1|0;B=B*16.0}while((C|0)!=0);if((b[y>>0]|0)==45){D=-(B+(-c-B));break}else{D=c+B-B;break}}else D=c;while(0);A=f[l>>2]|0;C=(A|0)<0?0-A|0:A;E=$h(C,((C|0)<0)<<31>>31,p)|0;if((E|0)==(p|0)){C=o+11|0;b[C>>0]=48;F=C}else F=E;b[F+-1>>0]=(A>>31&2)+43;A=F+-2|0;b[A>>0]=i+15;E=(e|0)<1;C=(g&8|0)==0;G=m;H=D;while(1){J=~~H;K=G+1|0;b[G>>0]=x|h[13972+J>>0];H=(H-+(J|0))*16.0;if((K-n|0)==1?!(C&(E&H==0.0)):0){b[K>>0]=46;L=G+2|0}else L=K;if(!(H!=0.0))break;else G=L}G=L;if((e|0)!=0?(-2-n+G|0)<(e|0):0){M=G-n|0;N=e+2|0}else{E=G-n|0;M=E;N=E}E=p-A|0;G=E+z+N|0;Ti(a,32,d,G,g);ln(a,y,z);Ti(a,48,d,G,g^65536);ln(a,m,M);Ti(a,48,N-M|0,0,0);ln(a,A,E);Ti(a,32,d,G,g^8192);w=G;break}G=(e|0)<0?6:e;if(v){E=(f[l>>2]|0)+-28|0;f[l>>2]=E;O=c*268435456.0;P=E}else{O=c;P=f[l>>2]|0}E=(P|0)<0?k:k+288|0;C=E;H=O;do{x=~~H>>>0;f[C>>2]=x;C=C+4|0;H=(H-+(x>>>0))*1.0e9}while(H!=0.0);if((P|0)>0){v=E;A=C;z=P;while(1){y=(z|0)<29?z:29;x=A+-4|0;if(x>>>0>=v>>>0){K=x;x=0;do{J=Ol(f[K>>2]|0,0,y|0)|0;Q=Rl(J|0,I|0,x|0,0)|0;J=I;R=Tk(Q|0,J|0,1e9,0)|0;f[K>>2]=R;x=In(Q|0,J|0,1e9,0)|0;K=K+-4|0}while(K>>>0>=v>>>0);if(x){K=v+-4|0;f[K>>2]=x;S=K}else S=v}else S=v;K=A;while(1){if(K>>>0<=S>>>0)break;J=K+-4|0;if(!(f[J>>2]|0))K=J;else break}x=(f[l>>2]|0)-y|0;f[l>>2]=x;if((x|0)>0){v=S;A=K;z=x}else{T=S;U=K;V=x;break}}}else{T=E;U=C;V=P}if((V|0)<0){z=((G+25|0)/9|0)+1|0;A=(t|0)==102;v=T;x=U;J=V;while(1){Q=0-J|0;R=(Q|0)<9?Q:9;if(v>>>0>>0){Q=(1<>>R;Y=0;Z=v;do{_=f[Z>>2]|0;f[Z>>2]=(_>>>R)+Y;Y=X(_&Q,W)|0;Z=Z+4|0}while(Z>>>0>>0);Z=(f[v>>2]|0)==0?v+4|0:v;if(!Y){$=Z;aa=x}else{f[x>>2]=Y;$=Z;aa=x+4|0}}else{$=(f[v>>2]|0)==0?v+4|0:v;aa=x}Z=A?E:$;W=(aa-Z>>2|0)>(z|0)?Z+(z<<2)|0:aa;J=(f[l>>2]|0)+R|0;f[l>>2]=J;if((J|0)>=0){ba=$;ca=W;break}else{v=$;x=W}}}else{ba=T;ca=U}x=E;if(ba>>>0>>0){v=(x-ba>>2)*9|0;J=f[ba>>2]|0;if(J>>>0<10)da=v;else{z=v;v=10;while(1){v=v*10|0;A=z+1|0;if(J>>>0>>0){da=A;break}else z=A}}}else da=0;z=(t|0)==103;v=(G|0)!=0;J=G-((t|0)!=102?da:0)+((v&z)<<31>>31)|0;if((J|0)<(((ca-x>>2)*9|0)+-9|0)){A=J+9216|0;J=E+4+(((A|0)/9|0)+-1024<<2)|0;C=(A|0)%9|0;if((C|0)<8){A=C;C=10;while(1){W=C*10|0;if((A|0)<7){A=A+1|0;C=W}else{ea=W;break}}}else ea=10;C=f[J>>2]|0;A=(C>>>0)%(ea>>>0)|0;t=(J+4|0)==(ca|0);if(!(t&(A|0)==0)){B=(((C>>>0)/(ea>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;W=(ea|0)/2|0;H=A>>>0>>0?.5:t&(A|0)==(W|0)?1.0:1.5;if(!r){fa=H;ga=B}else{W=(b[s>>0]|0)==45;fa=W?-H:H;ga=W?-B:B}W=C-A|0;f[J>>2]=W;if(ga+fa!=ga){A=W+ea|0;f[J>>2]=A;if(A>>>0>999999999){A=ba;W=J;while(1){C=W+-4|0;f[W>>2]=0;if(C>>>0>>0){t=A+-4|0;f[t>>2]=0;ha=t}else ha=A;t=(f[C>>2]|0)+1|0;f[C>>2]=t;if(t>>>0>999999999){A=ha;W=C}else{ia=ha;ja=C;break}}}else{ia=ba;ja=J}W=(x-ia>>2)*9|0;A=f[ia>>2]|0;if(A>>>0<10){ka=ja;la=W;ma=ia}else{C=W;W=10;while(1){W=W*10|0;t=C+1|0;if(A>>>0>>0){ka=ja;la=t;ma=ia;break}else C=t}}}else{ka=J;la=da;ma=ba}}else{ka=J;la=da;ma=ba}C=ka+4|0;na=la;oa=ca>>>0>C>>>0?C:ca;pa=ma}else{na=da;oa=ca;pa=ba}C=oa;while(1){if(C>>>0<=pa>>>0){qa=0;break}W=C+-4|0;if(!(f[W>>2]|0))C=W;else{qa=1;break}}J=0-na|0;do if(z){W=G+((v^1)&1)|0;if((W|0)>(na|0)&(na|0)>-5){ra=i+-1|0;sa=W+-1-na|0}else{ra=i+-2|0;sa=W+-1|0}W=g&8;if(!W){if(qa?(A=f[C+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){t=0;Z=10;while(1){Z=Z*10|0;Q=t+1|0;if((A>>>0)%(Z>>>0)|0|0){ta=Q;break}else t=Q}}else ta=0;else ta=9;t=((C-x>>2)*9|0)+-9|0;if((ra|32|0)==102){Z=t-ta|0;A=(Z|0)>0?Z:0;ua=ra;va=(sa|0)<(A|0)?sa:A;wa=0;break}else{A=t+na-ta|0;t=(A|0)>0?A:0;ua=ra;va=(sa|0)<(t|0)?sa:t;wa=0;break}}else{ua=ra;va=sa;wa=W}}else{ua=i;va=G;wa=g&8}while(0);G=va|wa;x=(G|0)!=0&1;v=(ua|32|0)==102;if(v){xa=0;ya=(na|0)>0?na:0}else{z=(na|0)<0?J:na;t=$h(z,((z|0)<0)<<31>>31,p)|0;z=p;if((z-t|0)<2){A=t;while(1){Z=A+-1|0;b[Z>>0]=48;if((z-Z|0)<2)A=Z;else{za=Z;break}}}else za=t;b[za+-1>>0]=(na>>31&2)+43;A=za+-2|0;b[A>>0]=ua;xa=A;ya=z-A|0}A=r+1+va+x+ya|0;Ti(a,32,d,A,g);ln(a,s,r);Ti(a,48,d,A,g^65536);if(v){J=pa>>>0>E>>>0?E:pa;Z=m+9|0;R=Z;Y=m+8|0;Q=J;do{K=$h(f[Q>>2]|0,0,Z)|0;if((Q|0)==(J|0))if((K|0)==(Z|0)){b[Y>>0]=48;Aa=Y}else Aa=K;else if(K>>>0>m>>>0){Dh(m|0,48,K-n|0)|0;y=K;while(1){_=y+-1|0;if(_>>>0>m>>>0)y=_;else{Aa=_;break}}}else Aa=K;ln(a,Aa,R-Aa|0);Q=Q+4|0}while(Q>>>0<=E>>>0);if(G|0)ln(a,13988,1);if(Q>>>0>>0&(va|0)>0){E=va;R=Q;while(1){Y=$h(f[R>>2]|0,0,Z)|0;if(Y>>>0>m>>>0){Dh(m|0,48,Y-n|0)|0;J=Y;while(1){v=J+-1|0;if(v>>>0>m>>>0)J=v;else{Ba=v;break}}}else Ba=Y;ln(a,Ba,(E|0)<9?E:9);R=R+4|0;J=E+-9|0;if(!(R>>>0>>0&(E|0)>9)){Ca=J;break}else E=J}}else Ca=va;Ti(a,48,Ca+9|0,9,0)}else{E=qa?C:pa+4|0;if((va|0)>-1){R=m+9|0;Z=(wa|0)==0;Q=R;G=0-n|0;J=m+8|0;K=va;v=pa;while(1){x=$h(f[v>>2]|0,0,R)|0;if((x|0)==(R|0)){b[J>>0]=48;Da=J}else Da=x;do if((v|0)==(pa|0)){x=Da+1|0;ln(a,Da,1);if(Z&(K|0)<1){Ea=x;break}ln(a,13988,1);Ea=x}else{if(Da>>>0<=m>>>0){Ea=Da;break}Dh(m|0,48,Da+G|0)|0;x=Da;while(1){z=x+-1|0;if(z>>>0>m>>>0)x=z;else{Ea=z;break}}}while(0);Y=Q-Ea|0;ln(a,Ea,(K|0)>(Y|0)?Y:K);x=K-Y|0;v=v+4|0;if(!(v>>>0>>0&(x|0)>-1)){Fa=x;break}else K=x}}else Fa=va;Ti(a,48,Fa+18|0,18,0);ln(a,xa,p-xa|0)}Ti(a,32,d,A,g^8192);w=A}while(0);u=j;return ((w|0)<(d|0)?d:w)|0}function vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+8|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)zo(e);else{k=i<<2;l=Vk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+624|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);ip(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)zo(e);else{s=t<<2;p=Vk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Dh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+636|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);ip(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;oc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;if(A|0){b=a+612|0;q=e+4|0;p=e+8|0;r=a+600|0;v=a+556|0;w=a+552|0;m=a+596|0;j=a+592|0;k=e+4|0;i=e+8|0;n=A;while(1){A=f[s>>2]|0;o=n+-1|0;B=A+o|0;C=f[z>>2]|0;D=f[C+(((B>>>0)/341|0)<<2)>>2]|0;E=(B>>>0)%341|0;B=f[D+(E*12|0)>>2]|0;F=f[D+(E*12|0)+4>>2]|0;G=f[D+(E*12|0)+8>>2]|0;f[y>>2]=o;o=f[x>>2]|0;E=o-C>>2;if((1-n-A+((E|0)==0?0:(E*341|0)+-1|0)|0)>>>0>681){ip(f[o+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}o=f[l>>2]|0;E=o+(G*12|0)|0;A=(f[t>>2]|0)+(G*12|0)|0;C=jh(a,B,A,F)|0;F=(f[a>>2]|0)-(f[(f[A>>2]|0)+(C<<2)>>2]|0)|0;a:do if(!F)if((B|0)>0){D=0;do{H=f[E>>2]|0;I=f[H>>2]|0;f[e>>2]=I;f[k>>2]=f[H+4>>2];f[i>>2]=f[H+8>>2];H=f[c>>2]|0;J=H+4|0;K=f[J>>2]|0;if(K>>>0<(f[H+8>>2]|0)>>>0){f[K>>2]=I;f[K+4>>2]=f[k>>2];f[K+8>>2]=f[i>>2];f[J>>2]=K+12}else Pf(H,e);D=D+1|0}while((D|0)<(B|0));L=23}else L=23;else{if(B>>>0<3){D=f[b>>2]|0;f[D>>2]=C;H=f[h>>2]|0;if(H>>>0>1){K=1;J=H;I=C;while(1){I=(I|0)==(J+-1|0)?0:I+1|0;f[D+(K<<2)>>2]=I;K=K+1|0;M=f[h>>2]|0;if(K>>>0>=M>>>0){N=M;break}else J=M}}else N=H;if(!B){L=23;break}J=0;K=N;while(1){if(!K)O=f[r>>2]|0;else{I=f[b>>2]|0;D=f[r>>2]|0;M=f[A>>2]|0;P=f[E>>2]|0;Q=0;do{R=I+(Q<<2)|0;f[D+(f[R>>2]<<2)>>2]=0;S=f[R>>2]|0;T=(f[a>>2]|0)-(f[M+(S<<2)>>2]|0)|0;do if(T|0){U=D+(S<<2)|0;V=f[v>>2]|0;W=32-V|0;X=f[w>>2]|0;Y=f[X>>2]<(W|0)){V=T-W|0;f[v>>2]=V;Z=X+4|0;f[w>>2]=Z;$=32-V|0;f[U>>2]=(f[Z>>2]|0)>>>$|Y>>>($-W|0);break}f[U>>2]=Y>>>(32-T|0);Y=(f[v>>2]|0)+T|0;f[v>>2]=Y;if((Y|0)!=32)break;f[w>>2]=X+4;f[v>>2]=0}while(0);T=f[R>>2]|0;S=D+(T<<2)|0;f[S>>2]=f[S>>2]|f[P+(T<<2)>>2];Q=Q+1|0}while(Q>>>0<(f[h>>2]|0)>>>0);O=D}D=f[O>>2]|0;f[e>>2]=D;f[q>>2]=f[O+4>>2];f[p>>2]=f[O+8>>2];Q=f[c>>2]|0;P=Q+4|0;M=f[P>>2]|0;if(M>>>0<(f[Q+8>>2]|0)>>>0){f[M>>2]=D;f[M+4>>2]=f[q>>2];f[M+8>>2]=f[p>>2];f[P>>2]=M+12}else Pf(Q,e);Q=J+1|0;if(Q>>>0>=B>>>0){L=23;break a}J=Q;K=f[h>>2]|0}}K=G+1|0;J=f[l>>2]|0;H=J+(K*12|0)|0;if((H|0)==(E|0))aa=J;else{lf(H,f[E>>2]|0,f[o+(G*12|0)+4>>2]|0);aa=f[l>>2]|0}H=(f[aa+(K*12|0)>>2]|0)+(C<<2)|0;f[H>>2]=(f[H>>2]|0)+(1<>>1)-ba|0;H=B-Q|0;if((Q|0)==(H|0)){ca=Q;da=Q}else{J=f[m>>2]|0;M=f[j>>2]|0;P=(f[M>>2]&1<<31-J|0)!=0;D=J+1|0;f[m>>2]=D;if((D|0)==32){f[j>>2]=M+4;f[m>>2]=0}ca=P?Q:H;da=P?H:Q}Q=f[t>>2]|0;H=f[Q+(G*12|0)>>2]|0;P=H+(C<<2)|0;f[P>>2]=(f[P>>2]|0)+1;lf(Q+(K*12|0)|0,H,f[Q+(G*12|0)+4>>2]|0);if(ca|0){Q=f[x>>2]|0;H=f[z>>2]|0;P=Q-H>>2;M=f[s>>2]|0;D=f[y>>2]|0;if((((P|0)==0?0:(P*341|0)+-1|0)|0)==(D+M|0)){oc(g);ea=f[y>>2]|0;fa=f[s>>2]|0;ga=f[x>>2]|0;ha=f[z>>2]|0}else{ea=D;fa=M;ga=Q;ha=H}H=ea+fa|0;if((ga|0)==(ha|0))ia=0;else ia=(f[ha+(((H>>>0)/341|0)<<2)>>2]|0)+(((H>>>0)%341|0)*12|0)|0;f[ia>>2]=ca;f[ia+4>>2]=C;f[ia+8>>2]=G;f[y>>2]=(f[y>>2]|0)+1}if(!da)L=23;else{H=f[x>>2]|0;Q=f[z>>2]|0;M=H-Q>>2;D=f[s>>2]|0;P=f[y>>2]|0;if((((M|0)==0?0:(M*341|0)+-1|0)|0)==(P+D|0)){oc(g);ja=f[y>>2]|0;ka=f[s>>2]|0;la=f[x>>2]|0;ma=f[z>>2]|0}else{ja=P;ka=D;la=H;ma=Q}Q=ja+ka|0;if((la|0)==(ma|0))na=0;else na=(f[ma+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[na>>2]=da;f[na+4>>2]=C;f[na+8>>2]=K;Q=(f[y>>2]|0)+1|0;f[y>>2]=Q;oa=Q}}while(0);if((L|0)==23){L=0;oa=f[y>>2]|0}if(!oa)break;else n=oa}}oa=f[z>>2]|0;n=f[s>>2]|0;na=oa+(((n>>>0)/341|0)<<2)|0;da=f[x>>2]|0;ma=da;la=oa;if((da|0)==(oa|0)){pa=0;qa=0}else{ka=(f[na>>2]|0)+(((n>>>0)%341|0)*12|0)|0;pa=ka;qa=ka}ka=na;na=qa;b:while(1){qa=na;do{n=qa;if((pa|0)==(n|0))break b;qa=n+12|0}while((qa-(f[ka>>2]|0)|0)!=4092);qa=ka+4|0;ka=qa;na=f[qa>>2]|0}f[y>>2]=0;y=ma-la>>2;if(y>>>0>2){la=oa;do{ip(f[la>>2]|0);la=(f[z>>2]|0)+4|0;f[z>>2]=la;ra=f[x>>2]|0;sa=ra-la>>2}while(sa>>>0>2);ta=sa;ua=la;va=ra}else{ta=y;ua=oa;va=da}switch(ta|0){case 1:{wa=170;L=85;break}case 2:{wa=341;L=85;break}default:{}}if((L|0)==85)f[s>>2]=wa;if((ua|0)!=(va|0)){wa=ua;do{ip(f[wa>>2]|0);wa=wa+4|0}while((wa|0)!=(va|0));va=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(va|0))f[x>>2]=z+(~((z+-4-va|0)>>>2)<<2)}va=f[g>>2]|0;if(!va){u=d;return}ip(va);u=d;return}function wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+8|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;f[e+8>>2]=0;do if(i)if(i>>>0>1073741823)zo(e);else{k=i<<2;l=Vk(k)|0;f[e>>2]=l;m=l+(i<<2)|0;f[e+8>>2]=m;Dh(l|0,0,k|0)|0;f[j>>2]=m;n=m;o=l;break}else{n=0;o=0}while(0);l=a+624|0;m=f[l>>2]|0;k=f[m>>2]|0;p=m+4|0;if(!k){q=m+8|0;r=o;s=n;t=i}else{i=f[p>>2]|0;if((i|0)!=(k|0))f[p>>2]=i+(~((i+-4-k|0)>>>2)<<2);ip(k);k=m+8|0;f[k>>2]=0;f[p>>2]=0;f[m>>2]=0;q=k;r=f[e>>2]|0;s=f[j>>2]|0;t=f[h>>2]|0}f[m>>2]=r;f[p>>2]=s;f[q>>2]=f[e+8>>2];f[e>>2]=0;q=e+4|0;f[q>>2]=0;f[e+8>>2]=0;do if(t)if(t>>>0>1073741823)zo(e);else{s=t<<2;p=Vk(s)|0;f[e>>2]=p;r=p+(t<<2)|0;f[e+8>>2]=r;Dh(p|0,0,s|0)|0;f[q>>2]=r;v=r;w=p;break}else{v=0;w=0}while(0);t=a+636|0;p=f[t>>2]|0;r=f[p>>2]|0;s=p+4|0;if(!r){x=p+8|0;y=w;z=v}else{v=f[s>>2]|0;if((v|0)!=(r|0))f[s>>2]=v+(~((v+-4-r|0)>>>2)<<2);ip(r);r=p+8|0;f[r>>2]=0;f[s>>2]=0;f[p>>2]=0;x=r;y=f[e>>2]|0;z=f[q>>2]|0}f[p>>2]=y;f[s>>2]=z;f[x>>2]=f[e+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;x=g+8|0;z=g+4|0;s=g+16|0;y=g+20|0;oc(g);p=f[z>>2]|0;q=(f[y>>2]|0)+(f[s>>2]|0)|0;if((f[x>>2]|0)==(p|0))A=0;else A=(f[p+(((q>>>0)/341|0)<<2)>>2]|0)+(((q>>>0)%341|0)*12|0)|0;f[A>>2]=b;f[A+4>>2]=0;f[A+8>>2]=0;A=(f[y>>2]|0)+1|0;f[y>>2]=A;if(A|0){b=a+612|0;q=e+4|0;p=e+8|0;r=a+600|0;v=a+556|0;w=a+552|0;m=a+596|0;j=a+592|0;k=e+4|0;i=e+8|0;n=A;while(1){A=f[s>>2]|0;o=n+-1|0;B=A+o|0;C=f[z>>2]|0;D=f[C+(((B>>>0)/341|0)<<2)>>2]|0;E=(B>>>0)%341|0;B=f[D+(E*12|0)>>2]|0;F=f[D+(E*12|0)+4>>2]|0;G=f[D+(E*12|0)+8>>2]|0;f[y>>2]=o;o=f[x>>2]|0;E=o-C>>2;if((1-n-A+((E|0)==0?0:(E*341|0)+-1|0)|0)>>>0>681){ip(f[o+-4>>2]|0);f[x>>2]=(f[x>>2]|0)+-4}o=f[l>>2]|0;E=o+(G*12|0)|0;A=(f[t>>2]|0)+(G*12|0)|0;C=ml(a,B,A,F)|0;F=(f[a>>2]|0)-(f[(f[A>>2]|0)+(C<<2)>>2]|0)|0;a:do if(!F)if((B|0)>0){D=0;do{H=f[E>>2]|0;I=f[H>>2]|0;f[e>>2]=I;f[k>>2]=f[H+4>>2];f[i>>2]=f[H+8>>2];H=f[c>>2]|0;J=H+4|0;K=f[J>>2]|0;if(K>>>0<(f[H+8>>2]|0)>>>0){f[K>>2]=I;f[K+4>>2]=f[k>>2];f[K+8>>2]=f[i>>2];f[J>>2]=K+12}else Pf(H,e);D=D+1|0}while((D|0)<(B|0));L=23}else L=23;else{if(B>>>0<3){D=f[b>>2]|0;f[D>>2]=C;H=f[h>>2]|0;if(H>>>0>1){K=1;J=H;I=C;while(1){I=(I|0)==(J+-1|0)?0:I+1|0;f[D+(K<<2)>>2]=I;K=K+1|0;M=f[h>>2]|0;if(K>>>0>=M>>>0){N=M;break}else J=M}}else N=H;if(!B){L=23;break}J=0;K=N;while(1){if(!K)O=f[r>>2]|0;else{I=f[b>>2]|0;D=f[r>>2]|0;M=f[A>>2]|0;P=f[E>>2]|0;Q=0;do{R=I+(Q<<2)|0;f[D+(f[R>>2]<<2)>>2]=0;S=f[R>>2]|0;T=(f[a>>2]|0)-(f[M+(S<<2)>>2]|0)|0;do if(T|0){U=D+(S<<2)|0;V=f[v>>2]|0;W=32-V|0;X=f[w>>2]|0;Y=f[X>>2]<(W|0)){V=T-W|0;f[v>>2]=V;Z=X+4|0;f[w>>2]=Z;$=32-V|0;f[U>>2]=(f[Z>>2]|0)>>>$|Y>>>($-W|0);break}f[U>>2]=Y>>>(32-T|0);Y=(f[v>>2]|0)+T|0;f[v>>2]=Y;if((Y|0)!=32)break;f[w>>2]=X+4;f[v>>2]=0}while(0);T=f[R>>2]|0;S=D+(T<<2)|0;f[S>>2]=f[S>>2]|f[P+(T<<2)>>2];Q=Q+1|0}while(Q>>>0<(f[h>>2]|0)>>>0);O=D}D=f[O>>2]|0;f[e>>2]=D;f[q>>2]=f[O+4>>2];f[p>>2]=f[O+8>>2];Q=f[c>>2]|0;P=Q+4|0;M=f[P>>2]|0;if(M>>>0<(f[Q+8>>2]|0)>>>0){f[M>>2]=D;f[M+4>>2]=f[q>>2];f[M+8>>2]=f[p>>2];f[P>>2]=M+12}else Pf(Q,e);Q=J+1|0;if(Q>>>0>=B>>>0){L=23;break a}J=Q;K=f[h>>2]|0}}K=G+1|0;J=f[l>>2]|0;H=J+(K*12|0)|0;if((H|0)==(E|0))aa=J;else{lf(H,f[E>>2]|0,f[o+(G*12|0)+4>>2]|0);aa=f[l>>2]|0}H=(f[aa+(K*12|0)>>2]|0)+(C<<2)|0;f[H>>2]=(f[H>>2]|0)+(1<>>1)-ba|0;H=B-Q|0;if((Q|0)==(H|0)){ca=Q;da=Q}else{J=f[m>>2]|0;M=f[j>>2]|0;P=(f[M>>2]&1<<31-J|0)!=0;D=J+1|0;f[m>>2]=D;if((D|0)==32){f[j>>2]=M+4;f[m>>2]=0}ca=P?Q:H;da=P?H:Q}Q=f[t>>2]|0;H=f[Q+(G*12|0)>>2]|0;P=H+(C<<2)|0;f[P>>2]=(f[P>>2]|0)+1;lf(Q+(K*12|0)|0,H,f[Q+(G*12|0)+4>>2]|0);if(ca|0){Q=f[x>>2]|0;H=f[z>>2]|0;P=Q-H>>2;M=f[s>>2]|0;D=f[y>>2]|0;if((((P|0)==0?0:(P*341|0)+-1|0)|0)==(D+M|0)){oc(g);ea=f[y>>2]|0;fa=f[s>>2]|0;ga=f[x>>2]|0;ha=f[z>>2]|0}else{ea=D;fa=M;ga=Q;ha=H}H=ea+fa|0;if((ga|0)==(ha|0))ia=0;else ia=(f[ha+(((H>>>0)/341|0)<<2)>>2]|0)+(((H>>>0)%341|0)*12|0)|0;f[ia>>2]=ca;f[ia+4>>2]=C;f[ia+8>>2]=G;f[y>>2]=(f[y>>2]|0)+1}if(!da)L=23;else{H=f[x>>2]|0;Q=f[z>>2]|0;M=H-Q>>2;D=f[s>>2]|0;P=f[y>>2]|0;if((((M|0)==0?0:(M*341|0)+-1|0)|0)==(P+D|0)){oc(g);ja=f[y>>2]|0;ka=f[s>>2]|0;la=f[x>>2]|0;ma=f[z>>2]|0}else{ja=P;ka=D;la=H;ma=Q}Q=ja+ka|0;if((la|0)==(ma|0))na=0;else na=(f[ma+(((Q>>>0)/341|0)<<2)>>2]|0)+(((Q>>>0)%341|0)*12|0)|0;f[na>>2]=da;f[na+4>>2]=C;f[na+8>>2]=K;Q=(f[y>>2]|0)+1|0;f[y>>2]=Q;oa=Q}}while(0);if((L|0)==23){L=0;oa=f[y>>2]|0}if(!oa)break;else n=oa}}oa=f[z>>2]|0;n=f[s>>2]|0;na=oa+(((n>>>0)/341|0)<<2)|0;da=f[x>>2]|0;ma=da;la=oa;if((da|0)==(oa|0)){pa=0;qa=0}else{ka=(f[na>>2]|0)+(((n>>>0)%341|0)*12|0)|0;pa=ka;qa=ka}ka=na;na=qa;b:while(1){qa=na;do{n=qa;if((pa|0)==(n|0))break b;qa=n+12|0}while((qa-(f[ka>>2]|0)|0)!=4092);qa=ka+4|0;ka=qa;na=f[qa>>2]|0}f[y>>2]=0;y=ma-la>>2;if(y>>>0>2){la=oa;do{ip(f[la>>2]|0);la=(f[z>>2]|0)+4|0;f[z>>2]=la;ra=f[x>>2]|0;sa=ra-la>>2}while(sa>>>0>2);ta=sa;ua=la;va=ra}else{ta=y;ua=oa;va=da}switch(ta|0){case 1:{wa=170;L=85;break}case 2:{wa=341;L=85;break}default:{}}if((L|0)==85)f[s>>2]=wa;if((ua|0)!=(va|0)){wa=ua;do{ip(f[wa>>2]|0);wa=wa+4|0}while((wa|0)!=(va|0));va=f[z>>2]|0;z=f[x>>2]|0;if((z|0)!=(va|0))f[x>>2]=z+(~((z+-4-va|0)>>>2)<<2)}va=f[g>>2]|0;if(!va){u=d;return}ip(va);u=d;return} -function Zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=32768){if((h|0)!=32768?(e=i+131072|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Ng(a,32768-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Tf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>32768){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==32768;return k|0}function _f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=a+16|0;bi(d,b);f[a+28>>2]=0;b=f[a+20>>2]|0;e=f[d>>2]|0;d=e;if((b|0)!=(e|0)){g=(b-e|0)/20|0;e=0;b=0;do{h=X(f[d+(e*20|0)+12>>2]|0,f[d+(e*20|0)+4>>2]|0)|0;b=b>>>0>>0?h:b;e=e+1|0}while(e>>>0>>0);g=f[c>>2]|0;e=f[a>>2]|0;d=g-e|0;if(b>>>0>d>>>0){Rg(a,b-d|0);i=f[a>>2]|0;j=a+12|0;f[j>>2]=i;return}else{k=b;l=g;m=e;n=d}}else{d=f[c>>2]|0;e=f[a>>2]|0;k=0;l=d;m=e;n=d-e|0}if(k>>>0>=n>>>0){i=m;j=a+12|0;f[j>>2]=i;return}n=m+k|0;if((n|0)==(l|0)){i=m;j=a+12|0;f[j>>2]=i;return}f[c>>2]=n;i=m;j=a+12|0;f[j>>2]=i;return}function $f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=8192){if((h|0)!=8192?(e=i+32768|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Ng(a,8192-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Tf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>8192){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==8192;return k|0}function ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g>>2;i=g;g=e;if(h>>>0>=4096){if((h|0)!=4096?(e=i+16384|0,(e|0)!=(g|0)):0)f[d>>2]=g+(~((g+-4-e|0)>>>2)<<2)}else Ng(a,4096-h|0);h=a+12|0;e=a+16|0;g=f[e>>2]|0;d=f[h>>2]|0;i=g-d>>3;j=d;d=g;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(g=j+(c<<3)|0,(g|0)!=(d|0)):0)f[e>>2]=d+(~((d+-8-g|0)>>>3)<<3);if(!c){k=0;return k|0}}else Tf(h,c-i|0);i=f[h>>2]|0;h=0;g=0;do{d=b+(h<<2)|0;f[i+(h<<3)>>2]=f[d>>2];f[i+(h<<3)+4>>2]=g;e=g;g=(f[d>>2]|0)+g|0;if(g>>>0>4096){k=0;l=19;break}if(e>>>0>>0){d=f[a>>2]|0;j=e;do{f[d+(j<<2)>>2]=h;j=j+1|0}while((j|0)!=(g|0))}h=h+1|0}while(h>>>0>>0);if((l|0)==19)return k|0;k=(g|0)==4096;return k|0}function bg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((Bb(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=np(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=Bb(a,c,g,i,h)|0;if(!o)s=j;else{Ra[f[a+36>>2]&31](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=Bb(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)mp(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=d;if(g>>>0>>0){re(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b<<2)|0;if((g|0)==(h|0))return;else i=h;do{h=i+-4|0;f[c>>2]=h;b=f[h>>2]|0;f[h>>2]=0;if(b|0){h=b+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){h=f[e+8>>2]|0;if(h|0){a=e+12|0;if((f[a>>2]|0)!=(h|0))f[a>>2]=h;ip(h)}ip(e)}e=f[b+68>>2]|0;if(e|0){h=b+72|0;a=f[h>>2]|0;if((a|0)!=(e|0))f[h>>2]=a+(~((a+-4-e|0)>>>2)<<2);ip(e)}e=b+64|0;a=f[e>>2]|0;f[e>>2]=0;if(a|0){e=f[a>>2]|0;if(e|0){h=a+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;ip(e)}ip(a)}ip(b)}i=f[c>>2]|0}while((i|0)!=(g|0));return}function dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=b;k=i;while(1){f[k>>2]=f[c>>2];j=j+-1|0;if(!j)break;else k=k+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;k=h-i|0;h=k>>2;j=h+b|0;if(j>>>0>1073741823)zo(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0>>0?j:e):1073741823;do if(m)if(m>>>0>1073741823){e=ra(8)|0;_m(e,13388);f[e>>2]=4744;va(e|0,1128,101)}else{e=Vk(m<<2)|0;n=e;o=e;break}else{n=0;o=0}while(0);e=n+(h<<2)|0;h=n+(m<<2)|0;m=b;j=e;while(1){f[j>>2]=f[c>>2];m=m+-1|0;if(!m)break;else j=j+4|0}if((k|0)>0)Jf(o|0,i|0,k|0)|0;f[a>>2]=n;f[g>>2]=e+(b<<2);f[d>>2]=h;if(!i)return;ip(i);return}function eg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=Dn(f[a+8>>2]|0,e)|0;h=Dn(f[a+12>>2]|0,e)|0;i=Dn(f[a+16>>2]|0,e)|0;a:do if((g>>>0>>2>>>0?(j=c-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=Dn(f[a+(q<<2)>>2]|0,e)|0;s=Dn(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=lj(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=Dn(f[a+(m<<2)>>2]|0,e)|0;j=Dn(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function fg(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Cn(l,e,0)|0){f[i+48>>2]=1;Za[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Ya[f[(f[l>>2]|0)+24>>2]&3](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){i=b;j=h;while(1){f[j>>2]=1;i=i+-1|0;if(!i)break;else j=j+4|0}f[e>>2]=h+(b<<2);return}h=f[a>>2]|0;j=g-h|0;g=j>>2;i=g+b|0;if(i>>>0>1073741823)zo(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?i:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;_m(d,13388);f[d>>2]=4744;va(d|0,1128,101)}else{d=Vk(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;g=m+(l<<2)|0;l=b;i=d;while(1){f[i>>2]=1;l=l+-1|0;if(!l)break;else i=i+4|0}if((j|0)>0)Jf(n|0,h|0,j|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=g;if(!h)return;ip(h);return}function hg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(j=f[(f[d+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(k=f[(f[d+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if(((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(h=f[(f[d+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function ig(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[a+4>>2]|0;if(!d){e=0;return e|0}a=b[c+11>>0]|0;g=a<<24>>24<0;h=g?f[c+4>>2]|0:a&255;a=g?f[c>>2]|0:c;c=d;while(1){d=c+16|0;g=b[d+11>>0]|0;i=g<<24>>24<0;j=i?f[c+20>>2]|0:g&255;g=j>>>0>>0;k=g?j:h;if((k|0)!=0?(l=$i(a,i?f[d>>2]|0:d,k)|0,(l|0)!=0):0)if((l|0)<0)m=7;else m=8;else if(h>>>0>>0)m=7;else m=8;if((m|0)==7){m=0;n=c}else if((m|0)==8){m=0;l=h>>>0>>0?h:j;if((l|0)!=0?(j=$i(i?f[d>>2]|0:d,a,l)|0,(j|0)!=0):0){if((j|0)>=0){e=1;m=14;break}}else m=10;if((m|0)==10?(m=0,!g):0){e=1;m=14;break}n=c+4|0}c=f[n>>2]|0;if(!c){e=0;m=14;break}}if((m|0)==14)return e|0;return 0}function jg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+32|0;e=d+12|0;g=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=Sh(c)|0;if(h>>>0>4294967279)zo(e);if(h>>>0<11){b[e+11>>0]=h;if(!h)i=e;else{j=e;k=6}}else{l=h+16&-16;m=Vk(l)|0;f[e>>2]=m;f[e+8>>2]=l|-2147483648;f[e+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,c|0,h|0)|0;i=j}b[i+h>>0]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=g+11|0;b[h>>0]=4;f[g>>2]=1701667182;b[g+4>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(j=Fd(i,g,e)|0,(j|0)!=0):0)n=_i(a,f[j+40>>2]|0)|0;else n=-1;if((b[h>>0]|0)<0)ip(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=d;return n|0}ip(f[e>>2]|0);u=d;return n|0}function kg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{i=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;do if((Pa[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Qe(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);d=Vk(44)|0;f[d>>2]=1536;f[d+4>>2]=i;i=d+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];f[i+16>>2]=f[e+16>>2];f[i+20>>2]=f[e+20>>2];mi(d+32|0,e+24|0);f[d>>2]=1592;g=d}f[a>>2]=g;return}function lg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+16|0;if(b[d+84>>0]|0){g=f[e>>2]|0;return g|0}a=f[e>>2]|0;if(!a){g=f[e>>2]|0;return g|0}h=a+84|0;if(!(b[h>>0]|0)){g=f[e>>2]|0;return g|0}i=(f[d+72>>2]|0)-(f[d+68>>2]|0)>>2;b[h>>0]=0;h=a+68|0;j=a+72|0;a=f[j>>2]|0;k=f[h>>2]|0;l=a-k>>2;m=k;k=a;if(i>>>0<=l>>>0)if(i>>>0>>0?(a=m+(i<<2)|0,(a|0)!=(k|0)):0){f[j>>2]=k+(~((k+-4-a|0)>>>2)<<2);n=d}else n=d;else{dg(h,i-l|0,1404);n=f[c>>2]|0}if(b[n+84>>0]|0){g=f[e>>2]|0;return g|0}c=f[n+68>>2]|0;l=c;i=(f[n+72>>2]|0)-c>>2;if(!i){g=f[e>>2]|0;return g|0}c=f[(f[e>>2]|0)+68>>2]|0;n=0;do{f[c+(n<<2)>>2]=f[l+(n<<2)>>2];n=n+1|0}while(n>>>0>>0);g=f[e>>2]|0;return g|0}function mg(a){a=a|0;Ho(a);Ho(a+16|0);Ho(a+32|0);Ho(a+48|0);Ho(a+64|0);Ho(a+80|0);Ho(a+96|0);Ho(a+112|0);Ho(a+128|0);Ho(a+144|0);Ho(a+160|0);Ho(a+176|0);Ho(a+192|0);Ho(a+208|0);Ho(a+224|0);Ho(a+240|0);Ho(a+256|0);Ho(a+272|0);Ho(a+288|0);Ho(a+304|0);Ho(a+320|0);Ho(a+336|0);Ho(a+352|0);Ho(a+368|0);Ho(a+384|0);Ho(a+400|0);Ho(a+416|0);Ho(a+432|0);Ho(a+448|0);Ho(a+464|0);Ho(a+480|0);Ho(a+496|0);return}function ng(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=Na;d=u;u=u+32|0;e=d+16|0;g=d;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]<<2;j=f[a+16>>2]|0;k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;j=f[a+24>>2]|0;if((j+-2|0)>>>0>28){l=0;u=d;return l|0}f[g>>2]=j;a=1<>2]=a+-1;j=a+-2|0;a=g+8|0;f[a>>2]=j;f[g+12>>2]=(j|0)/2|0;if(!c){l=1;u=d;return l|0}m=0;n=0;o=0;p=j;while(1){q=$($(1.0)/$(p|0));Ze(g,$(q*$(f[k+(m<<2)>>2]|0)),$(q*$(f[k+((m|1)<<2)>>2]|0)),e);Jf((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+o|0,e|0,i|0)|0;j=n+1|0;if((j|0)==(c|0)){l=1;break}m=m+2|0;n=j;o=o+i|0;p=f[a>>2]|0}u=d;return l|0}function og(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=f[a+196>>2]|0;if(b|0){c=a+200|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=a+184|0;d=f[b>>2]|0;if(d|0){c=a+188|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;while(1){e=h+-12|0;f[c>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);ip(i);j=f[c>>2]|0}if((j|0)==(d|0))break;else h=j}g=f[b>>2]|0}ip(g)}g=f[a+156>>2]|0;if(g|0){b=a+160|0;j=f[b>>2]|0;if((j|0)!=(g|0))f[b>>2]=j+(~((j+-4-g|0)>>>2)<<2);ip(g)}g=a+136|0;a=f[g>>2]|0;f[g>>2]=0;if(!a)return;g=a+-4|0;j=f[g>>2]|0;if(j|0){b=a+(j<<4)|0;do b=b+-16|0;while((b|0)!=(a|0))}gp(g);return}function pg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+32|0;e=d+16|0;g=d;switch(c<<24>>24){case 0:{c=Vk(48)|0;Un(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}case 1:{c=Vk(52)|0;Xm(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}default:{c=Vk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;i=11689;j=h+28|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;zh(c,g);f[a>>2]=f[e>>2];zh(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)ip(f[c>>2]|0);if((b[g+11>>0]|0)<0)ip(f[g>>2]|0);u=d;return}}}function qg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/144|0;h=d;if(g>>>0>>0){Dd(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*144|0)|0;if((g|0)==(h|0))return;else i=h;do{f[c>>2]=i+-144;h=f[i+-12>>2]|0;if(h|0){b=i+-8|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);ip(h)}h=f[i+-28>>2]|0;if(h|0){e=i+-24|0;b=f[e>>2]|0;if((b|0)!=(h|0))f[e>>2]=b+(~((b+-4-h|0)>>>2)<<2);ip(h)}h=f[i+-40>>2]|0;if(h|0){b=i+-36|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);ip(h)}$g(i+-140|0);i=f[c>>2]|0}while((i|0)!=(g|0));return}function rg(a,b){a=a|0;b=b|0;var c=0,d=Na,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){yc(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;yc(a,e);return}function sg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=1416;b=a+60|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ua[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+48>>2]|0;if(c|0){b=a+52|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);ip(c)}c=a+36|0;d=f[c>>2]|0;if(d|0){b=a+40|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Ua[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}ip(g)}f[a>>2]=1256;g=f[a+16>>2]|0;if(g|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(g|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);ip(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);ip(g);return}function tg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=g+-4|0;f[c>>2]=d;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=h+88|0;i=f[d>>2]|0;f[d>>2]=0;if(i|0){d=f[i+8>>2]|0;if(d|0){j=i+12|0;if((f[j>>2]|0)!=(d|0))f[j>>2]=d;ip(d)}ip(i)}i=f[h+68>>2]|0;if(i|0){d=h+72|0;j=f[d>>2]|0;if((j|0)!=(i|0))f[d>>2]=j+(~((j+-4-i|0)>>>2)<<2);ip(i)}i=h+64|0;j=f[i>>2]|0;f[i>>2]=0;if(j|0){i=f[j>>2]|0;if(i|0){d=j+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;ip(i)}ip(j)}ip(h)}g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}ip(e);return}function ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+8|0;d=b+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=b+16|0;i=d;j=f[i>>2]|0;k=f[i+4>>2]|0;i=Rl(j|0,k|0,4,0)|0;l=I;if((g|0)<(l|0)|(g|0)==(l|0)&e>>>0>>0)return 0;m=(f[b>>2]|0)+j|0;b=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=d;f[m>>2]=i;f[m+4>>2]=l;l=Rl(j|0,k|0,8,0)|0;k=I;if((g|0)<(k|0)|(g|0)==(k|0)&e>>>0>>0)return 0;e=d;f[e>>2]=l;f[e+4>>2]=k;k=(_(b|0)|0)^31;if((k+-1|0)>>>0>28){n=f[c>>2]|0;o=n+-2|0;p=o>>>0<29;return p|0}else{b=k+1|0;f[c>>2]=b;c=2<>2]=c+-1;k=c+-2|0;f[a+16>>2]=k;f[a+20>>2]=(k|0)/2|0;n=b;o=n+-2|0;p=o>>>0<29;return p|0}return 0}function vg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-4|0;f[c>>2]=d;g=f[d>>2]|0;f[d>>2]=0;if(g|0){d=g+88|0;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=f[h+8>>2]|0;if(d|0){i=h+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;ip(d)}ip(h)}h=f[g+68>>2]|0;if(h|0){d=g+72|0;i=f[d>>2]|0;if((i|0)!=(h|0))f[d>>2]=i+(~((i+-4-h|0)>>>2)<<2);ip(h)}h=g+64|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){h=f[i>>2]|0;if(h|0){d=i+4|0;if((f[d>>2]|0)!=(h|0))f[d>>2]=h;ip(h)}ip(i)}ip(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;ip(b);return}function wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=Vk(72)|0;dl(c);d=c;if((b|0)<0){Ua[f[(f[c>>2]|0)+4>>2]&127](c);e=0;return e|0}c=a+8|0;g=a+12|0;a=f[g>>2]|0;h=f[c>>2]|0;i=a-h>>2;do if((i|0)<=(b|0)){j=b+1|0;k=a;if(j>>>0>i>>>0){hf(c,j-i|0);break}if(j>>>0>>0?(l=h+(j<<2)|0,(l|0)!=(k|0)):0){j=k;do{k=j+-4|0;f[g>>2]=k;m=f[k>>2]|0;f[k>>2]=0;if(m|0)Ua[f[(f[m>>2]|0)+4>>2]&127](m);j=f[g>>2]|0}while((j|0)!=(l|0))}}while(0);g=(f[c>>2]|0)+(b<<2)|0;b=f[g>>2]|0;f[g>>2]=d;if(!b){e=1;return e|0}Ua[f[(f[b>>2]|0)+4>>2]&127](b);e=1;return e|0}function xg(a,b){a=a|0;b=b|0;var c=0,d=Na,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Jc(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Jc(a,e);return}function yg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;k=f[g+4>>2]|0;g=Rl(i|0,k|0,4,0)|0;l=I;if((e|0)<(l|0)|(e|0)==(l|0)&d>>>0>>0){m=0;return m|0}n=(f[b>>2]|0)+i|0;o=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;n=c;f[n>>2]=g;f[n+4>>2]=l;do if((j[b+38>>1]|0)<514){l=Rl(i|0,k|0,8,0)|0;n=I;if((e|0)<(n|0)|(e|0)==(n|0)&d>>>0>>0){m=0;return m|0}else{g=c;f[g>>2]=l;f[g+4>>2]=n;break}}while(0);c=(_(o|0)|0)^31;if((c+-1|0)>>>0>28){m=1;return m|0}f[a+8>>2]=c+1;o=2<>2]=o+-1;c=o+-2|0;f[a+16>>2]=c;f[a+20>>2]=(c|0)/2|0;m=1;return m|0}function zg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=Vk(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;h=g+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0}else{Rg(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0}Jf(n|0,l|0,m-l|0)|0;b[c>>0]=1;c=f[a>>2]|0;f[c+4>>2]=d;f[c>>2]=0;return}function Ag(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+60|0;d=f[c>>2]|0;if(!d){e=0;return e|0}f[d+4>>2]=a+48;if(!(Pa[f[(f[d>>2]|0)+12>>2]&127](d)|0)){e=0;return e|0}d=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((d|0)>0){g=0;while(1){h=(Pa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;i=f[h>>2]|0;h=Qa[f[(f[a>>2]|0)+20>>2]&127](a,g)|0;j=f[c>>2]|0;g=g+1|0;if(!(Qa[f[(f[j>>2]|0)+8>>2]&127](j,f[(f[i+8>>2]|0)+(h<<2)>>2]|0)|0)){e=0;break}if((g|0)>=(d|0))break a}return e|0}while(0);if(!(Qa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){e=0;return e|0}if(!(Qa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){e=0;return e|0}e=Pa[f[(f[a>>2]|0)+44>>2]&127](a)|0;return e|0}function Bg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Sh(d)|0;if(h>>>0>4294967279)zo(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Vk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;Ah(c,g,e)|0;c=e+11|0;h=b[c>>0]|0;i=h<<24>>24<0?f[e>>2]|0:e;if((b[g+11>>0]|0)<0){ip(f[g>>2]|0);n=b[c>>0]|0}else n=h;if(n<<24>>24>=0){u=a;return i|0}ip(f[e>>2]|0);u=a;return i|0}function Cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(yj(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0>>0){j=Ra[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){e=c;while(1){if(!e){l=0;m=a;n=c;o=k;break b}p=e+-1|0;if((b[a+p>>0]|0)==10)break;else e=p}p=Ra[f[d+36>>2]&31](d,a,e)|0;if(p>>>0>>0){j=p;break a}l=e;m=a+e|0;n=c-e|0;o=f[g>>2]|0}else{l=0;m=a;n=c;o=k}while(0);Jf(o|0,m|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=l+n|0}while(0);return j|0}function Dg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+12|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d+28>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;Dg(c+8|0);ip(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)ip(c);c=f[d+8>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;g=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;ip(h)}if((b[g+11>>0]|0)<0)ip(f[g>>2]|0);ip(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)ip(e);ip(d)}if((b[a+11>>0]|0)>=0)return;ip(f[a>>2]|0);return}function Eg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=(f[b+4>>2]|0)-(f[b>>2]|0)|0;b=d>>2;e=a+8|0;a=f[(f[e>>2]|0)+40>>2]|0;g=fp((a|0)>-1?a:-1)|0;h=c+8|0;if((d|0)<=0){i=1;gp(g);return i|0}d=c+16|0;j=0;k=0;while(1){l=h;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d;o=f[l>>2]|0;p=Rl(o|0,f[l+4>>2]|0,a|0,0)|0;l=I;if((n|0)<(l|0)|(n|0)==(l|0)&m>>>0

>>0){i=0;q=5;break}Jf(g|0,(f[c>>2]|0)+o|0,a|0)|0;o=d;f[o>>2]=p;f[o+4>>2]=l;Jf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+j|0,g|0,a|0)|0;k=k+1|0;if((k|0)>=(b|0)){i=1;q=5;break}else j=j+a|0}if((q|0)==5){gp(g);return i|0}return 0}function Fg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+212|0;e=a+216|0;g=f[d>>2]|0;if((f[e>>2]|0)==(g|0)){h=0;return h|0}i=a+4|0;a=0;j=g;a:while(1){g=f[j+(a*144|0)>>2]|0;if(((g|0)>=0?(k=f[i>>2]|0,l=f[k+8>>2]|0,(g|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(g<<2)>>2]|0,(Pa[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){g=0;do{if((Qa[f[(f[k>>2]|0)+20>>2]&127](k,g)|0)==(c|0))break a;g=g+1|0}while((g|0)<(Pa[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=a+1|0;j=f[d>>2]|0;if(k>>>0>=(((f[e>>2]|0)-j|0)/144|0)>>>0){h=0;m=11;break}else a=k}if((m|0)==11)return h|0;m=f[d>>2]|0;h=(b[m+(a*144|0)+100>>0]|0)==0?0:m+(a*144|0)+4|0;return h|0}function Gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+212|0;d=a+216|0;e=f[c>>2]|0;a:do if((f[d>>2]|0)!=(e|0)){g=a+4|0;h=0;i=e;b:while(1){j=f[i+(h*144|0)>>2]|0;if(((j|0)>=0?(k=f[g>>2]|0,l=f[k+8>>2]|0,(j|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(j<<2)>>2]|0,(Pa[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){j=0;do{if((Qa[f[(f[k>>2]|0)+20>>2]&127](k,j)|0)==(b|0))break b;j=j+1|0}while((j|0)<(Pa[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=h+1|0;i=f[c>>2]|0;if(k>>>0>=(((f[d>>2]|0)-i|0)/144|0)>>>0)break a;else h=k}m=(f[c>>2]|0)+(h*144|0)+104|0;return m|0}while(0);m=a+184|0;return m|0}function Hg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1312;tg(a+60|0);b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=a+36|0;d=f[b>>2]|0;if(d|0){c=a+40|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-24|0;f[c>>2]=e;Ua[f[f[e>>2]>>2]&127](e);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}ip(g)}f[a>>2]=1256;g=f[a+16>>2]|0;if(g|0){b=a+20|0;d=f[b>>2]|0;if((d|0)!=(g|0))f[b>>2]=d+(~((d+-4-g|0)>>>2)<<2);ip(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);ip(g);return}function Ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+16|0;e=c+8|0;g=c;h=a+8|0;if(f[h>>2]<<5>>>0>=b>>>0){u=c;return}f[d>>2]=0;i=d+4|0;f[i>>2]=0;j=d+8|0;f[j>>2]=0;if((b|0)<0)zo(d);k=((b+-1|0)>>>5)+1|0;b=Vk(k<<2)|0;f[d>>2]=b;f[i>>2]=0;f[j>>2]=k;k=f[a>>2]|0;f[e>>2]=k;f[e+4>>2]=0;b=a+4|0;l=f[b>>2]|0;f[g>>2]=k+(l>>>5<<2);f[g+4>>2]=l&31;df(d,e,g);g=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=g;d=f[b>>2]|0;f[b>>2]=f[i>>2];f[i>>2]=d;d=f[h>>2]|0;f[h>>2]=f[j>>2];f[j>>2]=d;if(g|0)ip(g);u=c;return}function Jg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;e=c;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){g=d+8|0;i=f[g+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if((i|0)>(m|0)|((i|0)==(m|0)?(f[g>>2]|0)>>>0>l>>>0:0)){g=b[(f[d>>2]|0)+l>>0]|0;i=Rl(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=I;m=g&255;f[a+24>>2]=m;n=m;break}else{o=0;u=c;return o|0}}else n=f[a+24>>2]|0;while(0);f[e>>2]=1200;f[e+4>>2]=-1;Hn(e,n);o=Yi(e,f[a+16>>2]|0)|0;u=c;return o|0}function Kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)zo(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=ra(8)|0;_m(k,13388);f[k>>2]=4744;va(k|0,1128,101)}else{m=Vk(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Jf(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;ip(d);return}function Lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=cf(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=Vk(40)|0;zh(g+16|0,b);b=g+28|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=b;f[e>>2]=g;b=f[f[a>>2]>>2]|0;if(!b)j=g;else{f[a>>2]=b;j=f[e>>2]|0}Ed(f[a+4>>2]|0,j);j=a+8|0;f[j>>2]=(f[j>>2]|0)+1;h=g;i=h+28|0;u=c;return i|0}function Mg(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0>>0)zo(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=Vk(p)|0;if(g|0)Qm(o,m,g)|0;if(i|0)Qm(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)Qm(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)ip(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;Vn(o+p|0,l);u=k;return}function Ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){Dh(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)zo(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;_m(d,13388);f[d>>2]=4744;va(d|0,1128,101)}else{d=Vk(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;Dh(d|0,0,b<<2|0)|0;if((i|0)>0)Jf(n|0,h|0,i|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;ip(h);return}function Og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0;c=a+4|0;if((Pa[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){d=1;return d|0}a=0;while(1){e=f[(f[c>>2]|0)+4>>2]|0;g=dk(e,Qa[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;i=8;break}e=f[c>>2]|0;j=f[(f[b>>2]|0)+28>>2]|0;if(((h[e+36>>0]|0)<<8&65535)<512){if(!(Qa[j&127](b,f[(f[(f[e+4>>2]|0)+8>>2]|0)+(g<<2)>>2]|0)|0)){d=0;i=8;break}}else{k=kj(e,g)|0;if(!(Qa[j&127](b,k)|0)){d=0;i=8;break}}a=a+1|0;if((a|0)>=(Pa[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;i=8;break}}if((i|0)==8)return d|0;return 0}function Pg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{f[c>>2]=g+-144;d=f[g+-12>>2]|0;if(d|0){h=g+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);ip(d)}d=f[g+-28>>2]|0;if(d|0){i=g+-24|0;h=f[i>>2]|0;if((h|0)!=(d|0))f[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);ip(d)}d=f[g+-40>>2]|0;if(d|0){h=g+-36|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);ip(d)}$g(g+-140|0);g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}ip(e);return}function Qg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;a=u;u=u+16|0;e=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;g=Sh(d)|0;if(g>>>0>4294967279)zo(e);if(g>>>0<11){b[e+11>>0]=g;if(!g)h=e;else{i=e;j=6}}else{k=g+16&-16;l=Vk(k)|0;f[e>>2]=l;f[e+8>>2]=k|-2147483648;f[e+4>>2]=g;i=l;j=6}if((j|0)==6){Jf(i|0,d|0,g|0)|0;h=i}b[h+g>>0]=0;g=(Cc(c,e)|0)!=0;if((b[e+11>>0]|0)>=0){u=a;return g|0}ip(f[e>>2]|0);u=a;return g|0}function Rg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if((e-h|0)>>>0>=c>>>0){i=c;j=h;do{b[j>>0]=0;j=(f[g>>2]|0)+1|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=h-i|0;h=j+c|0;if((h|0)<0)zo(a);k=e-i|0;i=k<<1;e=k>>>0<1073741823?(i>>>0>>0?h:i):2147483647;if(!e)l=0;else l=Vk(e)|0;i=l+j|0;j=l+e|0;e=c;c=i;l=i;do{b[l>>0]=0;l=c+1|0;c=l;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;l=(f[g>>2]|0)-e|0;h=i+(0-l)|0;if((l|0)>0)Jf(h|0,e|0,l|0)|0;f[a>>2]=h;f[g>>2]=c;f[d>>2]=j;if(!e)return;ip(e);return}function Sg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0;d=u;u=u+32|0;c=d;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Pa[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=d;return e|0}f[c>>2]=1228;f[c+4>>2]=-1;g=c+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;Fj(c,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,$(n[a+32>>2]));i=Yi(c,f[a+16>>2]|0)|0;f[c>>2]=1228;a=f[g>>2]|0;if(a|0){g=c+12|0;c=f[g>>2]|0;if((c|0)!=(a|0))f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);ip(a)}e=i;u=d;return e|0}function Tg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{f[c>>2]=e+-144;d=f[e+-12>>2]|0;if(d|0){g=e+-8|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);ip(d)}d=f[e+-28>>2]|0;if(d|0){h=e+-24|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);ip(d)}d=f[e+-40>>2]|0;if(d|0){g=e+-36|0;h=f[g>>2]|0;if((h|0)!=(d|0))f[g>>2]=h+(~((h+-4-d|0)>>>2)<<2);ip(d)}$g(e+-140|0);e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;ip(b);return}function Ug(a){a=a|0;var b=0,c=0,d=0;b=f[a+76>>2]|0;if(b|0){c=a+80|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;ip(b)}b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);ip(b)}b=f[a+24>>2]|0;if(b|0){c=a+28|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);ip(b)}b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);ip(b);return}function Vg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Sh(d)|0;if(h>>>0>4294967279)zo(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Vk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=Ah(c,g,e)|0;if((b[g+11>>0]|0)<0)ip(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=a;return h|0}ip(f[e>>2]|0);u=a;return h|0}function Wg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=j;j=i;while(1){if(j<<24>>24<0)l=f[c>>2]|0;else l=c;f[g>>2]=d;m=nl(l,k+1|0,15882,g)|0;if((m|0)>-1)if(m>>>0>k>>>0)n=m;else break;else n=k<<1|1;Th(c,n,0);k=n;j=b[h>>0]|0}Th(c,m,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Xg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+8|0;c=f[b>>2]|0;if((c|0)<0){d=0;return d|0}e=a+4|0;a=f[e>>2]|0;g=a+4|0;h=f[g>>2]|0;i=f[a>>2]|0;j=h-i>>2;k=i;i=h;if(c>>>0<=j>>>0)if(c>>>0>>0?(h=k+(c<<2)|0,(h|0)!=(i|0)):0){f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2);l=c}else l=c;else{Ng(a,c-j|0);l=f[b>>2]|0}if((l|0)<=0){d=1;return d|0}b=f[e>>2]|0;e=f[b>>2]|0;j=(f[b+4>>2]|0)-e>>2;c=e;e=0;while(1){if(j>>>0<=e>>>0){m=10;break}f[c+(e<<2)>>2]=e;e=e+1|0;if((e|0)>=(l|0)){d=1;m=12;break}}if((m|0)==10)zo(b);else if((m|0)==12)return d|0;return 0}function Yg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+140|0;c=f[b>>2]|0;if((c|0)<=0){d=1;return d|0}e=c<<4;g=fp(c>>>0>268435455|e>>>0>4294967291?-1:e+4|0)|0;f[g>>2]=c;e=g+4|0;g=e+(c<<4)|0;c=e;do{Ho(c);c=c+16|0}while((c|0)!=(g|0));g=a+136|0;c=f[g>>2]|0;f[g>>2]=e;if(c|0){e=c+-4|0;h=f[e>>2]|0;if(h|0){i=c+(h<<4)|0;do i=i+-16|0;while((i|0)!=(c|0))}gp(e)}if((f[b>>2]|0)<=0){d=1;return d|0}e=0;while(1){if(!(Bd((f[g>>2]|0)+(e<<4)|0,a)|0)){d=0;j=13;break}e=e+1|0;if((e|0)>=(f[b>>2]|0)){d=1;j=13;break}}if((j|0)==13)return d|0;return 0}function Zg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;f[a>>2]=0;if(!c)return;a=f[c+28>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;Zg(a+20|0);if((b[e+11>>0]|0)<0)ip(f[e>>2]|0);ip(a)}while((d|0)!=0)}d=c+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)ip(a);a=f[c+8>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;g=f[a+20>>2]|0;if(g|0){h=a+24|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;ip(g)}if((b[e+11>>0]|0)<0)ip(f[e>>2]|0);ip(a)}while((d|0)!=0)}d=f[c>>2]|0;f[c>>2]=0;if(d|0)ip(d);ip(c);return}function _g(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=Cc(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=8){g=0;return g|0}e=c;c=e;a=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;c=e+4|0;e=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;c=d;d=c;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;a=c+4|0;b[a>>0]=e;b[a+1>>0]=e>>8;b[a+2>>0]=e>>16;b[a+3>>0]=e>>24;g=1;return g|0}function $g(a){a=a|0;var b=0,c=0,d=0;b=f[a+84>>2]|0;if(b|0){c=a+88|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;ip(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);ip(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);ip(b)}b=f[a+12>>2]|0;if(b|0)ip(b);b=f[a>>2]|0;if(!b)return;ip(b);return}function ah(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+48|0;b=a+32|0;c=a+24|0;d=a+16|0;e=a;g=a+36|0;a=Yk()|0;if(a|0?(h=f[a>>2]|0,h|0):0){a=h+48|0;i=f[a>>2]|0;j=f[a+4>>2]|0;if(!((i&-256|0)==1126902528&(j|0)==1129074247)){f[c>>2]=16021;ul(15971,c)}if((i|0)==1126902529&(j|0)==1129074247)k=f[h+44>>2]|0;else k=h+80|0;f[g>>2]=k;k=f[h>>2]|0;h=f[k+4>>2]|0;if(Ra[f[(f[262]|0)+16>>2]&31](1048,k,g)|0){k=f[g>>2]|0;g=Pa[f[(f[k>>2]|0)+8>>2]&127](k)|0;f[e>>2]=16021;f[e+4>>2]=h;f[e+8>>2]=g;ul(15885,e)}else{f[d>>2]=16021;f[d+4>>2]=h;ul(15930,d)}}ul(16009,b)}function bh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(cp()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=pp()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=pp()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function ch(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){c=a+96|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);ip(b)}b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);ip(b)}f[a+4>>2]=3196;b=f[a+24>>2]|0;if(b|0)ip(b);b=f[a+12>>2]|0;if(!b)return;ip(b);return}function dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)zo(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=ra(8)|0;_m(k,13388);f[k>>2]=4744;va(k|0,1128,101)}else{k=Vk(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)Jf(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;ip(d);return}function eh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3288;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+224|0;c=a+156|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));yk(b);b=a+372|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[a+392>>2]=-1;f[a+396>>2]=-1;f[a+400>>2]=2;f[a+404>>2]=7;b=a+408|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function fh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Sh(d)|0;if(h>>>0>4294967279)zo(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Vk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;_g(c,g,e)|0;n=+p[e>>3];if((b[g+11>>0]|0)>=0){u=a;return +n}ip(f[g>>2]|0);u=a;return +n}function gh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=3880;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=h;n=1;o=4}else{h=pp()|0;f[h>>2]=75;p=-1}else{m=a;n=c;o=4}if((o|0)==4){o=-2-m|0;c=n>>>0>o>>>0?o:n;f[i+48>>2]=c;n=i+20|0;f[n>>2]=m;f[i+44>>2]=m;o=m+c|0;m=i+16|0;f[m>>2]=o;f[i+28>>2]=o;o=bg(i,d,e)|0;if(!c)p=o;else{c=f[n>>2]|0;b[c+(((c|0)==(f[m>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function hh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Sh(d)|0;if(h>>>0>4294967279)zo(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Vk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;Oh(c,g,e)|0;c=f[e>>2]|0;if((b[g+11>>0]|0)>=0){u=a;return c|0}ip(f[g>>2]|0);u=a;return c|0}function ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[a>>2]|0;e=d;if((((f[c>>2]|0)-d|0)/12|0)>>>0>=b>>>0)return;g=a+4|0;if(b>>>0>357913941){h=ra(8)|0;_m(h,13388);f[h>>2]=4744;va(h|0,1128,101)}h=f[g>>2]|0;i=Vk(b*12|0)|0;j=i+(((h-d|0)/12|0)*12|0)|0;k=j;l=i+(b*12|0)|0;b=h;if((b|0)==(e|0))m=k;else{h=b;b=j;do{j=h;h=h+-12|0;f[b+-12>>2]=f[h>>2];f[b+-8>>2]=f[j+-8>>2];f[b+-4>>2]=f[j+-4>>2];b=b+-12|0}while((h|0)!=(e|0));m=b}f[a>>2]=m;f[g>>2]=k;f[c>>2]=l;if(!d)return;ip(d);return}function jh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;if(b>>>0<64){b=f[a+8>>2]|0;if(b>>>0<=1){e=0;return e|0}d=f[c>>2]|0;c=0;g=1;while(1){h=(f[d+(c<<2)>>2]|0)>>>0>(f[d+(g<<2)>>2]|0)>>>0?g:c;g=g+1|0;if(g>>>0>=b>>>0){e=h;break}else c=h}return e|0}c=a+576|0;b=f[c>>2]|0;g=32-b|0;d=a+572|0;a=f[d>>2]|0;h=f[a>>2]<>2]=i;j=a+4|0;f[d>>2]=j;k=32-i|0;e=(f[j>>2]|0)>>>k|h>>>(k-g|0);return e|0}g=h>>>28;h=b+4|0;f[c>>2]=h;if((h|0)!=32){e=g;return e|0}f[d>>2]=a+4;f[c>>2]=0;e=g;return e|0}function kh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;g=c+20|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0){kh(h);ip(h)}if((b[e+11>>0]|0)<0)ip(f[e>>2]|0);ip(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)ip(c);c=f[a+8>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){g=c+24|0;if((f[g>>2]|0)!=(h|0))f[g>>2]=h;ip(h)}if((b[e+11>>0]|0)<0)ip(f[e>>2]|0);ip(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;ip(d);return}function lh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Sh(d)|0;if(h>>>0>4294967279)zo(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Vk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=_g(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}ip(f[g>>2]|0);u=a;return h|0}function mh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Sh(d)|0;if(h>>>0>4294967279)zo(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=Vk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Jf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=Oh(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}ip(f[g>>2]|0);u=a;return h|0}function nh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=Rl(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=I;do if(d<<24>>24<0)if(nh(a,c)|0){j=a;e=Ol(f[j>>2]|0,f[j+4>>2]|0,7)|0;j=I;g=a;f[g>>2]=e;f[g+4>>2]=j;l=e|d&127;m=j;break}else{k=0;return k|0}else{l=d&255;m=0}while(0);d=a;f[d>>2]=l;f[d+4>>2]=m;k=1;return k|0}function oh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512){e=d+8|0;g=f[e+4>>2]|0;i=d+16|0;j=i;k=f[j>>2]|0;l=f[j+4>>2]|0;if((g|0)>(l|0)|((g|0)==(l|0)?(f[e>>2]|0)>>>0>k>>>0:0)){e=b[(f[d>>2]|0)+k>>0]|0;g=Rl(k|0,l|0,1,0)|0;l=i;f[l>>2]=g;f[l+4>>2]=I;f[a+24>>2]=e&255;break}else{m=0;return m|0}}while(0);m=zc(a,c,d)|0;return m|0}function ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(b>>>0>1431655765|(c|b|0)<0){d=0;return d|0}e=b*3|0;Pe(a,e,3568);Pe(a+12|0,e,3564);oi(a+24|0,c);c=a+76|0;e=f[c>>2]|0;b=a+80|0;g=f[b>>2]|0;if((g|0)!=(e|0))f[b>>2]=g+(~((g+-4-e|0)>>>2)<<2);f[c>>2]=0;f[b>>2]=0;f[a+84>>2]=0;if(e|0)ip(e);e=a+64|0;b=f[e>>2]|0;c=a+68|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;f[e>>2]=0;f[c>>2]=0;f[a+72>>2]=0;if(!b){d=1;return d|0}ip(b);d=1;return d|0}function qh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e+4|0;h=e;if((d|0)!=1){f[a>>2]=0;u=e;return}d=f[b+12>>2]|0;i=f[b+4>>2]|0;b=g;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));kg(h,c,d,i,g);i=f[g+24>>2]|0;if(i|0){d=g+28|0;g=f[d>>2]|0;if((g|0)!=(i|0))f[d>>2]=g+(~((g+-4-i|0)>>>2)<<2);ip(i)}f[a>>2]=f[h>>2];u=e;return}function rh(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;b=f[c>>2]|0;f[c>>2]=a;if(!b)return;a=b+88|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0){a=f[c+8>>2]|0;if(a|0){d=c+12|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;ip(a)}ip(c)}c=f[b+68>>2]|0;if(c|0){a=b+72|0;d=f[a>>2]|0;if((d|0)!=(c|0))f[a>>2]=d+(~((d+-4-c|0)>>>2)<<2);ip(c)}c=b+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){a=d+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;ip(c)}ip(d)}ip(b);return}function sh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=(f[a+8>>2]&2147483647)+-1|0;k=f[a+4>>2]|0}else{j=10;k=i&255}if((j-k|0)>>>0>>0){Jh(a,j,c-j+k|0,k,k,0,0);l=b[h>>0]|0}else l=i;if(l<<24>>24<0)m=f[a>>2]|0;else m=a;Ll(m+k|0,c,d)|0;d=k+c|0;if((b[h>>0]|0)<0)f[a+4>>2]=d;else b[h>>0]=d;b[g>>0]=0;Vn(m+d|0,g)}u=e;return a|0}function th(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;Om(l,c,d)|0;b[g>>0]=0;Vn(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;Mg(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function uh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=3012;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ua[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=3440;c=f[a+20>>2]|0;if(c|0){b=a+24|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);ip(c)}c=a+8|0;d=f[c>>2]|0;if(!d){ip(a);return}b=a+12|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Ua[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}ip(g);ip(a);return}function vh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=u;u=u+80|0;e=d;g=d+56|0;i=d+40|0;j=e;k=c;c=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(c|0));gc(i,e,g);e=f[i>>2]|0;if(!e){k=i+4|0;if((b[k+11>>0]|0)<0)ip(f[k>>2]|0);k=h[g+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=k;u=d;return}else{f[a>>2]=e;e=i+4|0;zh(a+4|0,e);if((b[e+11>>0]|0)<0)ip(f[e>>2]|0);u=d;return}}function wh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a>>2]|0;if(!d){e=0;return e|0}g=f[c>>2]|0;if(!g){e=0;return e|0}h=f[g>>2]|0;Hh(d,h,(f[g+4>>2]|0)-h|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;h=c+40|0;g=f[h+4>>2]|0;d=a+40|0;f[d>>2]=f[h>>2];f[d+4>>2]=g;g=c+48|0;d=f[g+4>>2]|0;h=a+48|0;f[h>>2]=f[g>>2];f[h+4>>2]=d;f[a+56>>2]=f[c+56>>2];d=c+8|0;c=a+8|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];e=1;return e|0}function xh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=3012;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ua[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=3440;c=f[a+20>>2]|0;if(c|0){b=a+24|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);ip(c)}c=a+8|0;d=f[c>>2]|0;if(!d)return;b=a+12|0;a=f[b>>2]|0;if((a|0)==(d|0))e=d;else{g=a;do{a=g+-4|0;f[b>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Ua[f[(f[h>>2]|0)+4>>2]&127](h);g=f[b>>2]|0}while((g|0)!=(d|0));e=f[c>>2]|0}ip(e);return}function yh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!a){g=1;return g|0}h=d+8|0;i=f[h+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if(!((i|0)>(m|0)|((i|0)==(m|0)?(f[h>>2]|0)>>>0>l>>>0:0))){g=0;return g|0}h=b[(f[d>>2]|0)+l>>0]|0;i=Rl(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=I;switch(h<<24>>24){case 0:{g=Gc(a,c,d,e)|0;return g|0}case 1:{g=gd(a,d,e)|0;return g|0}default:{g=0;return g|0}}return 0}function zh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){g=f[c>>2]|0;h=f[c+4>>2]|0;if(h>>>0>4294967279)zo(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=Vk(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}Qm(i,g,h)|0;b[e>>0]=0;Vn(i+h|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=d;return}function Ah(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=Cc(a,b)|0;if(!d){e=0;return e|0}b=d+20|0;a=f[b>>2]|0;g=d+24|0;d=f[g>>2]|0;if((a|0)==(d|0)){e=0;return e|0}Th(c,d-a|0,0);a=Cj(c,0)|0;c=f[b>>2]|0;Jf(a|0,c|0,(f[g>>2]|0)-c|0)|0;e=1;return e|0}function Bh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;if(!h){f[a>>2]=d;f[c+24>>2]=g;f[c+36>>2]=1;if(!((g|0)==1?(f[c+48>>2]|0)==1:0))break;b[c+54>>0]=1;break}if((h|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;b[c+54>>0]=1;break}h=c+24|0;a=f[h>>2]|0;if((a|0)==2){f[h>>2]=g;i=g}else i=a;if((i|0)==1?(f[c+48>>2]|0)==1:0)b[c+54>>0]=1}while(0);return}function Ch(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;_d(e,c);g=a+4|0;h=f[e>>2]|0;f[e>>2]=0;i=f[g>>2]|0;f[g>>2]=h;if(!i){f[e>>2]=0;j=h}else{Ug(i);ip(i);i=f[e>>2]|0;f[e>>2]=0;if(i|0){Ug(i);ip(i)}j=f[g>>2]|0}if(!j){k=0;u=d;return k|0}j=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[e>>0]=0;Nf(a+56|0,j,e);k=1;u=d;return k|0}function Dh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function Eh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!c){e=0;f[d>>2]=e;return}g=a+8|0;i=a+4|0;j=0-(b[a+12>>0]|0)&255;k=c;c=0;l=f[g>>2]|0;while(1){m=c<<1;if(l>>>0<4096?(n=f[i>>2]|0,(n|0)>0):0){o=f[a>>2]|0;p=n+-1|0;f[i>>2]=p;n=l<<8|(h[o+p>>0]|0);f[g>>2]=n;q=n}else q=l;n=q&255;p=X(q>>>8,j)|0;o=n>>>0>>0;l=o?p+n|0:q-j-p|0;f[g>>2]=l;p=m|o&1;k=k+-1|0;if(!k){e=p;break}else c=p}f[d>>2]=e;return}function Fh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(Cn(a,f[c+8>>2]|0,g)|0)){if(Cn(a,f[c>>2]|0,g)|0){if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[c+32>>2]=1}}else Mk(0,c,d,e);while(0);return}function Gh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3240;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+224|0;c=a+156|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));yk(b);b=a+372|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;Ho(a+392|0);f[a+408>>2]=-1;f[a+412>>2]=-1;return}function Hh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((d|0)<0){e=0;return e|0}do if(!b){d=a+4|0;g=f[d>>2]|0;h=f[a>>2]|0;i=g-h|0;if(i>>>0>>0){Rg(a,c-i|0);break}if(i>>>0>c>>>0?(i=h+c|0,(i|0)!=(g|0)):0)f[d>>2]=i}else gf(a,b,b+c|0);while(0);c=a+24|0;a=c;b=Rl(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=c;f[a>>2]=b;f[a+4>>2]=I;e=1;return e|0}function Ih(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1368;b=a+16|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;ip(b)}ip(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);ip(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;ip(c)}ip(d)}ip(a);return}function Jh(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((-17-c|0)>>>0>>0)zo(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=Vk(m)|0;if(g|0)Qm(l,j,g)|0;k=e-h-g|0;if(k|0)Qm(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)ip(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function Kh(a,b){a=a|0;b=b|0;if(!b)return;else{Kh(a,f[b>>2]|0);Kh(a,f[b+4>>2]|0);Qh(b+20|0,f[b+24>>2]|0);ip(b);return}}function Lh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+64|0;if((f[d>>2]|0)==0?(e=Vk(32)|0,hl(e),g=f[d>>2]|0,f[d>>2]=e,g|0):0){e=f[g>>2]|0;if(e|0){h=g+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;ip(e)}ip(g)}g=Vj(f[a+28>>2]|0)|0;e=X(g,b[a+24>>0]|0)|0;g=((e|0)<0)<<31>>31;h=f[d>>2]|0;i=_k(e|0,g|0,c|0,0)|0;if(!(Hh(h,0,i,I)|0)){j=0;return j|0}Mi(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function Mh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=b[a+24>>0]|0;f[i>>2]=f[294];f[i+4>>2]=f[295];f[i+8>>2]=f[296];f[i+12>>2]=f[297];f[h>>2]=c;f[g>>2]=f[h>>2];if(!(pb(a,g,j,i)|0)){k=0;u=e;return k|0}Ke(d,i,i+(j<<24>>24<<2)|0);k=1;u=e;return k|0}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;if(!(Cn(a,b,0)|0))if((b|0)!=0?(g=fg(b,1072,1056,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;Xa[f[(f[g>>2]|0)+28>>2]&7](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function Oh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=Cc(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=4){g=0;return g|0}e=c;c=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[d>>0]=c;b[d+1>>0]=c>>8;b[d+2>>0]=c>>16;b[d+3>>0]=c>>24;g=1;return g|0}function Ph(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=Rl(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=I;j=d&255;do if(j&128)if(Ph(a,c)|0){e=f[a>>2]<<7;f[a>>2]=e;l=e|d&127;break}else{k=0;return k|0}else l=j;while(0);f[a>>2]=l;k=1;return k|0}function Qh(a,c){a=a|0;c=c|0;var d=0;if(!c)return;Qh(a,f[c>>2]|0);Qh(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)ip(f[d>>2]|0);if((b[a+11>>0]|0)<0)ip(f[a>>2]|0);ip(c);return}function Rh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=3440;b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=a+8|0;d=f[b>>2]|0;if(!d){ip(a);return}c=a+12|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Ua[f[(f[i>>2]|0)+4>>2]&127](i);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}ip(g);ip(a);return}function Sh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=4}else{g=a;h=c;while(1){if(!(b[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){d=j;e=4;break}else g=j}}while(0);if((e|0)==4){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function Th(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;Vn(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;Vn(a+c|0,g);b[h>>0]=c;break}else sh(a,c-k|0,d)|0;while(0);u=e;return}function Uh(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;ip(b)}ip(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);ip(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;ip(c)}ip(d)}ip(a);return}function Vh(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;f[a>>2]=d;if(d|0){m=d+16|0;n=f[m+4>>2]|0;o=a+8|0;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=d+24|0;d=f[n+4>>2]|0;o=a+16|0;f[o>>2]=f[n>>2];f[o+4>>2]=d}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;h=a+40|0;f[h>>2]=i;f[h+4>>2]=j;j=a+48|0;f[j>>2]=k;f[j+4>>2]=l;f[a+56>>2]=c;return}function Wh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=Vk(88)|0;d=c+60|0;e=c;g=e+60|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;d=c+64|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;d=Re(c,b)|0;f[a>>2]=d?c:0;a=d?0:c;if(d)return;Ug(a);ip(a);return}function Xh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;if((f[c+76>>2]|0)>=0?(np(c)|0)!=0:0){d=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=Zh(c,a)|0;mp(c);j=i}else k=3;do if((k|0)==3){i=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(d=c+20|0,h=f[d>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[d>>2]=h+1;b[h>>0]=i;j=e;break}j=Zh(c,a)|0}while(0);return j|0}function Yh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d+12|0;g=d;f[e>>2]=c;c=Vk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=24;h=c;i=11767;j=h+24|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+24>>0]=0;ci(Bc(a,e)|0,g,1);if((b[g+11>>0]|0)>=0){u=d;return}ip(f[g>>2]|0);u=d;return}function Zh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=c&255;b[e>>0]=g;i=a+16|0;j=f[i>>2]|0;if(!j)if(!(yj(a)|0)){k=f[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=a+20|0;i=f[j>>2]|0;if(i>>>0>>0?(n=c&255,(n|0)!=(b[a+75>>0]|0)):0){f[j>>2]=i+1;b[i>>0]=g;m=n;break}if((Ra[f[a+36>>2]&31](a,e,1)|0)==1)m=h[e>>0]|0;else m=-1}while(0);u=d;return m|0}function _h(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=3440;b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=a+8|0;d=f[b>>2]|0;if(!d)return;c=a+12|0;a=f[c>>2]|0;if((a|0)==(d|0))e=d;else{g=a;do{a=g+-4|0;f[c>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Ua[f[(f[h>>2]|0)+4>>2]&127](h);g=f[c>>2]|0}while((g|0)!=(d|0));e=f[b>>2]|0}ip(e);return}function $h(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=d;f=a;g=c;while(1){c=Tk(f|0,g|0,10,0)|0;e=e+-1|0;b[e>>0]=c&255|48;c=f;f=In(f|0,g|0,10,0)|0;if(!(g>>>0>9|(g|0)==9&c>>>0>4294967295))break;else g=I}h=f;i=e}else{h=a;i=d}if(!h)j=i;else{d=h;h=i;while(1){i=h+-1|0;b[i>>0]=(d>>>0)%10|0|48;if(d>>>0<10){j=i;break}else{d=(d>>>0)/10|0;h=i}}}return j|0}function ai(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=a;while(1){d=c+1|0;if(!(Bo(b[c>>0]|0)|0))break;else c=d}a=b[c>>0]|0;switch(a<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:{g=0;h=c;i=a}}if((f|0)==5){g=e;h=d;i=b[d>>0]|0}if(!(To(i<<24>>24)|0))j=0;else{i=0;d=h;while(1){h=(i*10|0)+48-(b[d>>0]|0)|0;d=d+1|0;if(!(To(b[d>>0]|0)|0)){j=h;break}else i=h}}return (g|0?j:0-j|0)|0}function bi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=(e|0)/20|0;if(!e)return;if(g>>>0>214748364)zo(a);h=Vk(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g*20|0);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;Jf(h|0,g|0,b|0)|0;f[c>>2]=h+(((b>>>0)/20|0)*20|0);return}function ci(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;nj(g,d&1);d=Lg(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}Hf(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function di(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2124;b=f[a+96>>2]|0;if(b|0)ip(b);b=f[a+84>>2]|0;if(b|0)ip(b);b=f[a+72>>2]|0;if(b|0)ip(b);b=f[a+60>>2]|0;if(b|0)ip(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){ip(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b);ip(a);return}function ei(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=uf(a,c)|0;if((e|0)==(a+4|0)){g=-1;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}a=e+28|0;if((b[a+11>>0]|0)<0)k=f[a>>2]|0;else k=a;g=ai(k)|0;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}function fi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1760;b=f[a+96>>2]|0;if(b|0)ip(b);b=f[a+84>>2]|0;if(b|0)ip(b);b=f[a+72>>2]|0;if(b|0)ip(b);b=f[a+60>>2]|0;if(b|0)ip(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){ip(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b);ip(a);return}function gi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=0;while(1){if((h[13990+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=14078;j=87;e=5;break}else d=g}if((e|0)==2)if(!d)k=14078;else{i=14078;j=d;e=5}if((e|0)==5)while(1){e=0;d=i;do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);j=j+-1|0;if(!j){k=d;break}else{i=d;e=5}}return Go(k,f[c+20>>2]|0)|0}function hi(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0.0,i=0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=Ul(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+hi(a*18446744073709551616.0,b);h=g;i=(f[b>>2]|0)+-64|0}else{h=a;i=0}f[b>>2]=i;j=h;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function ii(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0,k=0;b=f[a+32>>2]|0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=Rl(i|0,f[g+4>>2]|0,4,0)|0;g=I;if((e|0)<(g|0)|(e|0)==(g|0)&d>>>0>>0){k=0;return k|0}d=(f[b>>2]|0)+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=j;f[d+4>>2]=g;f[(f[a+4>>2]|0)+80>>2]=i;k=1;return k|0}function ji(a){a=a|0;var b=0,c=0;f[a>>2]=2124;b=f[a+96>>2]|0;if(b|0)ip(b);b=f[a+84>>2]|0;if(b|0)ip(b);b=f[a+72>>2]|0;if(b|0)ip(b);b=f[a+60>>2]|0;if(b|0)ip(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);ip(b);return}function ki(a){a=a|0;var b=0,c=0;f[a>>2]=1760;b=f[a+96>>2]|0;if(b|0)ip(b);b=f[a+84>>2]|0;if(b|0)ip(b);b=f[a+72>>2]|0;if(b|0)ip(b);b=f[a+60>>2]|0;if(b|0)ip(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);ip(b);return}function li(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3072;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+224|0;c=a+156|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));yk(b);return}function mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>2;if(!g)return;if(g>>>0>1073741823)zo(a);h=Vk(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<2);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;Jf(h|0,g|0,b|0)|0;f[c>>2]=h+(b>>>2<<2);return}function ni(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;a=f[b+4>>2]|0;if(!a){d=0;return d|0}e=f[(f[(f[b+8>>2]|0)+(c<<2)>>2]|0)+60>>2]|0;c=f[a+40>>2]|0;b=f[a+44>>2]|0;if((c|0)==(b|0)){d=0;return d|0}else g=c;while(1){c=f[g>>2]|0;g=g+4|0;if((f[c+40>>2]|0)==(e|0)){d=c;h=5;break}if((g|0)==(b|0)){d=0;h=5;break}}if((h|0)==5)return d|0;return 0}function oi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=ra(8)|0;_m(g,13388);f[g>>2]=4744;va(g|0,1128,101)}g=(f[e>>2]|0)-d|0;h=Vk(b<<2)|0;if((g|0)>0)Jf(h|0,d|0,g|0)|0;f[a>>2]=h;f[e>>2]=h+(g>>2<<2);f[c>>2]=h+(b<<2);if(!d)return;ip(d);return}function pi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Ra[f[(f[h>>2]|0)+20>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c<<24>>24){case 0:{c=Vk(20)|0;dm(c);d=c;break}case 1:{c=Vk(24)|0;Fm(c);d=c;break}case 2:{c=Vk(36)|0;il(c);d=c;break}case 3:{c=Vk(28)|0;wm(c);d=c;break}default:d=0}f[a>>2]=d;return}function ri(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=Pa[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Ra[f[(f[h>>2]|0)+16>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function si(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941)zo(a);e=Vk(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=b;b=e;do{mi(b,c);b=(f[d>>2]|0)+12|0;f[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function ti(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;if(!c){d=0;return d|0}e=a+44|0;g=f[e>>2]|0;if(g>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[g>>2]=c;f[e>>2]=(f[e>>2]|0)+4;d=1;return d|0}else{xf(a+40|0,b);d=1;return d|0}return 0}function ui(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3124;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}f[a+12>>2]=3148;b=f[a+32>>2]|0;if(b|0)ip(b);b=f[a+20>>2]|0;if(!b){ip(a);return}ip(b);ip(a);return}function vi(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+24>>2]|0)){b=0;return b|0}if(!(f[a+28>>2]|0)){b=0;return b|0}if(!(f[a+32>>2]|0)){b=0;return b|0}if(!(f[a+36>>2]|0)){b=0;return b|0}b=(f[a+72>>2]|0)!=-1;return b|0}function wi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;f[c>>2]=2;d=a+4|0;a=c+8|0;e=f[a>>2]|0;g=(f[c+12>>2]|0)-e|0;if(g>>>0<4294967292){Oi(a,g+4|0,0);i=f[a>>2]|0}else i=e;e=i+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;return}function xi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3216;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}f[a+12>>2]=3196;b=f[a+32>>2]|0;if(b|0)ip(b);b=f[a+20>>2]|0;if(!b){ip(a);return}ip(b);ip(a);return}function yi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2180;b=f[a+76>>2]|0;if(b|0)ip(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)gp(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c){ip(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);ip(c);ip(a);return}function zi(a){a=a|0;var b=0;if(!(f[a+64>>2]|0)){b=0;return b|0}if(!(f[a+68>>2]|0)){b=0;return b|0}if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}if(!(f[a+56>>2]|0)){b=0;return b|0}b=(f[a+92>>2]|0)!=-1;return b|0}function Ai(a){a=a|0;var c=0;if(!a)return;c=a+28|0;if((b[c+11>>0]|0)<0)ip(f[c>>2]|0);Kh(a+12|0,f[a+16>>2]|0);Qh(a,f[a+4>>2]|0);ip(a);return}function Bi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3124;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}f[a+12>>2]=3148;b=f[a+32>>2]|0;if(b|0)ip(b);b=f[a+20>>2]|0;if(!b)return;ip(b);return}function Ci(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1816;b=f[a+76>>2]|0;if(b|0)ip(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)gp(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c){ip(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);ip(c);ip(a);return}function Di(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;if(!a)return;c=f[a>>2]|0;if(c|0){d=a+4|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;if((b[e+11>>0]|0)<0){ip(f[e>>2]|0);i=f[d>>2]|0}else i=e;if((i|0)==(c|0))break;else h=i}g=f[a>>2]|0}ip(g)}ip(a);return}function Ei(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;jc(a,b);if((b|0)<=-1)return;c=a+88|0;d=f[c>>2]|0;e=f[a+84>>2]|0;if((d-e>>2|0)<=(b|0))return;a=e+(b<<2)|0;b=a+4|0;e=d-b|0;g=e>>2;if(!g)h=d;else{jk(a|0,b|0,e|0)|0;h=f[c>>2]|0}e=a+(g<<2)|0;if((h|0)==(e|0))return;f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);return}function Fi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3216;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}f[a+12>>2]=3196;b=f[a+32>>2]|0;if(b|0)ip(b);b=f[a+20>>2]|0;if(!b)return;ip(b);return}function Gi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;a=c+16|0;g=f[a>>2]|0;do if(g){if((g|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;f[c+24>>2]=2;b[c+54>>0]=1;break}h=c+24|0;if((f[h>>2]|0)==2)f[h>>2]=e}else{f[a>>2]=d;f[c+24>>2]=e;f[c+36>>2]=1}while(0);return}function Hi(a){a=a|0;var b=0,c=0;f[a>>2]=2180;b=f[a+76>>2]|0;if(b|0)ip(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)gp(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);ip(c);return}function Ii(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3580;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);ip(b)}b=f[a+84>>2]|0;if(!b){sf(a);ip(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);ip(b);sf(a);ip(a);return}function Ji(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512?!(Pa[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){d=0;return d|0}d=zc(a,b,c)|0;return d|0}function Ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Tl(e^a|0,f^b|0,e|0,f|0)|0;b=I;a=g^e;e=h^f;return Tl((Hc(i,b,Tl(g^c|0,h^d|0,g|0,h|0)|0,I,0)|0)^a|0,I^e|0,a|0,e|0)|0}function Li(a){a=a|0;var b=0,c=0;f[a>>2]=1816;b=f[a+76>>2]|0;if(b|0)ip(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)gp(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);ip(c);return}function Mi(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;h=b+16|0;i=f[h+4>>2]|0;j=a+8|0;f[j>>2]=f[h>>2];f[j+4>>2]=i;i=b+24|0;b=f[i+4>>2]|0;j=a+16|0;f[j>>2]=f[i>>2];f[j+4>>2]=b;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;d=a+48|0;f[d>>2]=e;f[d+4>>2]=g;return}function Ni(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0;c=b[a+12>>0]|0;d=a+8|0;e=f[d>>2]|0;if(e>>>0<4096?(g=a+4|0,i=f[g>>2]|0,(i|0)>0):0){j=f[a>>2]|0;a=i+-1|0;f[g>>2]=a;g=e<<8|(h[j+a>>0]|0);f[d>>2]=g;k=g}else k=e;e=k&255;g=0-c&255;c=X(k>>>8,g)|0;a=e>>>0>>0;f[d>>2]=a?c+e|0:k-g-c|0;return a|0}function Oi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;h=e;e=d;if(g>>>0>=b>>>0){if(g>>>0>b>>>0?(d=h+b|0,(d|0)!=(e|0)):0)f[c>>2]=d}else Rg(a,b-g|0);g=a+24|0;a=g;b=Rl(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=g;f[a>>2]=b;f[a+4>>2]=I;return}function Pi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;De(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;ak(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}ip(f[c>>2]|0);u=e;return d|0}function Qi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3580;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);ip(b)}b=f[a+84>>2]|0;if(!b){sf(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);ip(b);sf(a);return}function Ri(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;c=a+68|0;d=a+28|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;c=a+72|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;return}function Si(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;He(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;ak(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}ip(f[c>>2]|0);u=e;return d|0}function Ti(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Dh(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{ln(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;ln(a,g,h)}u=f;return}function Ui(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2236;b=f[a+76>>2]|0;if(b|0)ip(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){ip(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b);ip(a);return}function Vi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+32|0;a=b;while(1){b=f[a>>2]|0;a=a+4|0;if(!(Qa[f[(f[b>>2]|0)+16>>2]&127](b,f[e>>2]|0)|0)){d=0;g=5;break}if((a|0)==(c|0)){d=1;g=5;break}}if((g|0)==5)return d|0;return 0}function Wi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1872;b=f[a+76>>2]|0;if(b|0)ip(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){ip(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b);ip(a);return}function Xi(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;if(Cn(a,f[b+8>>2]|0,g)|0)Bh(0,b,c,d,e);else{h=f[a+8>>2]|0;Za[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function Yi(a,b){a=a|0;b=b|0;var c=0;c=Vk(40)|0;f[c>>2]=-1;hl(c+8|0);Va[f[(f[a>>2]|0)+16>>2]&7](a,c);a=b+88|0;b=f[a>>2]|0;f[a>>2]=c;if(!b)return 1;c=f[b+8>>2]|0;if(c|0){a=b+12|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;ip(c)}ip(b);return 1}function Zi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=0;return e|0}g=c-d>>2;d=0;while(1){c=f[a+(d<<2)>>2]|0;if((f[c+60>>2]|0)==(b|0)){e=c;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=0;h=5;break}}if((h|0)==5)return e|0;return 0}function _i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=-1;return e|0}g=c-d>>2;d=0;while(1){if((f[(f[a+(d<<2)>>2]|0)+60>>2]|0)==(b|0)){e=d;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=-1;h=5;break}}if((h|0)==5)return e|0;return 0}function $i(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function aj(a){a=a|0;var b=0,c=0;f[a>>2]=2236;b=f[a+76>>2]|0;if(b|0)ip(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);ip(b);return}function bj(a){a=a|0;var b=0,c=0;f[a>>2]=2884;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)gp(c);f[a>>2]=1476;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Ih(a);ip(a);return}Ua[f[(f[b>>2]|0)+4>>2]&127](b);Ih(a);ip(a);return}function cj(a){a=a|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)d=(f[a+8>>2]&2147483647)+-1|0;else d=10;Th(a,d,0);return}function dj(a){a=a|0;var b=0,c=0;f[a>>2]=1872;b=f[a+76>>2]|0;if(b|0)ip(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);ip(b);return}function ej(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1256;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}b=f[a+4>>2]|0;if(!b)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);ip(b);return}function fj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;e=b;g=d+(~((d+-4-e|0)>>>2)<<2)|0;if((d|0)==(b|0))h=b;else{f[c>>2]=g;h=g}f[a+16>>2]=0;f[a+12>>2]=h;if(!b)return;if((h|0)!=(b|0))f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);ip(b);return}function gj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2292;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){ip(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b);ip(a);return}function hj(a){a=a|0;var b=0,c=0;f[a>>2]=2884;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)gp(c);f[a>>2]=1476;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Ih(a);return}Ua[f[(f[b>>2]|0)+4>>2]&127](b);Ih(a);return}function ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(Cn(a,f[b+8>>2]|0,0)|0)Gi(0,b,c,d);else{e=f[a+8>>2]|0;Xa[f[(f[e>>2]|0)+28>>2]&7](e,b,c,d)}return}function jj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=X(c,b)|0;g=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){c=(np(d)|0)==0;h=Cg(a,e,d)|0;if(c)i=h;else{mp(d);i=h}}else i=Cg(a,e,d)|0;if((i|0)==(e|0))j=g;else j=(i>>>0)/(b>>>0)|0;return j|0}function kj(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Qa[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function lj(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=a;do{c=c+1|0;d=d+1|0;a=b[c>>0]|0;e=b[d>>0]|0}while(!(a<<24>>24==0?1:a<<24>>24!=e<<24>>24));f=e;g=a}return (g&255)-(f&255)|0}function mj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1928;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){ip(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b);ip(a);return}function nj(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;cj(d);Wg(a,d,b);Km(d);u=c;return}function oj(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+4>>2]|0;if(c|0?((h[c+36>>0]|0)<<8&65535)<512:0){d=1;return d|0}d=Qa[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0;return d|0}function pj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((im(za(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function qj(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=0;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=0;return c|0}b=f[d>>2]|0;if((b|0)==-1){c=0;return c|0}c=f[(f[a+8>>2]|0)+(b<<2)>>2]|0;return c|0}function rj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}d=lg(f[(f[a+36>>2]|0)+(e<<2)>>2]|0)|0;return d|0}function sj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!(Lh(f[a+8>>2]|0,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0)){d=0;return d|0}d=Ra[f[(f[a>>2]|0)+32>>2]&31](a,b,c)|0;return d|0}function tj(a,b){a=a|0;b=b|0;var c=0;Ck(a);f[a>>2]=1416;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function uj(a){a=a|0;var b=0,c=0;f[a>>2]=2292;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);ip(b);return}function vj(a){a=a|0;var b=0,c=0;f[a>>2]=1928;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);ip(b);return}function wj(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;e=c;c=d+64|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(c|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function xj(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=d;d=c;c=a;while(1){a=g+-1|0;b[a>>0]=h[13972+(c&15)>>0]|0|e;c=Ul(c|0,d|0,4)|0;d=I;if((c|0)==0&(d|0)==0){f=a;break}else g=a}}return f|0}function yj(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function zj(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Aj(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b+88>>2]|0;if(!c){d=0;return d|0}if((f[c>>2]|0)!=2){d=0;return d|0}b=f[c+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;d=1;return d|0}function Bj(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}b=(f[a+56>>2]|0)!=0;return b|0}function Cj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=b[a+11>>0]|0;e=d<<24>>24<0;if(e)g=f[a+4>>2]|0;else g=d&255;if(g>>>0<=c>>>0)zo(a);if(e)h=f[a>>2]|0;else h=a;return h+c|0}function Dj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+32|0;g=e;f[a+36>>2]=15;if((f[a>>2]&64|0)==0?(f[g>>2]=f[a+60>>2],f[g+4>>2]=21523,f[g+8>>2]=e+16,Ba(54,g|0)|0):0)b[a+75>>0]=-1;g=rf(a,c,d)|0;u=e;return g|0}function Ej(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){nc(a,b,c);return}else{wc(a,0,0);return}}function Fj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;Ke(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Gj(a,b){a=a|0;b=b|0;var c=0;if(!(Qa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){c=0;return c|0}if(!(Qa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){c=0;return c|0}c=Pa[f[(f[a>>2]|0)+44>>2]&127](a)|0;return c|0}function Hj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;d=f[c>>2]|0;c=a;e=b-a>>2;while(1){if(!e)break;a=(e|0)/2|0;b=c+(a<<2)|0;g=(f[b>>2]|0)>>>0>>0;c=g?b+4|0:c;e=g?e+-1-a|0:a}return c|0}function Ij(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!(sl(a,c,d)|0)){e=0;return e|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){e=0;return e|0}e=(f[d+28>>2]|0)==9;return e|0}function Jj(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Kj(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+44>>2]=c;d=1;return d|0}function Lj(a,c){a=a|0;c=c|0;var d=0,e=0;a=u;u=u+32|0;d=a;vh(d,c);c=f[d+16>>2]|0;e=d+4|0;if((b[e+11>>0]|0)>=0){u=a;return c|0}ip(f[e>>2]|0);u=a;return c|0}function Mj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;if(!(To(b[f[a>>2]>>0]|0)|0))c=0;else{d=0;while(1){e=f[a>>2]|0;g=(d*10|0)+-48+(b[e>>0]|0)|0;h=e+1|0;f[a>>2]=h;if(!(To(b[h>>0]|0)|0)){c=g;break}else d=g}}return c|0}function Nj(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+64>>2]=c;d=1;return d|0}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!(sl(a,b,c)|0)){d=0;return d|0}d=(f[(f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0)+28>>2]|0)==9;return d|0}function Pj(a){a=a|0;var b=0,c=0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){ea()|0;ya(12);return -1}f[r>>2]=c;if((c|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;ya(12);return -1}return b|0}function Qj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=d;d=c;c=a;while(1){a=f+-1|0;b[a>>0]=c&7|48;c=Ul(c|0,d|0,3)|0;d=I;if((c|0)==0&(d|0)==0){e=a;break}else f=a}}return e|0}function Rj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){ip(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b);ip(a);return}function Sj(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Cn(a,f[b+8>>2]|0,g)|0)Bh(0,b,c,d,e);return}function Tj(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;Nf(a+20|0,g,d);u=c;return}function Uj(a,c){a=a|0;c=c|0;var d=0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;d=1}else d=0;return d|0}function Vj(a){a=a|0;var b=0;switch(a|0){case 11:case 2:case 1:{b=1;break}case 4:case 3:{b=2;break}case 6:case 5:{b=4;break}case 8:case 7:{b=8;break}case 9:{b=4;break}case 10:{b=8;break}default:b=-1}return b|0}function Wj(a){a=a|0;var c=0,d=0,e=0;b[a+36>>0]=0;c=Rl(f[a+32>>2]|0,0,7,0)|0;d=Ul(c|0,I|0,3)|0;c=a+16|0;a=c;e=Rl(d|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;a=c;f[a>>2]=e;f[a+4>>2]=I;return}function Xj(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;Nf(a+20|0,g,d);u=c;return}function Yj(a){a=a|0;var b=0,c=0,d=0;b=a+60|0;c=a;d=c+60|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=a;b=a+64|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function Zj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(f[a+96>>2]|0)+(b*12|0)|0;Oe(c,d,d+12|0);return 1}function _j(){var a=0,b=0;a=Vk(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function $j(a){a=a|0;f[a>>2]=3172;ch(a+8|0);ip(a);return}function ak(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;th(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function bk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=X(d,c)|0;f=a>>>16;a=(e>>>16)+(X(d,f)|0)|0;d=b>>>16;b=X(d,c)|0;return (I=(a>>>16)+(X(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function ck(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Sh(b)|0;d=Vk(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=bo(d)|0;Jf(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function dk(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=-1;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=-1;return c|0}c=f[d>>2]|0;return c|0}function ek(a){a=a|0;f[a>>2]=3172;ch(a+8|0);return}function fk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;Ac(a,b,c,d,e);return}function gk(a){a=a|0;var b=0,c=0;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);ip(b);return}function hk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Cn(a,f[b+8>>2]|0,0)|0)Gi(0,b,c,d);return}function ik(a){a=a|0;var b=0;f[a>>2]=3440;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function jk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Jf(a,c,d)|0;return a|0}function kk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1228;b=f[a+8>>2]|0;if(!b){ip(a);return}c=a+12|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b);ip(a);return}function lk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=Ra[f[(f[a>>2]|0)+16>>2]&31](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function mk(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>=2){c=0;return c|0}f[a+28>>2]=b;c=1;return c|0}function nk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function ok(){var a=0,b=0;a=Yk()|0;if((a|0?(b=f[a>>2]|0,b|0):0)?(a=b+48|0,(f[a>>2]&-256|0)==1126902528?(f[a+4>>2]|0)==1129074247:0):0)Tm(f[b+12>>2]|0);Tm(no()|0)}function pk(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function qk(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ip(b)}ip(a);return}function rk(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-2-b|0)>>>1)<<1);ip(b)}ip(a);return}function sk(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;a=f[c+68>>2]|0;d=c+72|0;c=f[d>>2]|0;if((c|0)==(a|0))return 1;f[d>>2]=c+(~((c+-4-a|0)>>>2)<<2);return 1}function tk(a){a=a|0;var b=0,c=0;if(No(a)|0?(b=io(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)ip(b);return}function uk(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function vk(a){a=a|0;var b=0,c=0;f[a>>2]=1476;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ua[f[(f[c>>2]|0)+4>>2]&127](c);Ih(a);ip(a);return}function wk(a){a=a|0;var b=0,c=0;f[a>>2]=1228;b=f[a+8>>2]|0;if(!b)return;c=a+12|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);ip(b);return}function xk(a,b,c){a=a|0;b=b|0;c=c|0;Qb(a,b,c);return}function yk(a){a=a|0;uk(a);uk(a+40|0);Ho(a+80|0);uk(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function zk(a){a=a|0;var b=0,c=0;f[a>>2]=1476;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Ua[f[(f[c>>2]|0)+4>>2]&127](c);Ih(a);return}function Ak(a,b,c){a=a|0;b=b|0;c=c|0;return ed(a,b,5,6,c)|0}function Bk(a,b,c){a=a|0;b=b|0;c=c|0;return cd(a,b,3,4,c)|0}function Ck(a){a=a|0;var b=0;f[a>>2]=1256;b=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;return}function Dk(a,b,c){a=a|0;b=b|0;c=c|0;return hd(a,b,1,2,c)|0}function Ek(a,b,c){a=a|0;b=b|0;c=c|0;return dd(a,b,3,4,c)|0}function Fk(a,b,c){a=a|0;b=b|0;c=c|0;return fd(a,b,5,6,c)|0}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;Jf(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Hk(a,b,c){a=a|0;b=b|0;c=c|0;return id(a,b,1,2,c)|0}function Ik(a){a=a|0;var b=0;f[a>>2]=3148;b=f[a+20>>2]|0;if(b|0)ip(b);b=f[a+8>>2]|0;if(!b){ip(a);return}ip(b);ip(a);return}function Jk(){var a=0,b=0;a=Vk(24)|0;f[a>>2]=1228;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function Kk(a){a=a|0;var c=0;Jj(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Lk(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;ip(b)}ip(a);return}function Mk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function Nk(a){a=a|0;var b=0;f[a>>2]=3196;b=f[a+20>>2]|0;if(b|0)ip(b);b=f[a+8>>2]|0;if(!b){ip(a);return}ip(b);ip(a);return}function Ok(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function Pk(a,b,c){a=a|0;b=$(b);c=c|0;var d=0,e=Na;if((c|0)<1){d=0;return d|0}e=$($(1.0)/$(c|0));n[a+4>>2]=e;n[a>>2]=b;d=1;return d|0}function Qk(a,b,c){a=a|0;b=b|0;c=c|0;f[a+4>>2]=b;f[a+8>>2]=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2];f[a+12>>2]=c;return 1}function Rk(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;ip(b)}ip(a);return}function Sk(a){a=a|0;var b=0;Jn(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;b=a+24|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Tk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e|0;Hc(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function Uk(a){a=a|0;var b=0;Yl(a);f[a>>2]=3580;b=a+84|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function Vk(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=_a(b)|0;if(a|0){c=a;break}a=ko()|0;if(!a){c=0;break}Ta[a&3]()}return c|0}function Wk(a){a=a|0;var b=0;f[a>>2]=3148;b=f[a+20>>2]|0;if(b|0)ip(b);b=f[a+8>>2]|0;if(!b)return;ip(b);return}function Xk(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=kp(f[a+60>>2]|0)|0;f[c>>2]=d;d=im(Ca(6,c|0)|0)|0;u=b;return d|0}function Yk(){var a=0,b=0;a=u;u=u+16|0;if(!(Ja(17020,3)|0)){b=Ha(f[4256]|0)|0;u=a;return b|0}else ul(16160,a);return 0}function Zk(a){a=a|0;var b=0;f[a>>2]=3196;b=f[a+20>>2]|0;if(b|0)ip(b);b=f[a+8>>2]|0;if(!b)return;ip(b);return}function _k(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=bk(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function $k(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ak(b,c,d)|0}function al(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bk(b,c,d)|0}function bl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ae(b,c,d)|0}function cl(a){a=a|0;var b=0;b=u;u=u+16|0;_b(a);if(!(Ka(f[4256]|0,0)|0)){u=b;return}else ul(16259,b)}function dl(a){a=a|0;var b=0;Ck(a);f[a>>2]=1312;b=a+36|0;a=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function el(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Dk(b,c,d)|0}function fl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ek(b,c,d)|0}function gl(a){a=a|0;f[a>>2]=2548;ip(a);return}function hl(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function il(a){a=a|0;Fm(a);f[a>>2]=2884;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function jl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Hk(b,c,d)|0}function kl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Fk(b,c,d)|0}function ll(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;return}function ml(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (((f[a+8>>2]|0)+-1|0)==(d|0)?0:d+1|0)|0}function nl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=gh(a,b,c,g)|0;u=e;return d|0}function ol(a){a=a|0;f[a>>2]=2632;ip(a);return}function pl(a){a=a|0;f[a>>2]=2716;ip(a);return}function ql(a){a=a|0;f[a>>2]=2548;return}function rl(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function sl(a,b,c){a=a|0;b=b|0;c=c|0;return Qk(a,b,c)|0}function tl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Sa[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function ul(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=f[906]|0;bg(b,a,d)|0;Xh(10,b)|0;Da()}function vl(a){a=a|0;f[a>>2]=2800;ip(a);return}function wl(a){a=a|0;f[a>>2]=2632;return}function xl(a){a=a|0;f[a>>2]=2716;return}function yl(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Qa[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function zl(a,b,c){a=a|0;b=b|0;c=c|0;return dk(b,c)|0}function Al(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Qa[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function Bl(a){a=a|0;xd(a);ip(a);return}function Cl(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return Qa[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function Dl(a){a=a|0;var c=0,d=0;c=a+4|0;if((b[c+11>>0]|0)<0){d=f[c>>2]|0;return d|0}else{d=c;return d|0}return 0}function El(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ff(b,c,d)|0}function Fl(){var a=0;a=u;u=u+16|0;if(!(Ia(17024,104)|0)){u=a;return}else ul(16209,a)}function Gl(a){a=a|0;Ld(a);ip(a);return}function Hl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Za[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Il(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=bg(f[938]|0,a,d)|0;u=c;return b|0}function Jl(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Pa[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function Kl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Mh(b,c,d)|0}function Ll(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Dh(a|0,(Io(c)|0)&255|0,b|0)|0;return a|0}function Ml(a){a=a|0;return 4}function Nl(a){a=a|0;f[a>>2]=2800;return}function Ol(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>0]|0)<0)ip(f[c>>2]|0);ip(a);return}function Ql(){}function Rl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (I=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function Sl(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=eg(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function Tl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (I=e,a-c>>>0|0)|0}function Ul(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Vl(a,b,c){a=a|0;b=b|0;c=c|0;return Pi(a,b,c)|0}function Wl(a){a=a|0;Cd(a);ip(a);return}function Xl(a){a=a|0;return 5}function Yl(a){a=a|0;var b=0;f[a>>2]=3608;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Zl(a){a=a|0;return 6}function _l(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Zj(b,c,d)|0}function $l(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function am(a,b,c){a=a|0;b=b|0;c=c|0;return zl(a,b,c)|0}function bm(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Pa[f[(f[b>>2]|0)+28>>2]&127](b)|0}function cm(a,b,c){a=a|0;b=b|0;c=c|0;return Ye(b,c)|0}function dm(a){a=a|0;f[a>>2]=1368;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function em(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Pa[f[(f[b>>2]|0)+24>>2]&127](b)|0}function fm(a,b){a=a|0;b=b|0;Yh(a,b);return}function gm(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Pa[f[(f[b>>2]|0)+36>>2]&127](b)|0}function hm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ya[a&3](b|0,c|0,d|0,e|0,f|0)}function im(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=pp()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function jm(a,b,c){a=a|0;b=b|0;c=c|0;return Si(a,b,c)|0}function km(a,b,c){a=a|0;b=b|0;c=c|0;return Vg(a,b,c)|0}function lm(a,b,c){a=a|0;b=b|0;c=c|0;return lh(a,b,c)|0}function mm(a,b,c){a=a|0;b=b|0;c=c|0;return Bg(a,b,c)|0}function nm(a,b,c){a=a|0;b=b|0;c=c|0;return +(+fh(a,b,c))}function om(a,b){a=a|0;b=b|0;return Qa[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function pm(a,b){a=a|0;b=b|0;return Qa[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function qm(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function rm(a,b,c){a=a|0;b=b|0;c=c|0;return ni(a,b,c)|0}function sm(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function tm(a,b,c){a=a|0;b=b|0;c=c|0;return Mm(b,c)|0}function um(a,b,c){a=a|0;b=b|0;c=c|0;return mh(a,b,c)|0}function vm(a,b,c){a=a|0;b=b|0;c=c|0;return hh(a,b,c)|0}function wm(a){a=a|0;Fm(a);f[a>>2]=2376;f[a+24>>2]=-1;return}function xm(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function ym(a,b,c){a=a|0;b=b|0;c=c|0;return Qf(a,b,c)|0}function zm(a,b,c){a=a|0;b=b|0;c=c|0;return jg(b,c)|0}function Am(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function Bm(a){a=a|0;f[a+12>>2]=0;f[a+16>>2]=0;f[a>>2]=0;n[a+4>>2]=$(0.0);return}function Cm(){var a=0;a=Vk(40)|0;f[a>>2]=-1;hl(a+8|0);return a|0}function Dm(){var a=0;a=Vk(8)|0;f[a>>2]=1200;f[a+4>>2]=-1;return a|0}function Em(a,b,c){a=a|0;b=b|0;c=c|0;return Qg(a,b,c)|0}function Fm(a){a=a|0;dm(a);f[a>>2]=1476;f[a+20>>2]=0;return}function Gm(a,b){a=a|0;b=b|0;fm(a,b);return}function Hm(a){a=a|0;var b=0;if(!a)b=0;else b=(fg(a,1072,1160,0)|0)!=0&1;return b|0}function Im(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function Jm(a,b){a=a|0;b=b|0;return Lj(a,b)|0}function Km(a){a=a|0;if((b[a+11>>0]|0)<0)ip(f[a>>2]|0);return}function Lm(a){a=a|0;if(!a)return;Ua[f[(f[a>>2]|0)+4>>2]&127](a);return}function Mm(a,b){a=a|0;b=b|0;return Zi(a,b)|0}function Nm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Xa[a&7](b|0,c|0,d|0,e|0)}function Om(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)jk(a|0,b|0,c|0)|0;return a|0}function Pm(a,b,c){a=a|0;b=b|0;c=c|0;return $m(b,c)|0}function Qm(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Jf(a|0,b|0,c|0)|0;return a|0}function Rm(a,b){a=a|0;b=b|0;return -1}function Sm(a){a=a|0;return 3}function Tm(a){a=a|0;var b=0;b=u;u=u+16|0;Ta[a&3]();ul(16312,b)}function Um(a,b){a=a|0;b=b|0;return Qn(a,b)|0}function Vm(a){a=a|0;sg(a);ip(a);return}function Wm(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function Xm(a){a=a|0;fn(a);f[a>>2]=3012;f[a+48>>2]=0;return}function Ym(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ra[a&31](b|0,c|0,d|0)|0}function Zm(a,b,c){a=a|0;b=b|0;c=c|0;ll(a,b,c);return}function _m(a,b){a=a|0;b=b|0;f[a>>2]=4724;ck(a+4|0,b);return}function $m(a,b){a=a|0;b=b|0;return f[(f[a+8>>2]|0)+(b<<2)>>2]|0}function an(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=bh(a,b,0)|0;return c|0}function bn(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function cn(){var a=0;a=Vk(64)|0;Jj(a);return a|0}function dn(a,b){a=a|0;b=b|0;return $(kn(a,b))}function en(a){a=a|0;return f[a+8>>2]|0}function fn(a){a=a|0;ik(a);f[a>>2]=2952;f[a+44>>2]=0;return}function gn(a){a=a|0;if(!a)return;kh(a);ip(a);return}function hn(a,b){a=a|0;b=b|0;return Yn(a,b)|0}function jn(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function kn(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function ln(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))Cg(b,c,a)|0;return}function mn(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Wa[a&15](b|0,c|0,d|0)}function on(){var a=0;a=Vk(96)|0;Kk(a);return a|0}function pn(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function qn(a){a=a|0;var b=0;b=(cp()|0)+188|0;return gi(a,f[b>>2]|0)|0}function rn(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function sn(){var a=0;a=Vk(16)|0;Wm(a);return a|0}function tn(){var a=0;a=Vk(40)|0;uk(a);return a|0}function un(a,b){a=a|0;b=b|0;return 1}function vn(a,b){a=a|0;b=b|0;return Fn(a,b)|0}function wn(a,b){a=a|0;b=b|0;return Gn(a,b)|0}function xn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function yn(a,b){a=a|0;b=b|0;return Wn(a,b)|0}function zn(){var a=0;a=Vk(12)|0;On(a);return a|0}function An(a){a=a|0;Ih(a);ip(a);return}function Bn(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function Cn(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Dn(a,b){a=a|0;b=b|0;var c=0;c=Tn(a|0)|0;return ((b|0)==0?a:c)|0}function En(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function Fn(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function Gn(a,b){a=a|0;b=b|0;return d[(f[a>>2]|0)+(b<<1)>>1]|0}function Hn(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function In(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Hc(a,b,c,d,0)|0}function Jn(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Kn(){var a=0;a=Vk(84)|0;Yl(a);return a|0}function Ln(a){a=a|0;Hg(a);ip(a);return}function Mn(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function Nn(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>1|0}function On(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Pn(a){a=a|0;f[a>>2]=4724;tk(a+4|0);return}function Qn(a,b){a=a|0;b=b|0;return f[b+12>>2]|0}function Rn(a,b,c){a=a|0;b=b|0;c=c|0;return Qa[a&127](b|0,c|0)|0}function Sn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function Tn(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Un(a){a=a|0;fn(a);f[a>>2]=3356;return}function Vn(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function Wn(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function Xn(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function Yn(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function Zn(a){a=a|0;return $(n[a+20>>2])}function _n(a){a=a|0;return f[a+4>>2]|0}function $n(a){a=a|0;if(!a)return;ip(a);return}function ao(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function bo(a){a=a|0;return a+12|0}function co(a){a=a|0;return f[a+88>>2]|0}function eo(a,b,c){a=a|0;b=b|0;c=c|0;Va[a&7](b|0,c|0)}function fo(){var a=0;a=Vk(40)|0;Sk(a);return a|0}function go(){var a=0;a=Vk(108)|0;Uk(a);return a|0}function ho(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function io(a){a=a|0;return a+-12|0}function jo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function ko(){var a=0;a=f[4257]|0;f[4257]=a+0;return a|0}function lo(a){a=a|0;return Lo(a+4|0)|0}function mo(a){a=a|0;return f[a+56>>2]|0}function no(){var a=0;a=f[1158]|0;f[1158]=a+0;return a|0}function oo(a){a=a|0;sf(a);ip(a);return}function po(a){a=a|0;mp(a);ip(a);return}function qo(a){a=a|0;return b[a+24>>0]|0}function ro(a,b){a=a|0;b=b|0;return 0}function so(a){a=a|0;return f[a+40>>2]|0}function to(a){a=a|0;return f[a+48>>2]|0}function uo(a,b){a=a|0;b=b|0;return Pa[a&127](b|0)|0}function vo(a){a=a|0;return f[a+60>>2]|0}function wo(a){a=a|0;return f[a+28>>2]|0}function xo(a){a=a|0;sa(a|0)|0;ok()}function yo(a){a=a|0;Pn(a);ip(a);return}function zo(a){a=a|0;Da()}function Ao(a,b){a=a|0;b=b|0;u=a;v=b}function Bo(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Co(a){a=a|0;return (f[a>>2]|0)==0|0}function Do(a){a=a|0;return f[a+80>>2]|0}function Eo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function Fo(a,b){a=a|0;b=b|0;Ua[a&127](b|0)}function Go(a,b){a=a|0;b=b|0;return Sl(a,b)|0}function Ho(a){a=a|0;b[a+12>>0]=0;return}function Io(a){a=a|0;return a&255|0}function Jo(a){a=a|0;f[a>>2]=0;return}function Ko(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Lo(a){a=a|0;return f[a>>2]|0}function Mo(a){a=a|0;return 2}function No(a){a=a|0;return 1}function Oo(a,b){a=+a;b=b|0;return +(+hi(a,b))}function Po(){return 3}function Qo(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function Ro(){return -4}function So(){return 4}function To(a){a=a|0;return (a+-48|0)>>>0<10|0}function Uo(){return -3}function Vo(){return 1}function Wo(){return 2}function Xo(){return -5}function Yo(a,b){a=a|0;b=b|0;aa(1);return 0}function Zo(a){a=a|0;Ga()}function _o(a){a=a|0;Ta[a&3]()}function $o(){return -2}function ap(){ua()}function bp(){return -1}function cp(){return sp()|0}function dp(a,b){a=a|0;b=b|0;aa(6)}function ep(){return 0}function fp(a){a=a|0;return Vk(a)|0}function gp(a){a=a|0;ip(a);return}function hp(a){a=a|0;u=a}function ip(a){a=a|0;_b(a);return}function jp(a){a=a|0;I=a}function kp(a){a=a|0;return a|0}function lp(a){a=a|0;aa(0);return 0}function mp(a){a=a|0;return}function np(a){a=a|0;return 0}function op(){return I|0}function pp(){return 17016}function qp(){return u|0}function rp(a){a=a|0;aa(5)}function sp(){return 4004}function tp(){aa(4)} +function wc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=vl(n|0,f[m+4>>2]|0,4,0)|0;m=H;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=vl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=H;p=n;break}}else if(zh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[a>>2]|0;o=(f[e>>2]|0)-n>>2;if(p>>>0<=o>>>0)if(p>>>0>>0){f[e>>2]=n+(p<<2);q=p}else q=p;else{Eg(a,p-o|0);q=f[i>>2]|0}if(!q){g=1;return g|0}o=c+8|0;p=c+16|0;n=0;e=q;a:while(1){q=o;k=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&k>>>0>m>>>0)){g=0;r=38;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=vl(m|0,l|0,1,0)|0;l=H;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=e>>>0){g=0;r=38;break a}oh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&k>>>0>l>>>0)){g=0;r=38;break a}t=b[q+l>>0]|0;l=vl(l|0,m|0,1,0)|0;m=H;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if(v>>>0>=u>>>0){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;e=f[i>>2]|0;if(n>>>0>=e>>>0){r=22;break}}if((r|0)==22){n=a+16|0;i=f[a>>2]|0;w=a+20|0;x=f[n>>2]|0;p=(f[w>>2]|0)-x|0;c=p>>2;if(c>>>0>=262144){if((p|0)!=1048576)f[w>>2]=x+1048576}else Eg(n,262144-c|0);c=a+28|0;x=a+32|0;a=f[c>>2]|0;w=(f[x>>2]|0)-a>>3;p=a;if(e>>>0<=w>>>0){if(e>>>0>>0)f[x>>2]=p+(e<<3);if(!e){g=0;return g|0}else z=p}else{cg(c,e-w|0);z=f[c>>2]|0}c=0;w=0;while(1){p=i+(c<<2)|0;f[z+(c<<3)>>2]=f[p>>2];f[z+(c<<3)+4>>2]=w;x=w;w=(f[p>>2]|0)+w|0;if(w>>>0>262144){g=0;r=38;break}if(x>>>0>>0){p=f[n>>2]|0;a=x;do{f[p+(a<<2)>>2]=c;a=a+1|0}while((a|0)!=(w|0))}c=c+1|0;if(c>>>0>=e>>>0){r=37;break}}if((r|0)==37)return (w|0)==262144|0;else if((r|0)==38)return g|0}else if((r|0)==38)return g|0;return 0}function xc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=vl(n|0,f[m+4>>2]|0,4,0)|0;m=H;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=vl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=H;p=n;break}}else if(zh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[a>>2]|0;o=(f[e>>2]|0)-n>>2;if(p>>>0<=o>>>0)if(p>>>0>>0){f[e>>2]=n+(p<<2);q=p}else q=p;else{Eg(a,p-o|0);q=f[i>>2]|0}if(!q){g=1;return g|0}o=c+8|0;p=c+16|0;n=0;e=q;a:while(1){q=o;k=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&k>>>0>m>>>0)){g=0;r=38;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=vl(m|0,l|0,1,0)|0;l=H;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=e>>>0){g=0;r=38;break a}oh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&k>>>0>l>>>0)){g=0;r=38;break a}t=b[q+l>>0]|0;l=vl(l|0,m|0,1,0)|0;m=H;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if(v>>>0>=u>>>0){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;e=f[i>>2]|0;if(n>>>0>=e>>>0){r=22;break}}if((r|0)==22){n=a+16|0;i=f[a>>2]|0;w=a+20|0;x=f[n>>2]|0;p=(f[w>>2]|0)-x|0;c=p>>2;if(c>>>0>=65536){if((p|0)!=262144)f[w>>2]=x+262144}else Eg(n,65536-c|0);c=a+28|0;x=a+32|0;a=f[c>>2]|0;w=(f[x>>2]|0)-a>>3;p=a;if(e>>>0<=w>>>0){if(e>>>0>>0)f[x>>2]=p+(e<<3);if(!e){g=0;return g|0}else z=p}else{cg(c,e-w|0);z=f[c>>2]|0}c=0;w=0;while(1){p=i+(c<<2)|0;f[z+(c<<3)>>2]=f[p>>2];f[z+(c<<3)+4>>2]=w;x=w;w=(f[p>>2]|0)+w|0;if(w>>>0>65536){g=0;r=38;break}if(x>>>0>>0){p=f[n>>2]|0;a=x;do{f[p+(a<<2)>>2]=c;a=a+1|0}while((a|0)!=(w|0))}c=c+1|0;if(c>>>0>=e>>>0){r=37;break}}if((r|0)==37)return (w|0)==65536|0;else if((r|0)==38)return g|0}else if((r|0)==38)return g|0;return 0}function yc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=vl(n|0,f[m+4>>2]|0,4,0)|0;m=H;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=vl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=H;p=n;break}}else if(zh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[a>>2]|0;o=(f[e>>2]|0)-n>>2;if(p>>>0<=o>>>0)if(p>>>0>>0){f[e>>2]=n+(p<<2);q=p}else q=p;else{Eg(a,p-o|0);q=f[i>>2]|0}if(!q){g=1;return g|0}o=c+8|0;p=c+16|0;n=0;e=q;a:while(1){q=o;k=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&k>>>0>m>>>0)){g=0;r=38;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=vl(m|0,l|0,1,0)|0;l=H;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=e>>>0){g=0;r=38;break a}oh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&k>>>0>l>>>0)){g=0;r=38;break a}t=b[q+l>>0]|0;l=vl(l|0,m|0,1,0)|0;m=H;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if(v>>>0>=u>>>0){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;e=f[i>>2]|0;if(n>>>0>=e>>>0){r=22;break}}if((r|0)==22){n=a+16|0;i=f[a>>2]|0;w=a+20|0;x=f[n>>2]|0;p=(f[w>>2]|0)-x|0;c=p>>2;if(c>>>0>=32768){if((p|0)!=131072)f[w>>2]=x+131072}else Eg(n,32768-c|0);c=a+28|0;x=a+32|0;a=f[c>>2]|0;w=(f[x>>2]|0)-a>>3;p=a;if(e>>>0<=w>>>0){if(e>>>0>>0)f[x>>2]=p+(e<<3);if(!e){g=0;return g|0}else z=p}else{cg(c,e-w|0);z=f[c>>2]|0}c=0;w=0;while(1){p=i+(c<<2)|0;f[z+(c<<3)>>2]=f[p>>2];f[z+(c<<3)+4>>2]=w;x=w;w=(f[p>>2]|0)+w|0;if(w>>>0>32768){g=0;r=38;break}if(x>>>0>>0){p=f[n>>2]|0;a=x;do{f[p+(a<<2)>>2]=c;a=a+1|0}while((a|0)!=(w|0))}c=c+1|0;if(c>>>0>=e>>>0){r=37;break}}if((r|0)==37)return (w|0)==32768|0;else if((r|0)==38)return g|0}else if((r|0)==38)return g|0;return 0}function zc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((b|0)<0)return;c=a+12|0;d=f[c>>2]|0;e=f[a+8>>2]|0;g=e;h=d;if(d-e>>2>>>0<=b>>>0)return;e=g+(b<<2)|0;d=f[(f[e>>2]|0)+56>>2]|0;i=f[(f[g+(b<<2)>>2]|0)+60>>2]|0;g=e+4|0;if((g|0)!=(h|0)){j=g;g=e;do{k=f[j>>2]|0;f[j>>2]=0;l=f[g>>2]|0;f[g>>2]=k;if(l|0){k=l+88|0;m=f[k>>2]|0;f[k>>2]=0;if(m|0){k=f[m+8>>2]|0;if(k|0){f[m+12>>2]=k;Ko(k)}Ko(m)}m=f[l+68>>2]|0;if(m|0){f[l+72>>2]=m;Ko(m)}m=l+64|0;k=f[m>>2]|0;f[m>>2]=0;if(k|0){m=f[k>>2]|0;if(m|0){f[k+4>>2]=m;Ko(m)}Ko(k)}Ko(l)}j=j+4|0;g=g+4|0}while((j|0)!=(h|0));j=f[c>>2]|0;if((j|0)==(g|0))n=g;else{o=g;p=j;q=19}}else{o=e;p=h;q=19}if((q|0)==19){q=p;do{q=q+-4|0;p=f[q>>2]|0;f[q>>2]=0;if(p|0){h=p+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){h=f[e+8>>2]|0;if(h|0){f[e+12>>2]=h;Ko(h)}Ko(e)}e=f[p+68>>2]|0;if(e|0){f[p+72>>2]=e;Ko(e)}e=p+64|0;h=f[e>>2]|0;f[e>>2]=0;if(h|0){e=f[h>>2]|0;if(e|0){f[h+4>>2]=e;Ko(e)}Ko(h)}Ko(p)}}while((q|0)!=(o|0));n=o}f[c>>2]=n;n=f[a+4>>2]|0;if(n|0)hg(n,i);a:do if((d|0)<5){i=f[a+20+(d*12|0)>>2]|0;n=a+20+(d*12|0)+4|0;c=f[n>>2]|0;o=c;b:do if((i|0)==(c|0))r=i;else{q=i;while(1){if((f[q>>2]|0)==(b|0)){r=q;break b}q=q+4|0;if((q|0)==(c|0))break a}}while(0);if((r|0)!=(c|0)){i=r+4|0;q=o-i|0;if(q|0)Rj(r|0,i|0,q|0)|0;f[n>>2]=r+(q>>2<<2)}}while(0);r=f[a+24>>2]|0;d=f[a+20>>2]|0;q=d;if((r|0)!=(d|0)){i=r-d>>2;d=0;do{r=q+(d<<2)|0;p=f[r>>2]|0;if((p|0)>(b|0))f[r>>2]=p+-1;d=d+1|0}while(d>>>0>>0)}i=f[a+36>>2]|0;d=f[a+32>>2]|0;q=d;if((i|0)!=(d|0)){p=i-d>>2;d=0;do{i=q+(d<<2)|0;r=f[i>>2]|0;if((r|0)>(b|0))f[i>>2]=r+-1;d=d+1|0}while(d>>>0

>>0)}p=f[a+48>>2]|0;d=f[a+44>>2]|0;q=d;if((p|0)!=(d|0)){r=p-d>>2;d=0;do{p=q+(d<<2)|0;i=f[p>>2]|0;if((i|0)>(b|0))f[p>>2]=i+-1;d=d+1|0}while(d>>>0>>0)}r=f[a+60>>2]|0;d=f[a+56>>2]|0;q=d;if((r|0)!=(d|0)){i=r-d>>2;d=0;do{r=q+(d<<2)|0;p=f[r>>2]|0;if((p|0)>(b|0))f[r>>2]=p+-1;d=d+1|0}while(d>>>0>>0)}i=f[a+72>>2]|0;d=f[a+68>>2]|0;a=d;if((i|0)==(d|0))return;q=i-d>>2;d=0;do{i=a+(d<<2)|0;p=f[i>>2]|0;if((p|0)>(b|0))f[i>>2]=p+-1;d=d+1|0}while(d>>>0>>0);return}function Ac(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;h=a+4|0;i=f[c>>2]|0;c=i;do if((i|0)!=(h|0)){j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=b[g+11>>0]|0;n=k<<24>>24<0;o=n?f[g+4>>2]|0:k&255;k=m>>>0>>0;p=k?m:o;q=(p|0)==0;if(!q?(r=n?f[g>>2]|0:g,s=l?f[j>>2]|0:j,t=Fi(r,s,p)|0,(t|0)!=0):0)if((t|0)<0)break;else{u=s;v=r;w=23}else{if(o>>>0>>0)break;if(q)w=24;else{u=l?f[j>>2]|0:j;v=n?f[g>>2]|0:g;w=23}}if((w|0)==23){j=Fi(u,v,p)|0;if(j){if((j|0)>=0)w=42}else w=24}if((w|0)==24?!k:0)w=42;if((w|0)==42){f[d>>2]=c;f[e>>2]=c;x=e;return x|0}k=f[i+4>>2]|0;if(!k){j=i+8|0;p=f[j>>2]|0;if((f[p>>2]|0)==(i|0))y=p;else{p=j;do{j=f[p>>2]|0;p=j+8|0;l=f[p>>2]|0}while((f[l>>2]|0)!=(j|0));y=l}}else{p=k;while(1){l=f[p>>2]|0;if(!l)break;else p=l}y=p}do if((y|0)!=(h|0)){k=y+16|0;l=b[k+11>>0]|0;j=l<<24>>24<0;q=j?f[y+20>>2]|0:l&255;l=q>>>0>>0?q:o;if((l|0)!=0?(m=Fi(n?f[g>>2]|0:g,j?f[k>>2]|0:k,l)|0,(m|0)!=0):0){if((m|0)<0)break}else w=36;if((w|0)==36?o>>>0>>0:0)break;x=Le(a,d,g)|0;return x|0}while(0);if(!(f[i+4>>2]|0)){f[d>>2]=c;x=i+4|0;return x|0}else{f[d>>2]=y;x=y;return x|0}}while(0);y=f[i>>2]|0;do if((f[a>>2]|0)==(i|0))z=c;else{if(!y){h=i;do{e=h;h=f[h+8>>2]|0}while((f[h>>2]|0)==(e|0));A=h}else{e=y;while(1){v=f[e+4>>2]|0;if(!v){A=e;break}else e=v}}e=A;h=A+16|0;v=b[g+11>>0]|0;u=v<<24>>24<0;o=u?f[g+4>>2]|0:v&255;v=b[h+11>>0]|0;n=v<<24>>24<0;p=n?f[A+20>>2]|0:v&255;v=o>>>0

>>0?o:p;if((v|0)!=0?(q=Fi(n?f[h>>2]|0:h,u?f[g>>2]|0:g,v)|0,(q|0)!=0):0){if((q|0)<0){z=e;break}}else w=15;if((w|0)==15?p>>>0>>0:0){z=e;break}x=Le(a,d,g)|0;return x|0}while(0);if(!y){f[d>>2]=i;x=i;return x|0}else{f[d>>2]=z;x=z+4|0;return x|0}return 0}function Bc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=u;u=u+32|0;j=i+12|0;k=i;f[c+40>>2]=e;e=c+32|0;f[e>>2]=g;f[c+4>>2]=h;fc(a,g,j);if(f[a>>2]|0){u=i;return}g=a+4|0;h=g+11|0;if((b[h>>0]|0)<0)Ko(f[g>>2]|0);l=b[j+7>>0]|0;if((Ka[f[(f[c>>2]|0)+8>>2]&127](c)|0)!=(l&255|0)){m=wk(64)|0;f[k>>2]=m;f[k+8>>2]=-2147483584;f[k+4>>2]=50;n=m;o=13186;p=n+50|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[m+50>>0]=0;f[a>>2]=-1;Yi(g,k);if((b[k+11>>0]|0)<0)Ko(f[k>>2]|0);u=i;return}m=b[j+5>>0]|0;b[c+36>>0]=m;q=b[j+6>>0]|0;b[c+37>>0]=q;if((m+-1&255)>1){r=wk(32)|0;f[k>>2]=r;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=r;o=13237;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[r+22>>0]=0;f[a>>2]=-5;Yi(g,k);if((b[k+11>>0]|0)<0)Ko(f[k>>2]|0);u=i;return}r=q&255;if(m<<24>>24==2&(l<<24>>24==0?3:2)>>>0>>0){l=wk(32)|0;f[k>>2]=l;f[k+8>>2]=-2147483616;f[k+4>>2]=22;n=l;o=13260;p=n+22|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[l+22>>0]=0;f[a>>2]=-5;Yi(g,k);if((b[k+11>>0]|0)<0)Ko(f[k>>2]|0);u=i;return}l=((m&255)<<8|r)&65535;d[(f[e>>2]|0)+38>>1]=l;if((l&65535)>258?(d[j+10>>1]|0)<0:0){Od(a,c);if(f[a>>2]|0){u=i;return}if((b[h>>0]|0)<0)Ko(f[g>>2]|0)}if(!(Ka[f[(f[c>>2]|0)+12>>2]&127](c)|0)){h=wk(48)|0;f[k>>2]=h;f[k+8>>2]=-2147483600;f[k+4>>2]=33;n=h;o=13283;p=n+33|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+33>>0]=0;f[a>>2]=-1;Yi(g,k);if((b[k+11>>0]|0)<0)Ko(f[k>>2]|0);u=i;return}if(!(Ka[f[(f[c>>2]|0)+20>>2]&127](c)|0)){h=wk(32)|0;f[k>>2]=h;f[k+8>>2]=-2147483616;f[k+4>>2]=31;n=h;o=13317;p=n+31|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[h+31>>0]=0;f[a>>2]=-1;Yi(g,k);if((b[k+11>>0]|0)<0)Ko(f[k>>2]|0);u=i;return}if(Ka[f[(f[c>>2]|0)+24>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=i;return}c=wk(48)|0;f[k>>2]=c;f[k+8>>2]=-2147483600;f[k+4>>2]=34;n=c;o=13349;p=n+34|0;do{b[n>>0]=b[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));b[c+34>>0]=0;f[a>>2]=-1;Yi(g,k);if((b[k+11>>0]|0)<0)Ko(f[k>>2]|0);u=i;return}function Cc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;e=b+12|0;g=f[e>>2]|0;h=(f[c>>2]|0)-g|0;i=c+4|0;j=(f[i>>2]|0)-g|0;k=c;f[k>>2]=h;f[k+4>>2]=j;k=(h|0)>-1;l=(j|0)>-1;m=f[e>>2]|0;n=((l?j:0-j|0)+(k?h:0-h|0)|0)<=(m|0);if(n){o=h;p=j}else{if(k)if(!l)if((h|0)<1){q=-1;r=-1}else s=6;else{q=1;r=1}else if((j|0)<1){q=-1;r=-1}else s=6;if((s|0)==6){q=(h|0)>0?1:-1;r=(j|0)>0?1:-1}l=W(q,m)|0;k=W(r,m)|0;m=(h<<1)-l|0;f[c>>2]=m;h=(j<<1)-k|0;f[i>>2]=h;if((W(q,r)|0)>-1){r=0-h|0;f[c>>2]=r;t=r;u=0-m|0}else{f[c>>2]=h;t=h;u=m}m=(t+l|0)/2|0;f[c>>2]=m;l=(u+k|0)/2|0;f[i>>2]=l;o=m;p=l}if(!o)if(!p){v=1;w=o;x=p;y=0}else{z=(p|0)>0?3:1;s=14}else{l=(p|0)<1;m=(o|0)>0?(p>>31)+2|0:l?0:3;if((o|0)<0&l){v=1;w=o;x=p;y=m}else{z=m;s=14}}if((s|0)==14){switch(z|0){case 1:{A=p;B=0-o|0;break}case 2:{A=0-o|0;B=0-p|0;break}case 3:{A=0-p|0;B=o;break}default:{A=o;B=p}}p=c;f[p>>2]=A;f[p+4>>2]=B;v=0;w=A;x=B;y=z}z=(f[d>>2]|0)+w|0;f[a>>2]=z;w=(f[d+4>>2]|0)+x|0;x=a+4|0;f[x>>2]=w;d=f[e>>2]|0;if((d|0)>=(z|0))if((z|0)<(0-d|0))C=(f[b+4>>2]|0)+z|0;else C=z;else C=z-(f[b+4>>2]|0)|0;f[a>>2]=C;if((d|0)>=(w|0))if((w|0)<(0-d|0))D=(f[b+4>>2]|0)+w|0;else D=w;else D=w-(f[b+4>>2]|0)|0;f[x>>2]=D;if(v){E=D;F=C}else{switch((4-y|0)%4|0|0){case 1:{G=D;H=0-C|0;break}case 2:{G=0-C|0;H=0-D|0;break}case 3:{G=0-D|0;H=C;break}default:{G=C;H=D}}D=a;f[D>>2]=G;f[D+4>>2]=H;E=H;F=G}if(n){I=F;J=E;K=I+g|0;L=J+g|0;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}if((F|0)>-1)if((E|0)<=-1)if((F|0)<1){Q=-1;R=-1}else s=38;else{Q=1;R=1}else if((E|0)<1){Q=-1;R=-1}else s=38;if((s|0)==38){Q=(F|0)>0?1:-1;R=(E|0)>0?1:-1}s=W(Q,d)|0;n=W(R,d)|0;d=(F<<1)-s|0;f[a>>2]=d;F=(E<<1)-n|0;f[x>>2]=F;if((W(Q,R)|0)>-1){R=0-F|0;f[a>>2]=R;S=R;T=0-d|0}else{f[a>>2]=F;S=F;T=d}d=(S+s|0)/2|0;f[a>>2]=d;s=(T+n|0)/2|0;f[x>>2]=s;I=d;J=s;K=I+g|0;L=J+g|0;M=a;N=M;f[N>>2]=K;O=M+4|0;P=O;f[P>>2]=L;return}function Dc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=W(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(W(j>>>24^j,1540483477)|0)^(W(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=d-e|0;l=g+(e+4)|0;m=c}else{k=i;l=g;m=i}switch(k|0){case 3:{n=h[l+2>>0]<<16^m;o=7;break}case 2:{n=m;o=7;break}case 1:{p=m;o=8;break}default:q=m}if((o|0)==7){p=h[l+1>>0]<<8^n;o=8}if((o|0)==8)q=W(p^h[l>>0],1540483477)|0;l=W(q>>>13^q,1540483477)|0;q=l>>>15^l;l=f[a+4>>2]|0;if(!l){r=0;return r|0}p=l+-1|0;n=(p&l|0)==0;if(!n)if(q>>>0>>0)s=q;else s=(q>>>0)%(l>>>0)|0;else s=q&p;m=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!m){r=0;return r|0}a=f[m>>2]|0;if(!a){r=0;return r|0}m=(i|0)==0;if(n){n=a;a:while(1){k=f[n+4>>2]|0;c=(q|0)==(k|0);if(!(c|(k&p|0)==(s|0))){r=0;o=45;break}do if(c?(k=n+8|0,e=b[k+11>>0]|0,d=e<<24>>24<0,j=e&255,((d?f[n+12>>2]|0:j)|0)==(i|0)):0){e=f[k>>2]|0;t=d?e:k;u=e&255;if(d){if(m){r=n;o=45;break a}if(!(Fi(t,g,i)|0)){r=n;o=45;break a}else break}if(m){r=n;o=45;break a}if((b[g>>0]|0)==u<<24>>24){u=k;k=j;j=g;do{k=k+-1|0;u=u+1|0;if(!k){r=n;o=45;break a}j=j+1|0}while((b[u>>0]|0)==(b[j>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=45;break}}if((o|0)==45)return r|0}n=a;b:while(1){a=f[n+4>>2]|0;do if((q|0)==(a|0)){p=n+8|0;c=b[p+11>>0]|0;j=c<<24>>24<0;u=c&255;if(((j?f[n+12>>2]|0:u)|0)==(i|0)){c=f[p>>2]|0;k=j?c:p;t=c&255;if(j){if(m){r=n;o=45;break b}if(!(Fi(k,g,i)|0)){r=n;o=45;break b}else break}if(m){r=n;o=45;break b}if((b[g>>0]|0)==t<<24>>24){t=p;p=u;u=g;do{p=p+-1|0;t=t+1|0;if(!p){r=n;o=45;break b}u=u+1|0}while((b[t>>0]|0)==(b[u>>0]|0))}}}else{if(a>>>0>>0)v=a;else v=(a>>>0)%(l>>>0)|0;if((v|0)!=(s|0)){r=0;o=45;break b}}while(0);n=f[n>>2]|0;if(!n){r=0;o=45;break}}if((o|0)==45)return r|0;return 0}function Ec(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=W(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(W(j>>>24^j,1540483477)|0)^(W(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=d-e|0;l=g+(e+4)|0;m=c}else{k=i;l=g;m=i}switch(k|0){case 3:{n=h[l+2>>0]<<16^m;o=7;break}case 2:{n=m;o=7;break}case 1:{p=m;o=8;break}default:q=m}if((o|0)==7){p=h[l+1>>0]<<8^n;o=8}if((o|0)==8)q=W(p^h[l>>0],1540483477)|0;l=W(q>>>13^q,1540483477)|0;q=l>>>15^l;l=f[a+4>>2]|0;if(!l){r=0;return r|0}p=l+-1|0;n=(p&l|0)==0;if(!n)if(q>>>0>>0)s=q;else s=(q>>>0)%(l>>>0)|0;else s=q&p;m=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!m){r=0;return r|0}a=f[m>>2]|0;if(!a){r=0;return r|0}m=(i|0)==0;if(n){n=a;a:while(1){k=f[n+4>>2]|0;c=(k|0)==(q|0);if(!(c|(k&p|0)==(s|0))){r=0;o=45;break}do if(c?(k=n+8|0,e=b[k+11>>0]|0,d=e<<24>>24<0,j=e&255,((d?f[n+12>>2]|0:j)|0)==(i|0)):0){e=f[k>>2]|0;t=d?e:k;u=e&255;if(d){if(m){r=n;o=45;break a}if(!(Fi(t,g,i)|0)){r=n;o=45;break a}else break}if(m){r=n;o=45;break a}if((b[g>>0]|0)==u<<24>>24){u=k;k=j;j=g;do{k=k+-1|0;u=u+1|0;if(!k){r=n;o=45;break a}j=j+1|0}while((b[u>>0]|0)==(b[j>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=45;break}}if((o|0)==45)return r|0}n=a;b:while(1){a=f[n+4>>2]|0;do if((a|0)==(q|0)){p=n+8|0;c=b[p+11>>0]|0;j=c<<24>>24<0;u=c&255;if(((j?f[n+12>>2]|0:u)|0)==(i|0)){c=f[p>>2]|0;k=j?c:p;t=c&255;if(j){if(m){r=n;o=45;break b}if(!(Fi(k,g,i)|0)){r=n;o=45;break b}else break}if(m){r=n;o=45;break b}if((b[g>>0]|0)==t<<24>>24){t=p;p=u;u=g;do{p=p+-1|0;t=t+1|0;if(!p){r=n;o=45;break b}u=u+1|0}while((b[t>>0]|0)==(b[u>>0]|0))}}}else{if(a>>>0>>0)v=a;else v=(a>>>0)%(l>>>0)|0;if((v|0)!=(s|0)){r=0;o=45;break b}}while(0);n=f[n>>2]|0;if(!n){r=0;o=45;break}}if((o|0)==45)return r|0;return 0}function Fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+16|0;h=c;i=a+16|0;j=f[i>>2]|0;if(j|0){k=f[b>>2]|0;l=i;m=j;do{j=(f[m+16>>2]|0)<(k|0);l=j?l:m;m=f[(j?m+4|0:m)>>2]|0}while((m|0)!=0);if((l|0)!=(i|0)?(k|0)>=(f[l+16>>2]|0):0){n=l;o=n+20|0;u=c;return o|0}}mn(g);f[h>>2]=f[b>>2];b=h+4|0;f[h+8>>2]=0;l=h+12|0;f[l>>2]=0;k=h+8|0;f[b>>2]=k;m=f[g>>2]|0;j=g+4|0;if((m|0)!=(j|0)){p=k;q=m;while(1){m=q+16|0;f[e>>2]=p;f[d>>2]=f[e>>2];Ff(b,d,m,m)|0;m=f[q+4>>2]|0;if(!m){r=q+8|0;s=f[r>>2]|0;if((f[s>>2]|0)==(q|0))t=s;else{s=r;do{r=f[s>>2]|0;s=r+8|0;v=f[s>>2]|0}while((f[v>>2]|0)!=(r|0));t=v}}else{s=m;while(1){v=f[s>>2]|0;if(!v)break;else s=v}t=s}if((t|0)==(j|0))break;else q=t}}t=a+12|0;q=f[i>>2]|0;do if(q){d=f[h>>2]|0;e=a+16|0;p=q;while(1){m=f[p+16>>2]|0;if((d|0)<(m|0)){v=f[p>>2]|0;if(!v){w=21;break}else{x=p;y=v}}else{if((m|0)>=(d|0)){w=25;break}z=p+4|0;m=f[z>>2]|0;if(!m){w=24;break}else{x=z;y=m}}e=x;p=y}if((w|0)==21){A=p;B=p;break}else if((w|0)==24){A=p;B=z;break}else if((w|0)==25){A=p;B=e;break}}else{A=i;B=i}while(0);i=f[B>>2]|0;if(!i){w=wk(32)|0;f[w+16>>2]=f[h>>2];z=w+20|0;f[z>>2]=f[b>>2];y=w+24|0;x=f[h+8>>2]|0;f[y>>2]=x;q=f[l>>2]|0;f[w+28>>2]=q;if(!q)f[z>>2]=y;else{f[x+8>>2]=y;f[b>>2]=k;f[k>>2]=0;f[l>>2]=0}f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=A;f[B>>2]=w;A=f[f[t>>2]>>2]|0;if(!A)C=w;else{f[t>>2]=A;C=f[B>>2]|0}vd(f[a+16>>2]|0,C);C=a+20|0;f[C>>2]=(f[C>>2]|0)+1;D=w}else D=i;Bh(h+4|0,f[k>>2]|0);Bh(g,f[j>>2]|0);n=D;o=n+20|0;u=c;return o|0}function Gc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (H=n,o)|0}else{if(!m){n=0;o=0;return (H=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (H=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(Z(l|0)|0)-(Z(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (H=n,o)|0}r=j-1|0;if(r&j|0){s=(Z(j|0)|0)+33-(Z(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (H=n,o)|0}else{r=Wn(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (H=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (H=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (H=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((Wn(l|0)|0)>>>0);return (H=n,o)|0}r=(Z(l|0)|0)-(Z(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (H=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=vl(b|0,c|0,-1,-1)|0;k=H;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;wl(d|0,k|0,g|0,a|0)|0;i=H;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=wl(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=H;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (H=n,o)|0}function Hc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)Ko(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=qa(8)|0;Dm(e,13552);f[e>>2]=4908;ta(e|0,1128,105)}e=wk(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Ko(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;e=j;j=d;d=g;while(1){g=f[j+4>>2]|0;if(!i)if(g>>>0>>0)k=g;else k=(g>>>0)%(c>>>0)|0;else k=g&h;do if((k|0)==(e|0)){l=e;m=j}else{g=(f[a>>2]|0)+(k<<2)|0;if(!(f[g>>2]|0)){f[g>>2]=d;l=k;m=j;break}g=f[j>>2]|0;a:do if(!g)n=j;else{o=j+8|0;p=b[o+11>>0]|0;q=p<<24>>24<0;r=p&255;p=q?f[j+12>>2]|0:r;s=(p|0)==0;if(q){q=j;t=g;while(1){u=t+8|0;v=b[u+11>>0]|0;w=v<<24>>24<0;if((p|0)!=((w?f[t+12>>2]|0:v&255)|0)){n=q;break a}if(!s?Fi(f[o>>2]|0,w?f[u>>2]|0:u,p)|0:0){n=q;break a}u=f[t>>2]|0;if(!u){n=t;break a}else{w=t;t=u;q=w}}}if(s){q=j;t=g;while(1){w=b[t+8+11>>0]|0;if((w<<24>>24<0?f[t+12>>2]|0:w&255)|0){n=q;break a}w=f[t>>2]|0;if(!w){n=t;break a}else{u=t;t=w;q=u}}}q=j;t=g;while(1){s=t+8|0;u=b[s+11>>0]|0;w=u<<24>>24<0;if((p|0)!=((w?f[t+12>>2]|0:u&255)|0)){n=q;break a}u=w?f[s>>2]|0:s;if((b[u>>0]|0)!=(f[o>>2]&255)<<24>>24){n=q;break a}s=o;w=r;v=u;while(1){w=w+-1|0;s=s+1|0;if(!w)break;v=v+1|0;if((b[s>>0]|0)!=(b[v>>0]|0)){n=q;break a}}v=f[t>>2]|0;if(!v){n=t;break}else{s=t;t=v;q=s}}}while(0);f[d>>2]=f[n>>2];f[n>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=j;l=e;m=d}while(0);j=f[m>>2]|0;if(!j)break;else{e=l;d=m}}return}function Ic(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;c=u;u=u+16|0;d=c;e=Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){g=1;u=c;return g|0}h=a+36|0;i=a+48|0;j=d+8|0;k=d+4|0;l=d+11|0;m=0;while(1){n=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;if((f[n>>2]|0)!=0?(n=f[(f[h>>2]|0)+(m<<2)>>2]|0,o=f[n+8>>2]|0,p=Nf(n)|0,(p|0)!=0):0){n=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;q=f[n>>2]|0;n=f[o+56>>2]|0;o=wk(32)|0;f[d>>2]=o;f[j>>2]=-2147483616;f[k>>2]=24;r=o;s=11931;t=r+24|0;do{b[r>>0]=b[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));b[o+24>>0]=0;s=q+16|0;r=f[s>>2]|0;a:do if(r){t=s;v=r;do{w=(f[v+16>>2]|0)<(n|0);t=w?t:v;v=f[(w?v+4|0:v)>>2]|0}while((v|0)!=0);if(((t|0)!=(s|0)?(n|0)>=(f[t+16>>2]|0):0)?(v=t+20|0,w=f[t+24>>2]|0,(w|0)!=0):0){x=w;while(1){w=x+16|0;y=b[w+11>>0]|0;z=y<<24>>24<0;A=z?f[x+20>>2]|0:y&255;y=A>>>0<24;B=y?A:24;C=(B|0)==0;if(!C?(D=z?f[w>>2]|0:w,E=Fi(o,D,B)|0,(E|0)!=0):0)if((E|0)<0)F=16;else{G=D;F=19}else if(A>>>0<=24)if(C)F=20;else{G=z?f[w>>2]|0:w;F=19}else F=16;if((F|0)==16){F=0;H=x}else if((F|0)==19){F=0;w=Fi(G,o,B)|0;if(w)if((w|0)<0)F=22;else break;else F=20}if((F|0)==20){F=0;if(y)F=22;else break}if((F|0)==22){F=0;H=x+4|0}x=f[H>>2]|0;if(!x){F=25;break a}}I=ci(v,d,0)|0}else F=25}else F=25;while(0);if((F|0)==25){F=0;I=ci(q,d,0)|0}if((b[l>>0]|0)<0)Ko(f[d>>2]|0);if(I)ge(f[(f[(f[h>>2]|0)+(m<<2)>>2]|0)+8>>2]|0,p);else F=30}else F=30;if((F|0)==30?(F=0,o=f[(f[h>>2]|0)+(m<<2)>>2]|0,!(La[f[(f[o>>2]|0)+24>>2]&127](o,i)|0)):0){g=0;F=32;break}m=m+1|0;if((m|0)>=(e|0)){g=1;F=32;break}}if((F|0)==32){u=c;return g|0}return 0}function Jc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;g=u;u=u+64|0;i=g;j=i;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a:do if(uc(i,d)|0?ad(i,d)|0:0){j=(a|0)==0;if(!j){if(!(f[i+12>>2]|0)){l=0;break}vf(d,0,0)|0;if(!j){j=i+44|0;k=i+48|0;m=i+40|0;n=i+16|0;o=i+28|0;p=(c|0)>0;q=d+36|0;r=d+32|0;s=d+24|0;t=d+28|0;v=0;w=0;x=f[k>>2]|0;while(1){b:do if(x>>>0<16384){y=f[j>>2]|0;z=x;while(1){if((y|0)<=0){A=z;break b}B=f[m>>2]|0;y=y+-1|0;f[j>>2]=y;C=z<<8|h[B+y>>0];f[k>>2]=C;if(C>>>0>=16384){A=C;break}else z=C}}else A=x;while(0);z=A&4095;y=f[(f[n>>2]|0)+(z<<2)>>2]|0;C=f[o>>2]|0;x=(W(f[C+(y<<3)>>2]|0,A>>>12)|0)+z-(f[C+(y<<3)+4>>2]|0)|0;f[k>>2]=x;c:do if(p){C=(b[q>>0]|0)==0;if((y|0)<=0){z=0;B=w;while(1){if(C){l=0;break a}D=B+1|0;f[e+(B<<2)>>2]=0;z=z+1|0;if((z|0)>=(c|0)){E=D;break c}else B=D}}B=0;z=w;while(1){if(C){l=0;break a}D=f[s>>2]|0;F=f[t>>2]|0;G=0;H=0;I=f[r>>2]|0;while(1){J=D+(I>>>3)|0;if(J>>>0>>0){K=(h[J>>0]|0)>>>(I&7)&1;J=I+1|0;f[r>>2]=J;L=K;M=J}else{L=0;M=I}G=L<>2]=G;B=B+1|0;if((B|0)>=(c|0)){E=I;break}else z=I}}else E=w;while(0);v=v+c|0;if(v>>>0>=a>>>0)break;else w=E}}}else vf(d,0,0)|0;Cj(d);l=1}else l=0;while(0);d=f[i+28>>2]|0;if(d|0){f[i+32>>2]=d;Ko(d)}d=f[i+16>>2]|0;if(d|0){f[i+20>>2]=d;Ko(d)}d=f[i>>2]|0;if(!d){u=g;return l|0}f[i+4>>2]=d;Ko(d);u=g;return l|0}function Kc(a,b){a=a|0;b=b|0;var c=0;if(!(rd(a,b)|0)){c=0;return c|0}if(!(rd(a+16|0,b)|0)){c=0;return c|0}if(!(rd(a+32|0,b)|0)){c=0;return c|0}if(!(rd(a+48|0,b)|0)){c=0;return c|0}if(!(rd(a+64|0,b)|0)){c=0;return c|0}if(!(rd(a+80|0,b)|0)){c=0;return c|0}if(!(rd(a+96|0,b)|0)){c=0;return c|0}if(!(rd(a+112|0,b)|0)){c=0;return c|0}if(!(rd(a+128|0,b)|0)){c=0;return c|0}if(!(rd(a+144|0,b)|0)){c=0;return c|0}if(!(rd(a+160|0,b)|0)){c=0;return c|0}if(!(rd(a+176|0,b)|0)){c=0;return c|0}if(!(rd(a+192|0,b)|0)){c=0;return c|0}if(!(rd(a+208|0,b)|0)){c=0;return c|0}if(!(rd(a+224|0,b)|0)){c=0;return c|0}if(!(rd(a+240|0,b)|0)){c=0;return c|0}if(!(rd(a+256|0,b)|0)){c=0;return c|0}if(!(rd(a+272|0,b)|0)){c=0;return c|0}if(!(rd(a+288|0,b)|0)){c=0;return c|0}if(!(rd(a+304|0,b)|0)){c=0;return c|0}if(!(rd(a+320|0,b)|0)){c=0;return c|0}if(!(rd(a+336|0,b)|0)){c=0;return c|0}if(!(rd(a+352|0,b)|0)){c=0;return c|0}if(!(rd(a+368|0,b)|0)){c=0;return c|0}if(!(rd(a+384|0,b)|0)){c=0;return c|0}if(!(rd(a+400|0,b)|0)){c=0;return c|0}if(!(rd(a+416|0,b)|0)){c=0;return c|0}if(!(rd(a+432|0,b)|0)){c=0;return c|0}if(!(rd(a+448|0,b)|0)){c=0;return c|0}if(!(rd(a+464|0,b)|0)){c=0;return c|0}if(!(rd(a+480|0,b)|0)){c=0;return c|0}if(!(rd(a+496|0,b)|0)){c=0;return c|0}c=rd(a+512|0,b)|0;return c|0}function Lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=a+8|0;f[g>>2]=e;h=a+32|0;i=a+36|0;j=f[h>>2]|0;k=(f[i>>2]|0)-j>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0)f[i>>2]=j+(e<<2)}else Eg(h,e-k|0);k=e>>>0>1073741823?-1:e<<2;h=Ho(k)|0;oh(h|0,0,k|0)|0;k=f[g>>2]|0;if((k|0)>0){j=a+16|0;i=a+32|0;l=a+12|0;m=0;do{n=f[h+(m<<2)>>2]|0;o=f[j>>2]|0;do if((n|0)<=(o|0)){p=f[l>>2]|0;q=f[i>>2]|0;r=q+(m<<2)|0;if((n|0)<(p|0)){f[r>>2]=p;s=q;break}else{f[r>>2]=n;s=q;break}}else{q=f[i>>2]|0;f[q+(m<<2)>>2]=o;s=q}while(0);m=m+1|0;t=f[g>>2]|0}while((m|0)<(t|0));if((t|0)>0){m=a+20|0;i=0;do{o=(f[b+(i<<2)>>2]|0)+(f[s+(i<<2)>>2]|0)|0;n=c+(i<<2)|0;f[n>>2]=o;if((o|0)<=(f[j>>2]|0)){if((o|0)<(f[l>>2]|0)){u=(f[m>>2]|0)+o|0;v=19}}else{u=o-(f[m>>2]|0)|0;v=19}if((v|0)==19){v=0;f[n>>2]=u}i=i+1|0;n=f[g>>2]|0}while((i|0)<(n|0));w=n}else w=t}else w=k;if((e|0)>=(d|0)){Io(h);return 1}k=0-e|0;t=a+16|0;i=a+32|0;u=a+12|0;m=a+20|0;a=e;l=w;while(1){w=c+(a<<2)|0;j=w+(k<<2)|0;s=b+(a<<2)|0;if((l|0)>0){n=0;do{o=f[j+(n<<2)>>2]|0;q=f[t>>2]|0;do if((o|0)<=(q|0)){r=f[u>>2]|0;p=f[i>>2]|0;x=p+(n<<2)|0;if((o|0)<(r|0)){f[x>>2]=r;y=p;break}else{f[x>>2]=o;y=p;break}}else{p=f[i>>2]|0;f[p+(n<<2)>>2]=q;y=p}while(0);n=n+1|0;z=f[g>>2]|0}while((n|0)<(z|0));if((z|0)>0){n=0;do{j=(f[s+(n<<2)>>2]|0)+(f[y+(n<<2)>>2]|0)|0;q=w+(n<<2)|0;f[q>>2]=j;if((j|0)<=(f[t>>2]|0)){if((j|0)<(f[u>>2]|0)){A=(f[m>>2]|0)+j|0;v=38}}else{A=j-(f[m>>2]|0)|0;v=38}if((v|0)==38){v=0;f[q>>2]=A}n=n+1|0;q=f[g>>2]|0}while((n|0)<(q|0));B=q}else B=z}else B=l;a=a+e|0;if((a|0)>=(d|0))break;else l=B}Io(h);return 1}function Mc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=u;u=u+32|0;e=d+24|0;g=d+20|0;h=d+8|0;i=d+4|0;j=d;f[e>>2]=0;zh(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){k=0;while(1){k=k+1|0;if(!(bd(a,c)|0)){l=0;break}if(k>>>0>=(f[e>>2]|0)>>>0)break a}u=d;return l|0}while(0);f[g>>2]=0;zh(g,f[a>>2]|0)|0;b:do if(!(f[g>>2]|0))m=1;else{e=h+11|0;k=0;while(1){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;n=f[a>>2]|0;o=n+8|0;p=f[o+4>>2]|0;q=n+16|0;r=q;s=f[r>>2]|0;t=f[r+4>>2]|0;do if((p|0)>(t|0)|((p|0)==(t|0)?(f[o>>2]|0)>>>0>s>>>0:0)){r=b[(f[n>>2]|0)+s>>0]|0;v=vl(s|0,t|0,1,0)|0;w=q;f[w>>2]=v;f[w+4>>2]=H;w=r&255;Gh(h,w,0);if(r<<24>>24){v=f[a>>2]|0;x=gj(h,0)|0;y=v+8|0;z=f[y>>2]|0;A=f[y+4>>2]|0;y=v+16|0;B=y;C=f[B>>2]|0;D=r&255;r=vl(C|0,f[B+4>>2]|0,D|0,0)|0;B=H;if((A|0)<(B|0)|(A|0)==(B|0)&z>>>0>>0){E=1;break}Bf(x|0,(f[v>>2]|0)+C|0,w|0)|0;w=y;C=vl(f[w>>2]|0,f[w+4>>2]|0,D|0,0)|0;D=y;f[D>>2]=C;f[D+4>>2]=H}D=wk(40)|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=1065353216;C=D+20|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;f[D+36>>2]=1065353216;f[i>>2]=D;if(Mc(a,D)|0){D=f[i>>2]|0;f[i>>2]=0;f[j>>2]=D;of(c,h,j)|0;Xg(j);F=0}else F=1;Xg(i);E=F}else E=1;while(0);if((b[e>>0]|0)<0)Ko(f[h>>2]|0);k=k+1|0;if(E|0){m=0;break b}if(k>>>0>=(f[g>>2]|0)>>>0){m=1;break}}}while(0);l=m;u=d;return l|0}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d;g=a+68|0;f[g>>2]=(f[g>>2]|0)+1;g=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;h=g>>2;if((g|0)<=0){u=d;return}g=a+4|0;i=a+56|0;j=a+72|0;k=f[c>>2]|0;c=k+4|0;l=k+8|0;m=a+76|0;n=0;o=f[a+44+(b<<2)>>2]|0;while(1){b=(o|0)==-1;p=(o>>>0)/3|0;q=b?-1:p;r=(f[i>>2]|0)+(q>>>5<<2)|0;f[r>>2]=f[r>>2]|1<<(q&31);f[j>>2]=(f[j>>2]|0)+1;do if(n){if(b)s=-1;else{q=(o|0)/3|0;s=f[(f[(f[a>>2]|0)+96>>2]|0)+(q*12|0)+(o-(q*3|0)<<2)>>2]|0}f[m>>2]=s;f[e>>2]=s;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=s;f[c>>2]=q+4}else Ng(k,e);if(!(n&1)){q=o+1|0;if(b){t=-1;break}v=((q>>>0)%3|0|0)==0?o+-2|0:q;w=35;break}if(!b)if(!(o-(p*3|0)|0)){v=o+2|0;w=35;break}else{v=o+-1|0;w=35;break}else t=-1}else{if(b)x=-1;else x=f[(f[(f[a>>2]|0)+96>>2]|0)+(((o|0)/3|0)*12|0)+(((o|0)%3|0)<<2)>>2]|0;f[e>>2]=x;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=x;f[c>>2]=q+4}else Ng(k,e);q=o+1|0;if(!b?(r=((q>>>0)%3|0|0)==0?o+-2|0:q,(r|0)!=-1):0){q=(r|0)/3|0;y=f[(f[(f[a>>2]|0)+96>>2]|0)+(q*12|0)+(r-(q*3|0)<<2)>>2]|0}else y=-1;f[e>>2]=y;q=f[c>>2]|0;if(q>>>0<(f[l>>2]|0)>>>0){f[q>>2]=y;f[c>>2]=q+4}else Ng(k,e);if(!b?(q=(((o>>>0)%3|0|0)==0?2:-1)+o|0,(q|0)!=-1):0){r=(q|0)/3|0;z=f[(f[(f[a>>2]|0)+96>>2]|0)+(r*12|0)+(q-(r*3|0)<<2)>>2]|0}else z=-1;f[m>>2]=z;f[e>>2]=z;r=f[c>>2]|0;if(r>>>0<(f[l>>2]|0)>>>0){f[r>>2]=z;f[c>>2]=r+4}else Ng(k,e);v=o;w=35}while(0);if((w|0)==35){w=0;if((v|0)==-1)t=-1;else t=f[(f[(f[g>>2]|0)+12>>2]|0)+(v<<2)>>2]|0}n=n+1|0;if((n|0)>=(h|0))break;else o=t}u=d;return}function Oc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Ko(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=qa(8)|0;Dm(d,13552);f[d>>2]=4908;ta(d|0,1128,105)}d=wk(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)Ko(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;if(h){h=i;d=c;j=e;while(1){k=f[d+4>>2]&g;do if((k|0)==(h|0)){l=h;m=d}else{n=(f[a>>2]|0)+(k<<2)|0;if(!(f[n>>2]|0)){f[n>>2]=j;l=k;m=d;break}n=f[d>>2]|0;a:do if(!n)o=d;else{p=f[d+8>>2]|0;q=d;r=n;while(1){if((p|0)!=(f[r+8>>2]|0)){o=q;break a}s=f[r>>2]|0;if(!s){o=r;break}else{t=r;r=s;q=t}}}while(0);f[j>>2]=f[o>>2];f[o>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=d;l=h;m=j}while(0);d=f[m>>2]|0;if(!d)break;else{h=l;j=m}}return}m=i;i=c;c=e;while(1){e=f[i+4>>2]|0;if(e>>>0>>0)u=e;else u=(e>>>0)%(b>>>0)|0;do if((u|0)==(m|0)){v=m;w=i}else{e=(f[a>>2]|0)+(u<<2)|0;if(!(f[e>>2]|0)){f[e>>2]=c;v=u;w=i;break}e=f[i>>2]|0;b:do if(!e)x=i;else{j=f[i+8>>2]|0;l=i;h=e;while(1){if((j|0)!=(f[h+8>>2]|0)){x=l;break b}d=f[h>>2]|0;if(!d){x=h;break}else{o=h;h=d;l=o}}}while(0);f[c>>2]=f[x>>2];f[x>>2]=f[f[(f[a>>2]|0)+(u<<2)>>2]>>2];f[f[(f[a>>2]|0)+(u<<2)>>2]>>2]=i;v=m;w=c}while(0);i=f[w>>2]|0;if(!i)break;else{m=v;c=w}}return}function Pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;d=u;u=u+16|0;e=d+8|0;g=d;h=d+4|0;if(!(Qe(a,b)|0)){i=0;u=d;return i|0}j=b+96|0;k=b+100|0;b=f[k>>2]|0;l=f[j>>2]|0;if((b|0)==(l|0)){i=1;u=d;return i|0}m=a+56|0;n=a+8|0;o=a+12|0;p=a+20|0;q=a+24|0;r=a+32|0;s=a+36|0;t=a+68|0;v=a+76|0;w=f[c>>2]|0;c=w+4|0;x=w+8|0;y=w;z=a+72|0;A=0;B=l;l=b;while(1){if(!(f[(f[m>>2]|0)+(A>>>5<<2)>>2]&1<<(A&31))){b=A*3|0;f[g>>2]=b;f[e>>2]=f[g>>2];_b(a,0,e);C=(f[o>>2]|0)-(f[n>>2]|0)|0;D=(C|0)!=0;E=D?C>>2:0;f[g>>2]=b+1;f[e>>2]=f[g>>2];_b(a,1,e);C=(f[q>>2]|0)-(f[p>>2]|0)>>2;F=C>>>0>E>>>0;f[g>>2]=b+2;f[e>>2]=f[g>>2];_b(a,2,e);b=(f[s>>2]|0)-(f[r>>2]|0)>>2>>>0>(F?C:E)>>>0?2:F?1:(D^1)<<31>>31;if((f[t>>2]|0)>0){D=f[v>>2]|0;f[e>>2]=D;F=f[c>>2]|0;if(F>>>0<(f[x>>2]|0)>>>0){f[F>>2]=D;f[c>>2]=F+4}else Ng(w,e);F=f[a+44+(b<<2)>>2]|0;if((F|0)==-1)G=-1;else{D=(F|0)/3|0;G=f[(f[(f[a>>2]|0)+96>>2]|0)+(D*12|0)+(F-(D*3|0)<<2)>>2]|0}f[e>>2]=G;D=f[c>>2]|0;if(D>>>0<(f[x>>2]|0)>>>0){f[D>>2]=G;f[c>>2]=D+4}else Ng(w,e);D=(f[z>>2]|0)+2|0;f[z>>2]=D;if(D&1|0){f[e>>2]=G;D=f[c>>2]|0;if(D>>>0<(f[x>>2]|0)>>>0){f[D>>2]=G;f[c>>2]=D+4}else Ng(w,e);f[z>>2]=(f[z>>2]|0)+1}}f[h>>2]=y;f[e>>2]=f[h>>2];Nc(a,b,e);H=f[j>>2]|0;I=f[k>>2]|0}else{H=B;I=l}A=A+1|0;if(A>>>0>=((I-H|0)/12|0)>>>0){i=1;break}else{B=H;l=I}}u=d;return i|0}function Qc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+176|0;g=e+136|0;h=e+64|0;i=e;j=e+32|0;k=f[(f[c+4>>2]|0)+44>>2]|0;l=wk(88)|0;f[l+4>>2]=0;f[l>>2]=3384;m=l+12|0;f[m>>2]=3364;n=l+64|0;f[n>>2]=0;f[l+68>>2]=0;f[l+72>>2]=0;o=l+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[l+76>>2]=k;f[l+80>>2]=d;f[l+84>>2]=0;q=l;r=h+4|0;f[r>>2]=3364;s=h+56|0;f[s>>2]=0;t=h+60|0;f[t>>2]=0;f[h+64>>2]=0;o=h+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=f[c+8>>2]|0;f[i>>2]=3364;c=i+4|0;p=c+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[c>>2]=o;c=((f[o+4>>2]|0)-(f[o>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;Gf(i+8|0,c,g);Pa[f[(f[i>>2]|0)+8>>2]&127](i);le(j,i);le(g,j);f[h>>2]=f[g+4>>2];c=h+4|0;He(c,g)|0;f[g>>2]=3364;p=f[g+20>>2]|0;if(p|0)Ko(p);p=f[g+8>>2]|0;if(p|0)Ko(p);f[h+36>>2]=o;f[h+40>>2]=d;f[h+44>>2]=k;f[h+48>>2]=l;f[j>>2]=3364;k=f[j+20>>2]|0;if(k|0)Ko(k);k=f[j+8>>2]|0;if(k|0)Ko(k);f[l+8>>2]=f[h>>2];He(m,c)|0;c=l+44|0;l=h+36|0;f[c>>2]=f[l>>2];f[c+4>>2]=f[l+4>>2];f[c+8>>2]=f[l+8>>2];f[c+12>>2]=f[l+12>>2];b[c+16>>0]=b[l+16>>0]|0;df(n,f[s>>2]|0,f[t>>2]|0);f[a>>2]=q;f[i>>2]=3364;q=f[i+20>>2]|0;if(q|0)Ko(q);q=f[i+8>>2]|0;if(q|0)Ko(q);q=f[s>>2]|0;if(q|0){f[t>>2]=q;Ko(q)}f[r>>2]=3364;r=f[h+24>>2]|0;if(r|0)Ko(r);r=f[h+12>>2]|0;if(!r){u=e;return}Ko(r);u=e;return}function Rc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+16|0;h=d+4|0;i=d;f[a+72>>2]=e;f[a+64>>2]=g;g=Ho(e>>>0>1073741823?-1:e<<2)|0;j=a+68|0;k=f[j>>2]|0;f[j>>2]=g;if(k|0)Io(k);k=a+8|0;f[k>>2]=e;g=a+32|0;l=a+36|0;m=f[g>>2]|0;n=(f[l>>2]|0)-m>>2;if(n>>>0>=e>>>0){if(n>>>0>e>>>0)f[l>>2]=m+(e<<2)}else Eg(g,e-n|0);n=a+56|0;g=f[n>>2]|0;m=f[g+4>>2]|0;l=f[g>>2]|0;o=m-l|0;p=o>>2;if((o|0)<=0){u=d;return 1}o=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;if((m|0)==(l|0)){t=g;$n(t)}g=0;m=l;while(1){f[i>>2]=f[m+(g<<2)>>2];f[h>>2]=f[i>>2];ac(a,h,c,g);l=W(g,e)|0;v=f[j>>2]|0;w=b+(l<<2)|0;x=c+(l<<2)|0;if((f[k>>2]|0)>0){l=0;do{y=f[v+(l<<2)>>2]|0;z=f[o>>2]|0;do if((y|0)<=(z|0)){A=f[r>>2]|0;B=f[q>>2]|0;C=B+(l<<2)|0;if((y|0)<(A|0)){f[C>>2]=A;D=B;break}else{f[C>>2]=y;D=B;break}}else{B=f[q>>2]|0;f[B+(l<<2)>>2]=z;D=B}while(0);l=l+1|0;E=f[k>>2]|0}while((l|0)<(E|0));if((E|0)>0){l=0;do{v=(f[w+(l<<2)>>2]|0)+(f[D+(l<<2)>>2]|0)|0;z=x+(l<<2)|0;f[z>>2]=v;if((v|0)<=(f[o>>2]|0)){if((v|0)<(f[r>>2]|0)){F=(f[s>>2]|0)+v|0;G=26}}else{F=v-(f[s>>2]|0)|0;G=26}if((G|0)==26){G=0;f[z>>2]=F}l=l+1|0}while((l|0)<(f[k>>2]|0))}}g=g+1|0;if((g|0)>=(p|0)){G=10;break}l=f[n>>2]|0;m=f[l>>2]|0;if((f[l+4>>2]|0)-m>>2>>>0<=g>>>0){t=l;G=11;break}}if((G|0)==10){u=d;return 1}else if((G|0)==11)$n(t);return 0}function Sc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+16|0;h=d+4|0;i=d;f[a+72>>2]=e;f[a+64>>2]=g;g=Ho(e>>>0>1073741823?-1:e<<2)|0;j=a+68|0;k=f[j>>2]|0;f[j>>2]=g;if(k|0)Io(k);k=a+8|0;f[k>>2]=e;g=a+32|0;l=a+36|0;m=f[g>>2]|0;n=(f[l>>2]|0)-m>>2;if(n>>>0>=e>>>0){if(n>>>0>e>>>0)f[l>>2]=m+(e<<2)}else Eg(g,e-n|0);n=a+56|0;g=f[n>>2]|0;m=f[g+4>>2]|0;l=f[g>>2]|0;o=m-l|0;p=o>>2;if((o|0)<=0){u=d;return 1}o=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;if((m|0)==(l|0)){t=g;$n(t)}g=0;m=l;while(1){f[i>>2]=f[m+(g<<2)>>2];f[h>>2]=f[i>>2];bc(a,h,c,g);l=W(g,e)|0;v=f[j>>2]|0;w=b+(l<<2)|0;x=c+(l<<2)|0;if((f[k>>2]|0)>0){l=0;do{y=f[v+(l<<2)>>2]|0;z=f[o>>2]|0;do if((y|0)<=(z|0)){A=f[r>>2]|0;B=f[q>>2]|0;C=B+(l<<2)|0;if((y|0)<(A|0)){f[C>>2]=A;D=B;break}else{f[C>>2]=y;D=B;break}}else{B=f[q>>2]|0;f[B+(l<<2)>>2]=z;D=B}while(0);l=l+1|0;E=f[k>>2]|0}while((l|0)<(E|0));if((E|0)>0){l=0;do{v=(f[w+(l<<2)>>2]|0)+(f[D+(l<<2)>>2]|0)|0;z=x+(l<<2)|0;f[z>>2]=v;if((v|0)<=(f[o>>2]|0)){if((v|0)<(f[r>>2]|0)){F=(f[s>>2]|0)+v|0;G=26}}else{F=v-(f[s>>2]|0)|0;G=26}if((G|0)==26){G=0;f[z>>2]=F}l=l+1|0}while((l|0)<(f[k>>2]|0))}}g=g+1|0;if((g|0)>=(p|0)){G=10;break}l=f[n>>2]|0;m=f[l>>2]|0;if((f[l+4>>2]|0)-m>>2>>>0<=g>>>0){t=l;G=11;break}}if((G|0)==10){u=d;return 1}else if((G|0)==11)$n(t);return 0}function Tc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;c=a+148|0;d=f[b>>2]|0;b=(d|0)==-1;e=d+1|0;do if(!b){g=((e>>>0)%3|0|0)==0?d+-2|0:e;if(!((d>>>0)%3|0)){h=d+2|0;i=g;break}else{h=d+-1|0;i=g;break}}else{h=-1;i=-1}while(0);g=a+184|0;j=f[g>>2]|0;switch(j|0){case 1:case 0:{k=f[c>>2]|0;if((i|0)==-1)l=-1;else l=f[(f[k>>2]|0)+(i<<2)>>2]|0;m=f[a+156>>2]|0;n=m+(l<<2)|0;f[n>>2]=(f[n>>2]|0)+1;if((h|0)==-1)o=-1;else o=f[(f[k>>2]|0)+(h<<2)>>2]|0;p=m+(o<<2)|0;q=1;r=32;break}case 5:{o=f[c>>2]|0;if(b)s=-1;else s=f[(f[o>>2]|0)+(d<<2)>>2]|0;m=f[a+156>>2]|0;k=m+(s<<2)|0;f[k>>2]=(f[k>>2]|0)+1;if((i|0)==-1)t=-1;else t=f[(f[o>>2]|0)+(i<<2)>>2]|0;k=m+(t<<2)|0;f[k>>2]=(f[k>>2]|0)+1;if((h|0)==-1)u=-1;else u=f[(f[o>>2]|0)+(h<<2)>>2]|0;p=m+(u<<2)|0;q=2;r=32;break}case 3:{u=f[c>>2]|0;if(b)v=-1;else v=f[(f[u>>2]|0)+(d<<2)>>2]|0;m=f[a+156>>2]|0;o=m+(v<<2)|0;f[o>>2]=(f[o>>2]|0)+1;if((i|0)==-1)w=-1;else w=f[(f[u>>2]|0)+(i<<2)>>2]|0;o=m+(w<<2)|0;f[o>>2]=(f[o>>2]|0)+2;if((h|0)==-1)x=-1;else x=f[(f[u>>2]|0)+(h<<2)>>2]|0;p=m+(x<<2)|0;q=1;r=32;break}case 7:{x=f[c>>2]|0;if(b)y=-1;else y=f[(f[x>>2]|0)+(d<<2)>>2]|0;m=f[a+156>>2]|0;u=m+(y<<2)|0;f[u>>2]=(f[u>>2]|0)+2;if((i|0)==-1)z=-1;else z=f[(f[x>>2]|0)+(i<<2)>>2]|0;i=m+(z<<2)|0;f[i>>2]=(f[i>>2]|0)+2;if((h|0)==-1)A=-1;else A=f[(f[x>>2]|0)+(h<<2)>>2]|0;p=m+(A<<2)|0;q=2;r=32;break}default:B=j}if((r|0)==32){f[p>>2]=(f[p>>2]|0)+q;B=f[g>>2]|0}switch(B|0){case 5:case 0:break;default:{f[a+188>>2]=-1;return}}B=f[c>>2]|0;if(!b?(b=((e>>>0)%3|0|0)==0?d+-2|0:e,(b|0)!=-1):0)C=f[(f[B>>2]|0)+(b<<2)>>2]|0;else C=-1;f[a+188>>2]=(f[(f[a+156>>2]|0)+(C<<2)>>2]|0)<6?5:0;return}function Uc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;f[a>>2]=f[c>>2];d=c+4|0;f[a+4>>2]=f[d>>2];e=c+8|0;f[a+8>>2]=f[e>>2];g=c+12|0;f[a+12>>2]=f[g>>2];f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;g=c+16|0;f[a+16>>2]=f[g>>2];e=c+20|0;f[a+20>>2]=f[e>>2];d=c+24|0;f[a+24>>2]=f[d>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;b[a+28>>0]=b[c+28>>0]|0;d=a+32|0;e=c+32|0;f[d>>2]=0;g=a+36|0;f[g>>2]=0;h=a+40|0;f[h>>2]=0;f[d>>2]=f[e>>2];d=c+36|0;f[g>>2]=f[d>>2];g=c+40|0;f[h>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;e=a+44|0;d=c+44|0;f[e>>2]=0;g=a+48|0;f[g>>2]=0;h=a+52|0;f[h>>2]=0;f[e>>2]=f[d>>2];e=c+48|0;f[g>>2]=f[e>>2];g=c+52|0;f[h>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+56|0;e=c+56|0;f[d>>2]=0;g=a+60|0;f[g>>2]=0;h=a+64|0;f[h>>2]=0;f[d>>2]=f[e>>2];d=c+60|0;f[g>>2]=f[d>>2];g=c+64|0;f[h>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+68>>2]=f[c+68>>2];f[a+72>>2]=f[c+72>>2];e=a+76|0;d=c+76|0;f[e>>2]=0;g=a+80|0;f[g>>2]=0;h=a+84|0;f[h>>2]=0;f[e>>2]=f[d>>2];e=c+80|0;f[g>>2]=f[e>>2];g=c+84|0;f[h>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+88|0;e=c+88|0;f[d>>2]=0;g=a+92|0;f[g>>2]=0;h=a+96|0;f[h>>2]=0;f[d>>2]=f[e>>2];d=c+92|0;f[g>>2]=f[d>>2];g=c+96|0;f[h>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;b[a+100>>0]=b[c+100>>0]|0;e=a+104|0;d=c+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;h=a+112|0;f[h>>2]=0;f[e>>2]=f[d>>2];e=c+108|0;f[g>>2]=f[e>>2];g=c+112|0;f[h>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+116|0;e=c+116|0;f[d>>2]=0;g=a+120|0;f[g>>2]=0;h=a+124|0;f[h>>2]=0;f[d>>2]=f[e>>2];d=c+120|0;f[g>>2]=f[d>>2];g=c+124|0;f[h>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+128>>2]=f[c+128>>2];e=a+132|0;d=c+132|0;f[e>>2]=0;g=a+136|0;f[g>>2]=0;h=a+140|0;f[h>>2]=0;f[e>>2]=f[d>>2];e=c+136|0;f[g>>2]=f[e>>2];g=c+140|0;f[h>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;return}function Vc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=vl(m|0,f[l+4>>2]|0,8,0)|0;l=H;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(ah(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=wl(s|0,t|0,v|0,w|0)|0;t=H;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=vl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=H;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;r=b[c>>0]&63;w=a+48|0;f[w>>2]=r;z=w;A=r;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;w=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;w=e+y+-3|0;r=(h[w+1>>0]|0)<<8|(h[w>>0]|0)|(h[w+2>>0]|0)<<16&4128768;w=a+48|0;f[w>>2]=r;z=w;A=r;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;w=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break}default:{}}while(0);a=A+4194304|0;f[z>>2]=a;o=a>>>0<1073741824;u=d;return o|0}function Wc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=vl(m|0,f[l+4>>2]|0,8,0)|0;l=H;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(ah(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=wl(s|0,t|0,v|0,w|0)|0;t=H;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=vl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=H;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;r=b[c>>0]&63;w=a+48|0;f[w>>2]=r;z=w;A=r;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;w=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;w=e+y+-3|0;r=(h[w+1>>0]|0)<<8|(h[w>>0]|0)|(h[w+2>>0]|0)<<16&4128768;w=a+48|0;f[w>>2]=r;z=w;A=r;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;w=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break}default:{}}while(0);a=A+2097152|0;f[z>>2]=a;o=a>>>0<536870912;u=d;return o|0}function Xc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=vl(m|0,f[l+4>>2]|0,8,0)|0;l=H;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(ah(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=wl(s|0,t|0,v|0,w|0)|0;t=H;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=vl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=H;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;r=b[c>>0]&63;w=a+48|0;f[w>>2]=r;z=w;A=r;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;w=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;w=e+y+-3|0;r=(h[w+1>>0]|0)<<8|(h[w>>0]|0)|(h[w+2>>0]|0)<<16&4128768;w=a+48|0;f[w>>2]=r;z=w;A=r;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;w=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break}default:{}}while(0);a=A+1048576|0;f[z>>2]=a;o=a>>>0<268435456;u=d;return o|0}function Yc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=vl(m|0,f[l+4>>2]|0,8,0)|0;l=H;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(ah(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=wl(s|0,t|0,v|0,w|0)|0;t=H;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=vl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=H;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;r=b[c>>0]&63;w=a+48|0;f[w>>2]=r;z=w;A=r;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;w=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;w=e+y+-3|0;r=(h[w+1>>0]|0)<<8|(h[w>>0]|0)|(h[w+2>>0]|0)<<16&4128768;w=a+48|0;f[w>>2]=r;z=w;A=r;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;w=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break}default:{}}while(0);a=A+262144|0;f[z>>2]=a;o=a>>>0<67108864;u=d;return o|0}function Zc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=vl(m|0,f[l+4>>2]|0,8,0)|0;l=H;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(ah(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=wl(s|0,t|0,v|0,w|0)|0;t=H;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=vl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=H;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;r=b[c>>0]&63;w=a+48|0;f[w>>2]=r;z=w;A=r;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;w=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;w=e+y+-3|0;r=(h[w+1>>0]|0)<<8|(h[w>>0]|0)|(h[w+2>>0]|0)<<16&4128768;w=a+48|0;f[w>>2]=r;z=w;A=r;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;w=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break}default:{}}while(0);a=A+131072|0;f[z>>2]=a;o=a>>>0<33554432;u=d;return o|0}function _c(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;c=a+148|0;d=f[b>>2]|0;b=(d|0)==-1;e=d+1|0;do if(!b){g=((e>>>0)%3|0|0)==0?d+-2|0:e;if(!((d>>>0)%3|0)){h=d+2|0;i=g;break}else{h=d+-1|0;i=g;break}}else{h=-1;i=-1}while(0);switch(f[a+168>>2]|0){case 1:case 0:{e=f[c>>2]|0;if((i|0)==-1)j=-1;else j=f[(f[e>>2]|0)+(i<<2)>>2]|0;g=f[a+156>>2]|0;k=g+(j<<2)|0;f[k>>2]=(f[k>>2]|0)+1;if((h|0)==-1)l=-1;else l=f[(f[e>>2]|0)+(h<<2)>>2]|0;m=g+(l<<2)|0;n=1;o=32;break}case 5:{l=f[c>>2]|0;if(b)p=-1;else p=f[(f[l>>2]|0)+(d<<2)>>2]|0;g=f[a+156>>2]|0;e=g+(p<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((i|0)==-1)q=-1;else q=f[(f[l>>2]|0)+(i<<2)>>2]|0;e=g+(q<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((h|0)==-1)r=-1;else r=f[(f[l>>2]|0)+(h<<2)>>2]|0;m=g+(r<<2)|0;n=2;o=32;break}case 3:{r=f[c>>2]|0;if(b)s=-1;else s=f[(f[r>>2]|0)+(d<<2)>>2]|0;g=f[a+156>>2]|0;l=g+(s<<2)|0;f[l>>2]=(f[l>>2]|0)+1;if((i|0)==-1)t=-1;else t=f[(f[r>>2]|0)+(i<<2)>>2]|0;l=g+(t<<2)|0;f[l>>2]=(f[l>>2]|0)+2;if((h|0)==-1)u=-1;else u=f[(f[r>>2]|0)+(h<<2)>>2]|0;m=g+(u<<2)|0;n=1;o=32;break}case 7:{u=f[c>>2]|0;if(b)v=-1;else v=f[(f[u>>2]|0)+(d<<2)>>2]|0;d=f[a+156>>2]|0;b=d+(v<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((i|0)==-1)w=-1;else w=f[(f[u>>2]|0)+(i<<2)>>2]|0;b=d+(w<<2)|0;f[b>>2]=(f[b>>2]|0)+2;if((h|0)==-1)x=-1;else x=f[(f[u>>2]|0)+(h<<2)>>2]|0;m=d+(x<<2)|0;n=2;o=32;break}default:{}}if((o|0)==32)f[m>>2]=(f[m>>2]|0)+n;if((i|0)==-1)y=-1;else y=f[(f[f[c>>2]>>2]|0)+(i<<2)>>2]|0;i=f[(f[a+156>>2]|0)+(y<<2)>>2]|0;y=f[a+176>>2]|0;if((i|0)<(y|0)){z=y;A=z-y|0;B=a+172|0;f[B>>2]=A;return}c=f[a+180>>2]|0;z=(i|0)>(c|0)?c:i;A=z-y|0;B=a+172|0;f[B>>2]=A;return}function $c(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=vl(m|0,f[l+4>>2]|0,8,0)|0;l=H;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(ah(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=wl(s|0,t|0,v|0,w|0)|0;t=H;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=vl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=H;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;r=b[c>>0]&63;w=a+48|0;f[w>>2]=r;z=w;A=r;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;w=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;w=e+y+-3|0;r=(h[w+1>>0]|0)<<8|(h[w>>0]|0)|(h[w+2>>0]|0)<<16&4128768;w=a+48|0;f[w>>2]=r;z=w;A=r;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;w=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break}default:{}}while(0);a=A+32768|0;f[z>>2]=a;o=a>>>0<8388608;u=d;return o|0}function ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+16|0;e=d;do if((j[c+38>>1]|0)<512){g=c+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=c+16|0;l=g;m=f[l>>2]|0;n=vl(m|0,f[l+4>>2]|0,8,0)|0;l=H;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=d;return o|0}else{p=(f[c>>2]|0)+m|0;m=p;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=p+4|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=e;f[m>>2]=q;f[m+4>>2]=p;m=g;f[m>>2]=n;f[m+4>>2]=l;r=g;s=i;t=k;v=n;w=l;x=p;y=q;break}}else if(ah(e,c)|0){q=e;p=c+8|0;l=c+16|0;n=l;r=l;s=f[p>>2]|0;t=f[p+4>>2]|0;v=f[n>>2]|0;w=f[n+4>>2]|0;x=f[q+4>>2]|0;y=f[q>>2]|0;break}else{o=0;u=d;return o|0}while(0);e=wl(s|0,t|0,v|0,w|0)|0;t=H;if(x>>>0>t>>>0|(x|0)==(t|0)&y>>>0>e>>>0){o=0;u=d;return o|0}e=(f[c>>2]|0)+v|0;c=vl(v|0,w|0,y|0,x|0)|0;x=r;f[x>>2]=c;f[x+4>>2]=H;if((y|0)<1){o=0;u=d;return o|0}f[a+40>>2]=e;x=y+-1|0;c=e+x|0;a:do switch((h[c>>0]|0)>>>6&3){case 0:{f[a+44>>2]=x;r=b[c>>0]&63;w=a+48|0;f[w>>2]=r;z=w;A=r;break}case 1:{if((y|0)<2){o=0;u=d;return o|0}else{f[a+44>>2]=y+-2;r=e+y+-2|0;w=(h[r+1>>0]|0)<<8&16128|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break a}break}case 2:{if((y|0)<3){o=0;u=d;return o|0}else{f[a+44>>2]=y+-3;w=e+y+-3|0;r=(h[w+1>>0]|0)<<8|(h[w>>0]|0)|(h[w+2>>0]|0)<<16&4128768;w=a+48|0;f[w>>2]=r;z=w;A=r;break a}break}case 3:{f[a+44>>2]=y+-4;r=e+y+-4|0;w=(h[r+2>>0]|0)<<16|(h[r+3>>0]|0)<<24&1056964608|(h[r+1>>0]|0)<<8|(h[r>>0]|0);r=a+48|0;f[r>>2]=w;z=r;A=w;break}default:{}}while(0);a=A+16384|0;f[z>>2]=a;o=a>>>0<4194304;u=d;return o|0}function bd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=f[a>>2]|0;j=i+8|0;k=f[j+4>>2]|0;l=i+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;do if((k|0)>(o|0)|((k|0)==(o|0)?(f[j>>2]|0)>>>0>n>>>0:0)){m=b[(f[i>>2]|0)+n>>0]|0;p=vl(n|0,o|0,1,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=H;q=m&255;Gh(e,q,0);if(m<<24>>24){p=f[a>>2]|0;r=gj(e,0)|0;s=p+8|0;t=f[s>>2]|0;v=f[s+4>>2]|0;s=p+16|0;w=s;x=f[w>>2]|0;y=m&255;m=vl(x|0,f[w+4>>2]|0,y|0,0)|0;w=H;if((v|0)<(w|0)|(v|0)==(w|0)&t>>>0>>0){z=0;break}Bf(r|0,(f[p>>2]|0)+x|0,q|0)|0;q=s;x=vl(f[q>>2]|0,f[q+4>>2]|0,y|0,0)|0;y=s;f[y>>2]=x;f[y+4>>2]=H}f[g>>2]=0;y=(zh(g,f[a>>2]|0)|0)^1;x=f[g>>2]|0;if((x|0)==0|y)A=0;else{f[h>>2]=0;y=h+4|0;f[y>>2]=0;s=h+8|0;f[s>>2]=0;if((x|0)<0)$n(h);q=wk(x)|0;f[y>>2]=q;f[h>>2]=q;f[s>>2]=q+x;s=x;x=q;do{b[x>>0]=0;x=(f[y>>2]|0)+1|0;f[y>>2]=x;s=s+-1|0}while((s|0)!=0);s=f[a>>2]|0;x=f[g>>2]|0;q=s+8|0;p=f[q>>2]|0;r=f[q+4>>2]|0;q=s+16|0;m=q;t=f[m>>2]|0;w=vl(t|0,f[m+4>>2]|0,x|0,0)|0;m=H;if((r|0)<(m|0)|(r|0)==(m|0)&p>>>0>>0)B=0;else{Bf(f[h>>2]|0,(f[s>>2]|0)+t|0,x|0)|0;t=q;s=vl(f[t>>2]|0,f[t+4>>2]|0,x|0,0)|0;x=q;f[x>>2]=s;f[x+4>>2]=H;$j(c,e,h);B=1}x=f[h>>2]|0;if(x|0){f[y>>2]=x;Ko(x)}A=B}z=A}else z=0;while(0);if((b[e+11>>0]|0)>=0){u=d;return z|0}Ko(f[e>>2]|0);u=d;return z|0}function cd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[k>>2]|0;n=(f[l>>2]|0)-m>>2;if(n>>>0>=e>>>0){if(n>>>0>e>>>0)f[l>>2]=m+(e<<2)}else Eg(k,e-n|0);n=a+56|0;k=f[n>>2]|0;m=f[k+4>>2]|0;l=f[k>>2]|0;o=m-l|0;p=o>>2;if((o|0)<=0){q=1;u=d;return q|0}o=a+16|0;r=a+32|0;s=a+12|0;t=a+20|0;if((m|0)==(l|0)){v=k;$n(v)}k=0;m=l;while(1){f[i>>2]=f[m+(k<<2)>>2];f[h>>2]=f[i>>2];if(!(Kb(j,h,c,k)|0)){q=0;w=28;break}l=W(k,e)|0;x=b+(l<<2)|0;y=c+(l<<2)|0;if((f[g>>2]|0)>0){l=0;do{z=f[a+68+(l<<2)>>2]|0;A=f[o>>2]|0;do if((z|0)<=(A|0)){B=f[s>>2]|0;C=f[r>>2]|0;D=C+(l<<2)|0;if((z|0)<(B|0)){f[D>>2]=B;E=C;break}else{f[D>>2]=z;E=C;break}}else{C=f[r>>2]|0;f[C+(l<<2)>>2]=A;E=C}while(0);l=l+1|0;F=f[g>>2]|0}while((l|0)<(F|0));if((F|0)>0){l=0;do{A=(f[x+(l<<2)>>2]|0)+(f[E+(l<<2)>>2]|0)|0;z=y+(l<<2)|0;f[z>>2]=A;if((A|0)<=(f[o>>2]|0)){if((A|0)<(f[s>>2]|0)){G=(f[t>>2]|0)+A|0;w=24}}else{G=A-(f[t>>2]|0)|0;w=24}if((w|0)==24){w=0;f[z>>2]=G}l=l+1|0}while((l|0)<(f[g>>2]|0))}}k=k+1|0;if((k|0)>=(p|0)){q=1;w=28;break}l=f[n>>2]|0;m=f[l>>2]|0;if((f[l+4>>2]|0)-m>>2>>>0<=k>>>0){v=l;w=8;break}}if((w|0)==8)$n(v);else if((w|0)==28){u=d;return q|0}return 0}function dd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+16|0;h=d+4|0;i=d;j=a+60|0;f[a+64>>2]=g;g=a+8|0;f[g>>2]=e;k=a+32|0;l=a+36|0;m=f[k>>2]|0;n=(f[l>>2]|0)-m>>2;if(n>>>0>=e>>>0){if(n>>>0>e>>>0)f[l>>2]=m+(e<<2)}else Eg(k,e-n|0);n=a+56|0;k=f[n>>2]|0;m=f[k+4>>2]|0;l=f[k>>2]|0;o=m-l|0;p=o>>2;if((o|0)<=0){q=1;u=d;return q|0}o=a+16|0;r=a+32|0;s=a+12|0;t=a+20|0;if((m|0)==(l|0)){v=k;$n(v)}k=0;m=l;while(1){f[i>>2]=f[m+(k<<2)>>2];f[h>>2]=f[i>>2];if(!(Jb(j,h,c,k)|0)){q=0;w=28;break}l=W(k,e)|0;x=b+(l<<2)|0;y=c+(l<<2)|0;if((f[g>>2]|0)>0){l=0;do{z=f[a+68+(l<<2)>>2]|0;A=f[o>>2]|0;do if((z|0)<=(A|0)){B=f[s>>2]|0;C=f[r>>2]|0;D=C+(l<<2)|0;if((z|0)<(B|0)){f[D>>2]=B;E=C;break}else{f[D>>2]=z;E=C;break}}else{C=f[r>>2]|0;f[C+(l<<2)>>2]=A;E=C}while(0);l=l+1|0;F=f[g>>2]|0}while((l|0)<(F|0));if((F|0)>0){l=0;do{A=(f[x+(l<<2)>>2]|0)+(f[E+(l<<2)>>2]|0)|0;z=y+(l<<2)|0;f[z>>2]=A;if((A|0)<=(f[o>>2]|0)){if((A|0)<(f[s>>2]|0)){G=(f[t>>2]|0)+A|0;w=24}}else{G=A-(f[t>>2]|0)|0;w=24}if((w|0)==24){w=0;f[z>>2]=G}l=l+1|0}while((l|0)<(f[g>>2]|0))}}k=k+1|0;if((k|0)>=(p|0)){q=1;w=28;break}l=f[n>>2]|0;m=f[l>>2]|0;if((f[l+4>>2]|0)-m>>2>>>0<=k>>>0){v=l;w=8;break}}if((w|0)==8)$n(v);else if((w|0)==28){u=d;return q|0}return 0}function ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=Ia,r=Ia,s=Ia,t=0,u=0,v=0,w=0,x=0;c=f[b>>2]|0;b=a+4|0;d=f[b>>2]|0;e=(d|0)==0;a:do if(!e){g=d+-1|0;h=(g&d|0)==0;if(!h)if(c>>>0>>0)i=c;else i=(c>>>0)%(d>>>0)|0;else i=g&c;j=f[(f[a>>2]|0)+(i<<2)>>2]|0;if((j|0)!=0?(k=f[j>>2]|0,(k|0)!=0):0){if(h){h=k;while(1){j=f[h+4>>2]|0;if(!((j|0)==(c|0)|(j&g|0)==(i|0))){l=i;break a}if((f[h+8>>2]|0)==(c|0)){m=h;break}h=f[h>>2]|0;if(!h){l=i;break a}}o=m+12|0;return o|0}h=k;while(1){g=f[h+4>>2]|0;if((g|0)!=(c|0)){if(g>>>0>>0)p=g;else p=(g>>>0)%(d>>>0)|0;if((p|0)!=(i|0)){l=i;break a}}if((f[h+8>>2]|0)==(c|0)){m=h;break}h=f[h>>2]|0;if(!h){l=i;break a}}o=m+12|0;return o|0}else l=i}else l=0;while(0);i=wk(16)|0;f[i+8>>2]=c;f[i+12>>2]=0;f[i+4>>2]=c;f[i>>2]=0;p=a+12|0;q=_(((f[p>>2]|0)+1|0)>>>0);r=_(d>>>0);s=_(n[a+16>>2]);do if(e|_(s*r)>>0<3|(d+-1&d|0)!=0)&1;k=~~_(V(_(q/s)))>>>0;dg(a,h>>>0>>0?k:h);h=f[b>>2]|0;k=h+-1|0;if(!(k&h)){t=h;u=k&c;break}if(c>>>0>>0){t=h;u=c}else{t=h;u=(c>>>0)%(h>>>0)|0}}else{t=d;u=l}while(0);l=(f[a>>2]|0)+(u<<2)|0;u=f[l>>2]|0;if(!u){d=a+8|0;f[i>>2]=f[d>>2];f[d>>2]=i;f[l>>2]=d;d=f[i>>2]|0;if(d|0){l=f[d+4>>2]|0;d=t+-1|0;if(d&t)if(l>>>0>>0)v=l;else v=(l>>>0)%(t>>>0)|0;else v=l&d;w=(f[a>>2]|0)+(v<<2)|0;x=33}}else{f[i>>2]=f[u>>2];w=u;x=33}if((x|0)==33)f[w>>2]=i;f[p>>2]=(f[p>>2]|0)+1;m=i;o=m+12|0;return o|0}function fd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c+8|0;g=f[e+4>>2]|0;h=c+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[c>>2]|0)+j>>0]|0;g=vl(j|0,k|0,1,0)|0;k=h;f[k>>2]=g;f[k+4>>2]=H;do switch(e<<24>>24){case 1:{l=Ge(a,c,d)|0;return l|0}case 2:{l=Ge(a,c,d)|0;return l|0}case 3:{l=Ge(a,c,d)|0;return l|0}case 4:{l=Ge(a,c,d)|0;return l|0}case 5:{l=Ge(a,c,d)|0;return l|0}case 6:{l=Ge(a,c,d)|0;return l|0}case 7:{l=Ge(a,c,d)|0;return l|0}case 8:{l=Ge(a,c,d)|0;return l|0}case 9:{l=Fe(a,c,d)|0;return l|0}case 10:{l=Ee(a,c,d)|0;return l|0}case 11:{l=De(a,c,d)|0;return l|0}case 12:{l=Ce(a,c,d)|0;return l|0}case 13:{l=Be(a,c,d)|0;return l|0}case 14:{l=Ae(a,c,d)|0;return l|0}case 15:{l=Ae(a,c,d)|0;return l|0}case 16:{l=Ae(a,c,d)|0;return l|0}case 17:{l=Ae(a,c,d)|0;return l|0}case 18:{l=Ae(a,c,d)|0;return l|0}default:{l=0;return l|0}}while(0);return 0}function gd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;e=b+12|0;g=f[e>>2]|0;h=(f[c>>2]|0)-g|0;i=c+4|0;j=(f[i>>2]|0)-g|0;k=c;f[k>>2]=h;f[k+4>>2]=j;k=(h|0)>-1;l=(j|0)>-1;m=f[e>>2]|0;if(((l?j:0-j|0)+(k?h:0-h|0)|0)>(m|0)){if(k)if(!l)if((h|0)<1){n=-1;o=-1}else p=6;else{n=1;o=1}else if((j|0)<1){n=-1;o=-1}else p=6;if((p|0)==6){n=(h|0)>0?1:-1;o=(j|0)>0?1:-1}l=W(n,m)|0;k=W(o,m)|0;q=(h<<1)-l|0;f[c>>2]=q;r=(j<<1)-k|0;f[i>>2]=r;if((W(n,o)|0)>-1){o=0-r|0;f[c>>2]=o;s=o;t=0-q|0}else{f[c>>2]=r;s=r;t=q}q=(s+l|0)/2|0;f[c>>2]=q;c=(t+k|0)/2|0;f[i>>2]=c;u=0;v=q;w=c;x=f[e>>2]|0}else{u=1;v=h;w=j;x=m}m=(f[d>>2]|0)+v|0;f[a>>2]=m;v=(f[d+4>>2]|0)+w|0;w=a+4|0;f[w>>2]=v;if((x|0)>=(m|0))if((m|0)<(0-x|0))y=(f[b+4>>2]|0)+m|0;else y=m;else y=m-(f[b+4>>2]|0)|0;f[a>>2]=y;if((x|0)>=(v|0))if((v|0)<(0-x|0))z=(f[b+4>>2]|0)+v|0;else z=v;else z=v-(f[b+4>>2]|0)|0;f[w>>2]=z;if(u){A=y;B=z;C=A+g|0;D=B+g|0;E=a;F=E;f[F>>2]=C;G=E+4|0;H=G;f[H>>2]=D;return}if((y|0)>-1)if((z|0)<=-1)if((y|0)<1){I=-1;J=-1}else p=24;else{I=1;J=1}else if((z|0)<1){I=-1;J=-1}else p=24;if((p|0)==24){I=(y|0)>0?1:-1;J=(z|0)>0?1:-1}p=W(I,x)|0;u=W(J,x)|0;x=(y<<1)-p|0;f[a>>2]=x;y=(z<<1)-u|0;f[w>>2]=y;if((W(I,J)|0)>-1){J=0-y|0;f[a>>2]=J;K=J;L=0-x|0}else{f[a>>2]=y;K=y;L=x}x=(K+p|0)/2|0;f[a>>2]=x;p=(L+u|0)/2|0;f[w>>2]=p;A=x;B=p;C=A+g|0;D=B+g|0;E=a;F=E;f[F>>2]=C;G=E+4|0;H=G;f[H>>2]=D;return}function hd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+8|0;e=f[d>>2]|0;switch(f[e+28>>2]|0){case 2:{g=b[e+24>>0]|0;h=g<<24>>24;i=Ho((h|0)>-1?h:-1)|0;j=f[a+16>>2]|0;if(!(f[j+80>>2]|0))k=0;else k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;a:do if(c|0){if(g<<24>>24<=0){Bf(f[f[e+64>>2]>>2]|0,i|0,h|0)|0;if((c|0)==1)break;j=0;l=1;while(1){j=j+h|0;Bf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+j|0,i|0,h|0)|0;l=l+1|0;if((l|0)==(c|0))break a}}l=0;j=0;while(1){m=0;n=j;while(1){b[i+m>>0]=f[k+(n<<2)>>2];m=m+1|0;if((m|0)==(h|0))break;else n=n+1|0}Bf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+j|0,i|0,h|0)|0;l=l+1|0;if((l|0)==(c|0))break;else j=j+h|0}}while(0);Io(i);o=1;return o|0}case 1:{i=b[e+24>>0]|0;h=i<<24>>24;k=Ho((h|0)>-1?h:-1)|0;g=f[a+16>>2]|0;if(!(f[g+80>>2]|0))p=0;else p=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;b:do if(c|0){if(i<<24>>24<=0){Bf(f[f[e+64>>2]>>2]|0,k|0,h|0)|0;if((c|0)==1)break;g=0;j=1;while(1){g=g+h|0;Bf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+g|0,k|0,h|0)|0;j=j+1|0;if((j|0)==(c|0))break b}}j=0;g=0;while(1){l=0;n=g;while(1){b[k+l>>0]=f[p+(n<<2)>>2];l=l+1|0;if((l|0)==(h|0))break;else n=n+1|0}Bf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+g|0,k|0,h|0)|0;j=j+1|0;if((j|0)==(c|0))break;else g=g+h|0}}while(0);Io(k);o=1;return o|0}case 4:{_f(a,c);o=1;return o|0}case 3:{_f(a,c);o=1;return o|0}case 6:{$f(a,c);o=1;return o|0}case 5:{$f(a,c);o=1;return o|0}default:{o=0;return o|0}}return 0}function id(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=f[b>>2]|0;g=f[b+4>>2]|0;h=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-g|0;c=e;if((h|0)<=0){i=d+4|0;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}if(!g){e=d+4|0;m=h;n=e;o=f[e>>2]|0;p=c}else{e=32-g|0;q=(h|0)<(e|0)?h:e;r=-1>>>(e-q|0)&-1<>2];e=d+4|0;s=f[e>>2]|0;t=32-s|0;u=t>>>0>>0?t:q;v=f[d>>2]|0;w=f[v>>2]&~(-1>>>(t-u|0)&-1<>2]=w;s=f[e>>2]|0;f[v>>2]=w|(s>>>0>g>>>0?r<>>(g-s|0));s=(f[e>>2]|0)+u|0;w=v+(s>>>5<<2)|0;f[d>>2]=w;v=s&31;f[e>>2]=v;s=q-u|0;if((s|0)>0){f[w>>2]=f[w>>2]&~(-1>>>(32-s|0))|r>>>(u+g|0);f[e>>2]=s;x=s}else x=v;v=c+4|0;f[b>>2]=v;m=h-q|0;n=e;o=x;p=v}v=32-o|0;x=-1<31){o=~x;e=f[d>>2]|0;q=~m;h=m+((q|0)>-64?q:-64)+32|0;q=(h>>>5)+1|0;c=m+-32-(h&-32)|0;h=m;s=p;g=f[e>>2]|0;u=e;while(1){r=f[s>>2]|0;w=g&o;f[u>>2]=w;f[u>>2]=r<>2]|w;u=u+4|0;g=f[u>>2]&x|r>>>v;f[u>>2]=g;if((h|0)<=63)break;else{h=h+-32|0;s=s+4|0}}s=p+(q<<2)|0;f[b>>2]=s;f[d>>2]=e+(q<<2);y=c;z=s}else{y=m;z=p}if((y|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}p=f[z>>2]&-1>>>(32-y|0);z=(v|0)<(y|0)?v:y;m=f[d>>2]|0;s=f[m>>2]&~(-1<>2]&-1>>>(v-z|0));f[m>>2]=s;f[m>>2]=p<>2]|s;s=(f[n>>2]|0)+z|0;v=m+(s>>>5<<2)|0;f[d>>2]=v;f[n>>2]=s&31;s=y-z|0;if((s|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}f[v>>2]=f[v>>2]&~(-1>>>(32-s|0))|p>>>z;f[n>>2]=s;i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}function jd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=b+4|0;h=f[g>>2]|0;i=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-h|0;c=e;if((i|0)<=0){j=d+4|0;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}if(!h){e=d+4|0;n=i;o=e;p=c;q=f[e>>2]|0}else{e=32-h|0;r=(i|0)<(e|0)?i:e;s=-1>>>(e-r|0)&-1<>2];c=d+4|0;h=f[c>>2]|0;e=32-h|0;t=e>>>0>>0?e:r;u=f[d>>2]|0;v=f[u>>2]&~(-1>>>(e-t|0)&-1<>2]=v;h=f[c>>2]|0;e=f[g>>2]|0;f[u>>2]=(h>>>0>e>>>0?s<>>(e-h|0))|v;v=(f[c>>2]|0)+t|0;h=u+(v>>>5<<2)|0;f[d>>2]=h;u=v&31;f[c>>2]=u;v=r-t|0;if((v|0)>0){e=f[h>>2]&~(-1>>>(32-v|0));f[h>>2]=e;f[h>>2]=s>>>((f[g>>2]|0)+t|0)|e;f[c>>2]=v;w=v}else w=u;u=(f[b>>2]|0)+4|0;f[b>>2]=u;n=i-r|0;o=c;p=u;q=w}w=32-q|0;u=-1<31){q=~u;c=~n;r=n+((c|0)>-64?c:-64)+32&-32;c=n;i=p;while(1){v=f[i>>2]|0;e=f[d>>2]|0;t=f[e>>2]&q;f[e>>2]=t;f[e>>2]=v<>2]|t;t=e+4|0;f[d>>2]=t;f[t>>2]=f[t>>2]&u|v>>>w;i=(f[b>>2]|0)+4|0;f[b>>2]=i;if((c|0)<=63)break;else c=c+-32|0}x=n+-32-r|0;y=i}else{x=n;y=p}if((x|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}p=f[y>>2]&-1>>>(32-x|0);y=(w|0)<(x|0)?w:x;n=f[d>>2]|0;i=f[n>>2]&~(-1<>2]&-1>>>(w-y|0));f[n>>2]=i;f[n>>2]=p<>2]|i;i=(f[o>>2]|0)+y|0;w=n+(i>>>5<<2)|0;f[d>>2]=w;f[o>>2]=i&31;i=x-y|0;if((i|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}f[w>>2]=f[w>>2]&~(-1>>>(32-i|0))|p>>>y;f[o>>2]=i;j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}function kd(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=W(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;We(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;q=l+8|0;f[q>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)$n(l);else{e=o<<1;s=wk(e)|0;f[l>>2]=s;t=s+(o<<1)|0;f[q>>2]=t;oh(s|0,0,e|0)|0;f[g>>2]=t;break}while(0);We(h,0,0+(a<<1)|0);a:do if(!p)v=1;else{a=c+84|0;q=c+68|0;if(n<<24>>24<=0){t=0;while(1){if(!(b[a>>0]|0))w=f[(f[q>>2]|0)+(t<<2)>>2]|0;else w=t;e=f[l>>2]|0;f[k>>2]=w;s=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Ab(c,j,s,e)|0)){v=0;break a}t=t+1|0;if(t>>>0>=p>>>0){v=1;break a}}}t=0;e=0;while(1){if(!(b[a>>0]|0))x=f[(f[q>>2]|0)+(e<<2)>>2]|0;else x=e;s=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Ab(c,j,y,s)|0)){v=0;break a}s=f[l>>2]|0;y=f[h>>2]|0;z=0;A=t;while(1){d[y+(A<<1)>>1]=d[s+(z<<1)>>1]|0;z=z+1|0;if((z|0)==(o|0))break;else A=A+1|0}e=e+1|0;if(e>>>0>=p>>>0){v=1;break}else t=t+o|0}}while(0);o=f[l>>2]|0;if(o|0){f[g>>2]=o;Ko(o)}r=v;u=i;return r|0}function ld(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;i=u;u=u+32|0;j=i+16|0;k=i+12|0;l=i;m=c+24|0;n=b[m>>0]|0;o=n<<24>>24;p=f[a+80>>2]|0;a=W(p,o)|0;q=f[c+28>>2]|0;if((q|0)==(e|0)|(q|0)==(g|0)?b[c+84>>0]|0:0){g=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;We(h,g,g+(a<<1)|0);r=1;u=i;return r|0}f[l>>2]=0;g=l+4|0;f[g>>2]=0;q=l+8|0;f[q>>2]=0;do if(n<<24>>24)if(n<<24>>24<0)$n(l);else{e=o<<1;s=wk(e)|0;f[l>>2]=s;t=s+(o<<1)|0;f[q>>2]=t;oh(s|0,0,e|0)|0;f[g>>2]=t;break}while(0);We(h,0,0+(a<<1)|0);a:do if(!p)v=1;else{a=c+84|0;q=c+68|0;if(n<<24>>24<=0){t=0;while(1){if(!(b[a>>0]|0))w=f[(f[q>>2]|0)+(t<<2)>>2]|0;else w=t;e=f[l>>2]|0;f[k>>2]=w;s=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Bb(c,j,s,e)|0)){v=0;break a}t=t+1|0;if(t>>>0>=p>>>0){v=1;break a}}}t=0;e=0;while(1){if(!(b[a>>0]|0))x=f[(f[q>>2]|0)+(e<<2)>>2]|0;else x=e;s=f[l>>2]|0;f[k>>2]=x;y=b[m>>0]|0;f[j>>2]=f[k>>2];if(!(Bb(c,j,y,s)|0)){v=0;break a}s=f[l>>2]|0;y=f[h>>2]|0;z=0;A=t;while(1){d[y+(A<<1)>>1]=d[s+(z<<1)>>1]|0;z=z+1|0;if((z|0)==(o|0))break;else A=A+1|0}e=e+1|0;if(e>>>0>=p>>>0){v=1;break}else t=t+o|0}}while(0);o=f[l>>2]|0;if(o|0){f[g>>2]=o;Ko(o)}r=v;u=i;return r|0}function md(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=W(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Ye(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;p=k+8|0;f[p>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)$n(k);else{d=n<<2;r=wk(d)|0;f[k>>2]=r;s=r+(n<<2)|0;f[p>>2]=s;oh(r|0,0,d|0)|0;f[e>>2]=s;break}while(0);Ye(g,0,0+(a<<2)|0);a:do if(!o)t=1;else{a=c+84|0;p=c+68|0;if(m<<24>>24<=0){s=0;while(1){if(!(b[a>>0]|0))v=f[(f[p>>2]|0)+(s<<2)>>2]|0;else v=s;d=f[k>>2]|0;f[j>>2]=v;r=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Cb(c,i,r,d)|0)){t=0;break a}s=s+1|0;if(s>>>0>=o>>>0){t=1;break a}}}s=0;d=0;while(1){if(!(b[a>>0]|0))w=f[(f[p>>2]|0)+(d<<2)>>2]|0;else w=d;r=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Cb(c,i,x,r)|0)){t=0;break a}r=f[k>>2]|0;x=f[g>>2]|0;y=0;z=s;while(1){f[x+(z<<2)>>2]=f[r+(y<<2)>>2];y=y+1|0;if((y|0)==(n|0))break;else z=z+1|0}d=d+1|0;if(d>>>0>=o>>>0){t=1;break}else s=s+n|0}}while(0);n=f[k>>2]|0;if(n|0){f[e>>2]=n;Ko(n)}q=t;u=h;return q|0}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c+16|0;e=c;f[d>>2]=0;do if((j[b+38>>1]|0)<514){g=b+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=b+16|0;l=g;m=f[l>>2]|0;n=vl(m|0,f[l+4>>2]|0,4,0)|0;l=H;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){o=0;u=c;return o|0}else{i=(f[b>>2]|0)+m|0;m=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[d>>2]=m;i=g;f[i>>2]=n;f[i+4>>2]=l;p=m;break}}else if(zh(d,b)|0){p=f[d>>2]|0;break}else{o=0;u=c;return o|0}while(0);if(!p){o=0;u=c;return o|0}m=a+76|0;td(m,p,0);ym(e);if(rd(e,b)|0){if(f[d>>2]|0){p=1;l=0;do{p=p^((pi(e)|0)^1);i=(f[m>>2]|0)+(l>>>5<<2)|0;n=1<<(l&31);if(p)q=f[i>>2]|n;else q=f[i>>2]&~n;f[i>>2]=q;l=l+1|0}while(l>>>0<(f[d>>2]|0)>>>0)}d=b+8|0;l=f[d>>2]|0;q=f[d+4>>2]|0;d=b+16|0;p=d;m=f[p>>2]|0;e=f[p+4>>2]|0;p=vl(m|0,e|0,4,0)|0;i=H;if(((!((q|0)<(i|0)|(q|0)==(i|0)&l>>>0

>>0)?(n=f[b>>2]|0,b=n+m|0,g=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24,b=d,f[b>>2]=p,f[b+4>>2]=i,i=vl(m|0,e|0,8,0)|0,e=H,!((q|0)<(e|0)|(q|0)==(e|0)&l>>>0>>0)):0)?(l=n+p|0,p=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24,l=d,f[l>>2]=i,f[l+4>>2]=e,(g|0)<=(p|0)):0)?(f[a+12>>2]=g,f[a+16>>2]=p,e=wl(p|0,((p|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0,g=H,g>>>0<0|(g|0)==0&e>>>0<2147483647):0){g=e+1|0;f[a+20>>2]=g;e=(g|0)/2|0;p=a+24|0;f[p>>2]=e;f[a+28>>2]=0-e;if(!(g&1)){f[p>>2]=e+-1;r=1}else r=1}else r=0}else r=0;o=r;u=c;return o|0}function od(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=W(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;Ye(g,e,e+(a<<2)|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;p=k+8|0;f[p>>2]=0;do if(m<<24>>24)if(m<<24>>24<0)$n(k);else{d=n<<2;r=wk(d)|0;f[k>>2]=r;s=r+(n<<2)|0;f[p>>2]=s;oh(r|0,0,d|0)|0;f[e>>2]=s;break}while(0);Ye(g,0,0+(a<<2)|0);a:do if(!o)t=1;else{a=c+84|0;p=c+68|0;if(m<<24>>24<=0){s=0;while(1){if(!(b[a>>0]|0))v=f[(f[p>>2]|0)+(s<<2)>>2]|0;else v=s;d=f[k>>2]|0;f[j>>2]=v;r=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Db(c,i,r,d)|0)){t=0;break a}s=s+1|0;if(s>>>0>=o>>>0){t=1;break a}}}s=0;d=0;while(1){if(!(b[a>>0]|0))w=f[(f[p>>2]|0)+(d<<2)>>2]|0;else w=d;r=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Db(c,i,x,r)|0)){t=0;break a}r=f[k>>2]|0;x=f[g>>2]|0;y=0;z=s;while(1){f[x+(z<<2)>>2]=f[r+(y<<2)>>2];y=y+1|0;if((y|0)==(n|0))break;else z=z+1|0}d=d+1|0;if(d>>>0>=o>>>0){t=1;break}else s=s+n|0}}while(0);n=f[k>>2]|0;if(n|0){f[e>>2]=n;Ko(n)}q=t;u=h;return q|0}function pd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=W(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;rf(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;p=k+8|0;f[p>>2]=0;if(m<<24>>24){if(m<<24>>24<0)$n(k);d=wk(n)|0;f[e>>2]=d;f[k>>2]=d;f[p>>2]=d+n;p=n;r=d;do{b[r>>0]=0;r=(f[e>>2]|0)+1|0;f[e>>2]=r;p=p+-1|0}while((p|0)!=0)}rf(g,0,0+a|0);a:do if(!o)s=1;else{a=c+84|0;p=c+68|0;if(m<<24>>24<=0){r=0;while(1){if(!(b[a>>0]|0))t=f[(f[p>>2]|0)+(r<<2)>>2]|0;else t=r;d=f[k>>2]|0;f[j>>2]=t;v=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Eb(c,i,v,d)|0)){s=0;break a}r=r+1|0;if(r>>>0>=o>>>0){s=1;break a}}}r=0;d=0;while(1){if(!(b[a>>0]|0))w=f[(f[p>>2]|0)+(d<<2)>>2]|0;else w=d;v=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Eb(c,i,x,v)|0)){s=0;break a}v=0;x=r;while(1){b[(f[g>>2]|0)+x>>0]=b[(f[k>>2]|0)+v>>0]|0;v=v+1|0;if((v|0)==(n|0))break;else x=x+1|0}d=d+1|0;if(d>>>0>=o>>>0){s=1;break}else r=r+n|0}}while(0);n=f[k>>2]|0;if(n|0){f[e>>2]=n;Ko(n)}q=s;u=h;return q|0}function qd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;h=u;u=u+32|0;i=h+16|0;j=h+12|0;k=h;l=c+24|0;m=b[l>>0]|0;n=m<<24>>24;o=f[a+80>>2]|0;a=W(o,n)|0;p=f[c+28>>2]|0;if((p|0)==(d|0)|(p|0)==(e|0)?b[c+84>>0]|0:0){e=(f[f[c>>2]>>2]|0)+(f[c+48>>2]|0)|0;rf(g,e,e+a|0);q=1;u=h;return q|0}f[k>>2]=0;e=k+4|0;f[e>>2]=0;p=k+8|0;f[p>>2]=0;if(m<<24>>24){if(m<<24>>24<0)$n(k);d=wk(n)|0;f[e>>2]=d;f[k>>2]=d;f[p>>2]=d+n;p=n;r=d;do{b[r>>0]=0;r=(f[e>>2]|0)+1|0;f[e>>2]=r;p=p+-1|0}while((p|0)!=0)}rf(g,0,0+a|0);a:do if(!o)s=1;else{a=c+84|0;p=c+68|0;if(m<<24>>24<=0){r=0;while(1){if(!(b[a>>0]|0))t=f[(f[p>>2]|0)+(r<<2)>>2]|0;else t=r;d=f[k>>2]|0;f[j>>2]=t;v=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Fb(c,i,v,d)|0)){s=0;break a}r=r+1|0;if(r>>>0>=o>>>0){s=1;break a}}}r=0;d=0;while(1){if(!(b[a>>0]|0))w=f[(f[p>>2]|0)+(d<<2)>>2]|0;else w=d;v=f[k>>2]|0;f[j>>2]=w;x=b[l>>0]|0;f[i>>2]=f[j>>2];if(!(Fb(c,i,x,v)|0)){s=0;break a}v=0;x=r;while(1){b[(f[g>>2]|0)+x>>0]=b[(f[k>>2]|0)+v>>0]|0;v=v+1|0;if((v|0)==(n|0))break;else x=x+1|0}d=d+1|0;if(d>>>0>=o>>>0){s=1;break}else r=r+n|0}}while(0);n=f[k>>2]|0;if(n|0){f[e>>2]=n;Ko(n)}q=s;u=h;return q|0}function rd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+16|0;e=d;g=c+8|0;i=g;k=f[i+4>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((k|0)>(o|0)|((k|0)==(o|0)?(f[i>>2]|0)>>>0>n>>>0:0))){p=0;u=d;return p|0}b[a+12>>0]=b[(f[c>>2]|0)+n>>0]|0;n=l;i=f[n>>2]|0;o=f[n+4>>2]|0;n=vl(i|0,o|0,1,0)|0;k=l;f[k>>2]=n;f[k+4>>2]=H;if((j[c+38>>1]|0)<514){k=g;m=f[k>>2]|0;q=f[k+4>>2]|0;k=vl(i|0,o|0,5,0)|0;o=H;if((q|0)<(o|0)|(q|0)==(o|0)&m>>>0>>0)r=0;else{i=(f[c>>2]|0)+n|0;n=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[e>>2]=n;i=l;f[i>>2]=k;f[i+4>>2]=o;s=m;t=q;v=k;w=o;x=n;y=7}}else if(zh(e,c)|0){n=g;g=l;s=f[n>>2]|0;t=f[n+4>>2]|0;v=f[g>>2]|0;w=f[g+4>>2]|0;x=f[e>>2]|0;y=7}else r=0;a:do if((y|0)==7){e=wl(s|0,t|0,v|0,w|0)|0;g=H;if(!((g|0)<0|(g|0)==0&e>>>0>>0)?(e=(f[c>>2]|0)+v|0,(x|0)>=1):0){f[a>>2]=e;g=x+-1|0;n=e+g|0;switch((h[n>>0]|0)>>>6&3){case 0:{f[a+4>>2]=g;g=b[n>>0]&63;n=a+8|0;f[n>>2]=g;z=n;A=g;break}case 1:{if((x|0)<2){r=0;break a}f[a+4>>2]=x+-2;g=e+x+-2|0;n=(h[g+1>>0]|0)<<8&16128|(h[g>>0]|0);g=a+8|0;f[g>>2]=n;z=g;A=n;break}case 2:{if((x|0)<3){r=0;break a}f[a+4>>2]=x+-3;n=e+x+-3|0;e=(h[n+1>>0]|0)<<8|(h[n>>0]|0)|(h[n+2>>0]|0)<<16&4128768;n=a+8|0;f[n>>2]=e;z=n;A=e;break}default:{r=0;break a}}e=A+4096|0;f[z>>2]=e;if(e>>>0<1048576){e=vl(v|0,w|0,x|0,0)|0;n=l;f[n>>2]=e;f[n+4>>2]=H;r=1}else r=0}else r=0}while(0);p=r;u=d;return p|0}function sd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+32|0;g=e+8|0;i=e;switch(d|0){case 2:{d=f[b+12>>2]|0;j=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;a:do if((c|0)==-2){f[i>>2]=0;k=0}else{l=f[(f[(f[j+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((Ka[f[(f[j>>2]|0)+8>>2]&127](j)|0)==1){Cd(i,j,c,d,g,((h[j+36>>0]|0)<<8|(h[j+37>>0]|0))&65535);m=f[i>>2]|0;if(!m){f[i>>2]=0;break}else{k=m;break a}}while(0);m=wk(24)|0;f[m+4>>2]=l;n=m+8|0;f[n>>2]=f[g>>2];f[n+4>>2]=f[g+4>>2];f[n+8>>2]=f[g+8>>2];f[n+12>>2]=f[g+12>>2];f[m>>2]=2604;n=m;f[i>>2]=n;k=n}while(0);f[a>>2]=k;u=e;return}case 3:{k=f[b+12>>2]|0;j=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;b:do if((c|0)==-2){f[i>>2]=0;o=0}else{b=f[(f[(f[j+4>>2]|0)+8>>2]|0)+(k<<2)>>2]|0;do if((Ka[f[(f[j>>2]|0)+8>>2]&127](j)|0)==1){Bd(i,j,c,k,g,((h[j+36>>0]|0)<<8|(h[j+37>>0]|0))&65535);d=f[i>>2]|0;if(!d){f[i>>2]=0;break}else{o=d;break b}}while(0);l=wk(24)|0;f[l+4>>2]=b;d=l+8|0;f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];f[d+12>>2]=f[g+12>>2];f[l>>2]=2660;d=l;f[i>>2]=d;o=d}while(0);f[a>>2]=o;u=e;return}default:{f[a>>2]=0;u=e;return}}}function td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+32|0;e=d+8|0;g=d;h=a+4|0;i=f[h>>2]|0;if(i>>>0>=b>>>0){f[h>>2]=b;u=d;return}j=a+8|0;k=f[j>>2]|0;l=k<<5;m=b-i|0;if(l>>>0>>0|i>>>0>(l-m|0)>>>0){f[e>>2]=0;n=e+4|0;f[n>>2]=0;o=e+8|0;f[o>>2]=0;if((b|0)<0)$n(a);p=k<<6;k=b+31&-32;vg(e,l>>>0<1073741823?(p>>>0>>0?k:p):2147483647);p=f[h>>2]|0;f[n>>2]=p+m;k=f[a>>2]|0;l=k;q=f[e>>2]|0;r=(l+(p>>>5<<2)-k<<3)+(p&31)|0;if((r|0)>0){p=r>>>5;Rj(q|0,k|0,p<<2|0)|0;k=r&31;r=q+(p<<2)|0;s=r;if(!k){t=0;v=s}else{w=-1>>>(32-k|0);f[r>>2]=f[r>>2]&~w|f[l+(p<<2)>>2]&w;t=k;v=s}}else{t=0;v=q}f[g>>2]=v;f[g+4>>2]=t;t=g;g=f[t>>2]|0;v=f[t+4>>2]|0;t=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=t;e=f[h>>2]|0;f[h>>2]=f[n>>2];f[n>>2]=e;e=f[j>>2]|0;f[j>>2]=f[o>>2];f[o>>2]=e;if(t|0)Ko(t);x=g;y=v}else{v=(f[a>>2]|0)+(i>>>5<<2)|0;f[h>>2]=b;x=v;y=i&31}if(!m){u=d;return}i=(y|0)==0;v=x;if(c){if(i){z=m;A=x;B=v}else{c=32-y|0;b=c>>>0>m>>>0?m:c;f[v>>2]=f[v>>2]|-1>>>(c-b|0)&-1<>>5;oh(A|0,-1,c<<2|0)|0;A=z&31;z=B+(c<<2)|0;if(!A){u=d;return}f[z>>2]=f[z>>2]|-1>>>(32-A|0);u=d;return}else{if(i){C=m;D=x;E=v}else{x=32-y|0;i=x>>>0>m>>>0?m:x;f[v>>2]=f[v>>2]&~(-1>>>(x-i|0)&-1<>>5;oh(D|0,0,y<<2|0)|0;D=C&31;C=E+(y<<2)|0;if(!D){u=d;return}f[C>>2]=f[C>>2]&~(-1>>>(32-D|0));u=d;return}}function ud(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+32|0;d=f[c>>2]|0;e=d+8|0;g=f[e+4>>2]|0;h=d+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(f[e>>2]|0)>>>0>j>>>0:0))){l=0;return l|0}e=b[(f[d>>2]|0)+j>>0]|0;d=vl(j|0,k|0,1,0)|0;k=h;f[k>>2]=d;f[k+4>>2]=H;k=e&255;d=e<<24>>24==0;a:do if(!d){e=0;while(1){if(!(La[f[(f[a>>2]|0)+16>>2]&127](a,e)|0)){l=0;break}e=e+1|0;if(e>>>0>=k>>>0)break a}return l|0}while(0);e=a+8|0;h=f[e>>2]|0;j=f[a+12>>2]|0;b:do if((h|0)!=(j|0)){g=a+4|0;i=h;while(1){m=f[i>>2]|0;i=i+4|0;if(!(Ma[f[(f[m>>2]|0)+8>>2]&31](m,a,f[g>>2]|0)|0)){l=0;break}if((i|0)==(j|0))break b}return l|0}while(0);if(!d){j=0;do{h=f[(f[e>>2]|0)+(j<<2)>>2]|0;j=j+1|0;if(!(La[f[(f[h>>2]|0)+12>>2]&127](h,f[c>>2]|0)|0)){l=0;n=27;break}}while(j>>>0>>0);if((n|0)==27)return l|0;if(!d){d=a+20|0;n=a+24|0;j=0;do{c=f[(f[e>>2]|0)+(j<<2)>>2]|0;h=Ka[f[(f[c>>2]|0)+24>>2]&127](c)|0;if((h|0)>0){c=0;do{i=f[(f[e>>2]|0)+(j<<2)>>2]|0;g=La[f[(f[i>>2]|0)+20>>2]&127](i,c)|0;i=f[d>>2]|0;m=(f[n>>2]|0)-i>>2;o=i;do if(g>>>0>=m>>>0){i=g+1|0;if(i>>>0>m>>>0){Eg(d,i-m|0);p=f[d>>2]|0;break}if(i>>>0>>0){f[n>>2]=o+(i<<2);p=o}else p=o}else p=o;while(0);f[p+(g<<2)>>2]=j;c=c+1|0}while((c|0)!=(h|0))}j=j+1|0}while((j|0)!=(k|0))}}if(!(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)){l=0;return l|0}l=Ka[f[(f[a>>2]|0)+32>>2]&127](a)|0;return l|0}function vd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=(c|0)==(a|0);b[c+12>>0]=d&1;if(d)return;d=c;while(1){e=d+8|0;g=f[e>>2]|0;h=g+12|0;if(b[h>>0]|0){i=24;break}j=f[g+8>>2]|0;c=f[j>>2]|0;if((c|0)==(g|0)){k=f[j+4>>2]|0;if(!k){i=7;break}l=k+12|0;if(!(b[l>>0]|0))m=l;else{i=7;break}}else{if(!c){i=16;break}l=c+12|0;if(!(b[l>>0]|0))m=l;else{i=16;break}}b[h>>0]=1;b[j+12>>0]=(j|0)==(a|0)&1;b[m>>0]=1;if((j|0)==(a|0)){i=24;break}else d=j}if((i|0)==7){a=g+8|0;if((f[g>>2]|0)==(d|0)){n=h;o=j}else{m=g+4|0;l=f[m>>2]|0;c=f[l>>2]|0;f[m>>2]=c;if(!c)p=j;else{f[c+8>>2]=g;p=f[a>>2]|0}f[l+8>>2]=p;p=f[a>>2]|0;f[((f[p>>2]|0)==(g|0)?p:p+4|0)>>2]=l;f[l>>2]=g;f[a>>2]=l;n=l+12|0;o=f[l+8>>2]|0}b[n>>0]=1;b[o+12>>0]=0;n=f[o>>2]|0;l=n+4|0;a=f[l>>2]|0;f[o>>2]=a;if(a|0)f[a+8>>2]=o;a=o+8|0;f[n+8>>2]=f[a>>2];p=f[a>>2]|0;f[((f[p>>2]|0)==(o|0)?p:p+4|0)>>2]=n;f[l>>2]=o;f[a>>2]=n;return}else if((i|0)==16){n=g+8|0;if((f[g>>2]|0)==(d|0)){a=d+4|0;o=f[a>>2]|0;f[g>>2]=o;if(!o)q=j;else{f[o+8>>2]=g;q=f[n>>2]|0}f[e>>2]=q;q=f[n>>2]|0;f[((f[q>>2]|0)==(g|0)?q:q+4|0)>>2]=d;f[a>>2]=g;f[n>>2]=d;r=d+12|0;s=f[d+8>>2]|0}else{r=h;s=j}b[r>>0]=1;b[s+12>>0]=0;r=s+4|0;j=f[r>>2]|0;h=f[j>>2]|0;f[r>>2]=h;if(h|0)f[h+8>>2]=s;h=s+8|0;f[j+8>>2]=f[h>>2];r=f[h>>2]|0;f[((f[r>>2]|0)==(s|0)?r:r+4|0)>>2]=j;f[j>>2]=s;f[h>>2]=j;return}else if((i|0)==24)return}function wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/24|0;h=g+1|0;i=e;j=d;if(h>>>0>178956970)$n(a);d=a+8|0;k=((f[d>>2]|0)-e|0)/24|0;l=k<<1;m=k>>>0<89478485?(l>>>0>>0?h:l):178956970;do if(m)if(m>>>0>178956970){l=qa(8)|0;Dm(l,13552);f[l>>2]=4908;ta(l|0,1128,105)}else{n=wk(m*24|0)|0;break}else n=0;while(0);l=n+(g*24|0)|0;h=n+(m*24|0)|0;f[l>>2]=1228;f[n+(g*24|0)+4>>2]=f[b+4>>2];m=n+(g*24|0)+8|0;f[m>>2]=0;k=n+(g*24|0)+12|0;f[k>>2]=0;o=n+(g*24|0)+16|0;f[o>>2]=0;p=f[b+8>>2]|0;q=(f[b+12>>2]|0)-p|0;r=q>>2;if(q|0){if(r>>>0>1073741823)$n(m);s=wk(q)|0;f[k>>2]=s;f[m>>2]=s;f[o>>2]=s+(r<<2);if((q|0)>0){Bf(s|0,p|0,q|0)|0;f[k>>2]=s+(q>>>2<<2)}}f[n+(g*24|0)+20>>2]=f[b+20>>2];b=l+24|0;if((j|0)!=(i|0)){g=j;j=l;do{f[j+-24>>2]=1228;f[j+-20>>2]=f[g+-20>>2];n=j+-16|0;q=g+-16|0;f[n>>2]=0;s=j+-12|0;f[s>>2]=0;k=j+-8|0;f[k>>2]=0;f[n>>2]=f[q>>2];n=g+-12|0;f[s>>2]=f[n>>2];s=g+-8|0;f[k>>2]=f[s>>2];f[s>>2]=0;f[n>>2]=0;f[q>>2]=0;f[j+-4>>2]=f[g+-4>>2];g=g+-24|0;j=j+-24|0}while((g|0)!=(i|0));i=f[a>>2]|0;g=f[c>>2]|0;q=i;f[a>>2]=j;f[c>>2]=b;f[d>>2]=h;if((g|0)==(q|0))t=i;else{j=g;do{j=j+-24|0;Pa[f[f[j>>2]>>2]&127](j)}while((j|0)!=(q|0));t=i}}else{f[a>>2]=l;f[c>>2]=b;f[d>>2]=h;t=e}if(!t)return;Ko(t);return}function xd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+144|0;g=e+136|0;h=e+32|0;i=e;j=f[(f[c+4>>2]|0)+44>>2]|0;k=wk(124)|0;f[k+4>>2]=0;f[k>>2]=3340;f[k+12>>2]=3364;f[k+100>>2]=0;f[k+104>>2]=0;f[k+108>>2]=0;l=k+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[k+112>>2]=j;f[k+116>>2]=d;f[k+120>>2]=0;n=k;o=h+4|0;f[o>>2]=3364;p=h+92|0;f[p>>2]=0;q=h+96|0;f[q>>2]=0;f[h+100>>2]=0;l=h+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=f[c+8>>2]|0;f[i>>2]=3364;c=i+4|0;m=c+4|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[c>>2]=l;m=((f[l+4>>2]|0)-(f[l>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;Gf(i+8|0,m,g);Pa[f[(f[i>>2]|0)+8>>2]&127](i);f[h>>2]=f[c>>2];He(h+4|0,i)|0;f[h+36>>2]=l;f[h+40>>2]=d;f[h+44>>2]=j;f[h+48>>2]=k;mf(k,h);f[a>>2]=n;f[i>>2]=3364;n=f[i+20>>2]|0;if(n|0)Ko(n);n=f[i+8>>2]|0;if(n|0)Ko(n);n=f[p>>2]|0;if(n|0){f[q>>2]=n;Ko(n)}n=f[h+76>>2]|0;if(n|0){f[h+80>>2]=n;Ko(n)}n=f[h+64>>2]|0;if(n|0){f[h+68>>2]=n;Ko(n)}n=f[h+52>>2]|0;if(n|0){f[h+56>>2]=n;Ko(n)}f[o>>2]=3364;o=f[h+24>>2]|0;if(o|0)Ko(o);o=f[h+12>>2]|0;if(!o){u=e;return}Ko(o);u=e;return}function yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+12|0;i=e;j=c+24|0;k=b[j>>0]|0;l=k<<24>>24;f[g>>2]=0;m=g+4|0;f[m>>2]=0;n=g+8|0;f[n>>2]=0;if(!(k<<24>>24))o=0;else{if(k<<24>>24<0)$n(g);k=wk(l)|0;f[m>>2]=k;f[g>>2]=k;f[n>>2]=k+l;n=l;l=k;do{b[l>>0]=0;l=(f[m>>2]|0)+1|0;f[m>>2]=l;n=n+-1|0}while((n|0)!=0);o=b[j>>0]|0}n=o<<24>>24;f[i>>2]=0;l=i+4|0;f[l>>2]=0;k=i+8|0;f[k>>2]=0;if(o<<24>>24){if(o<<24>>24<0)$n(i);o=wk(n)|0;f[l>>2]=o;f[i>>2]=o;f[k>>2]=o+n;k=n;n=o;do{b[n>>0]=0;n=(f[l>>2]|0)+1|0;f[l>>2]=n;k=k+-1|0}while((k|0)!=0)}k=c+80|0;if(!(f[k>>2]|0))p=f[i>>2]|0;else{n=c+48|0;o=c+40|0;q=c+64|0;r=a+48|0;a=0;do{s=f[g>>2]|0;t=n;v=f[t>>2]|0;w=f[t+4>>2]|0;t=o;x=f[t>>2]|0;y=Bk(x|0,f[t+4>>2]|0,a|0,0)|0;t=vl(y|0,H|0,v|0,w|0)|0;Bf(s|0,(f[f[c>>2]>>2]|0)+t|0,x|0)|0;if((b[j>>0]|0)>0?(b[f[i>>2]>>0]=(f[(f[r>>2]|0)+(d<<2)>>2]|0)+(h[s>>0]|0),(b[j>>0]|0)>1):0){s=1;do{b[(f[i>>2]|0)+s>>0]=(f[(f[r>>2]|0)+(s+d<<2)>>2]|0)+(h[(f[g>>2]|0)+s>>0]|0);s=s+1|0}while((s|0)<(b[j>>0]|0))}s=f[i>>2]|0;x=f[o>>2]|0;Bf((f[f[q>>2]>>2]|0)+(W(a,x)|0)|0,s|0,x|0)|0;a=a+1|0}while(a>>>0<(f[k>>2]|0)>>>0);p=s}if(p|0){f[l>>2]=p;Ko(p)}p=f[g>>2]|0;if(!p){u=e;return 1}f[m>>2]=p;Ko(p);u=e;return 1}function zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+16|0;d=c;e=b+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;m=vl(l|0,f[k+4>>2]|0,4,0)|0;k=H;if((j|0)<(k|0)|(j|0)==(k|0)&i>>>0>>0){n=0;u=c;return n|0}i=(f[b>>2]|0)+l|0;l=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=g;f[i>>2]=m;f[i+4>>2]=k;if((l|0)<0){n=0;u=c;return n|0}td(a+76|0,l,0);ym(d);if(rd(d,b)|0){if((l|0)>0){k=a+76|0;i=1;m=0;do{i=i^((pi(d)|0)^1);j=(f[k>>2]|0)+(m>>>5<<2)|0;o=1<<(m&31);if(i)p=f[j>>2]|o;else p=f[j>>2]&~o;f[j>>2]=p;m=m+1|0}while((m|0)<(l|0))}l=e;e=f[l>>2]|0;m=f[l+4>>2]|0;l=g;p=f[l>>2]|0;i=f[l+4>>2]|0;l=vl(p|0,i|0,4,0)|0;k=H;if(((!((m|0)<(k|0)|(m|0)==(k|0)&e>>>0>>0)?(d=f[b>>2]|0,b=d+p|0,j=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24,b=g,f[b>>2]=l,f[b+4>>2]=k,k=vl(p|0,i|0,8,0)|0,i=H,!((m|0)<(i|0)|(m|0)==(i|0)&e>>>0>>0)):0)?(e=d+l|0,l=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,e=g,f[e>>2]=k,f[e+4>>2]=i,(j|0)<=(l|0)):0)?(f[a+12>>2]=j,f[a+16>>2]=l,i=wl(l|0,((l|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0,j=H,j>>>0<0|(j|0)==0&i>>>0<2147483647):0){j=i+1|0;f[a+20>>2]=j;i=(j|0)/2|0;l=a+24|0;f[l>>2]=i;f[a+28>>2]=0-i;if(!(j&1)){f[l>>2]=i+-1;q=1}else q=1}else q=0}else q=0;n=q;u=c;return n|0}function Ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/144|0)>>>0>=c>>>0){i=c;j=h;do{f[j>>2]=-1;ti(j+4|0);b[j+100>>0]=1;k=j+104|0;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));j=(f[g>>2]|0)+144|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/144|0;h=j+c|0;if(h>>>0>29826161)$n(a);m=(e-i|0)/144|0;i=m<<1;e=m>>>0<14913080?(i>>>0>>0?h:i):29826161;do if(e)if(e>>>0>29826161){i=qa(8)|0;Dm(i,13552);f[i>>2]=4908;ta(i|0,1128,105)}else{n=wk(e*144|0)|0;break}else n=0;while(0);i=n+(j*144|0)|0;j=i;h=n+(e*144|0)|0;e=c;c=j;n=i;while(1){f[n>>2]=-1;ti(n+4|0);b[n+100>>0]=1;k=n+104|0;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));o=c+144|0;m=e+-1|0;if(!m)break;else{e=m;c=o;n=o}}n=o;o=f[a>>2]|0;c=f[g>>2]|0;if((c|0)==(o|0)){p=j;q=o;r=o}else{j=c;c=i;do{c=c+-144|0;j=j+-144|0;Uc(c,j)}while((j|0)!=(o|0));p=c;q=f[a>>2]|0;r=f[g>>2]|0}f[a>>2]=p;f[g>>2]=n;f[d>>2]=h;h=q;if((r|0)!=(h|0)){d=r;do{r=f[d+-12>>2]|0;if(r|0){f[d+-8>>2]=r;Ko(r)}r=f[d+-28>>2]|0;if(r|0){f[d+-24>>2]=r;Ko(r)}r=f[d+-40>>2]|0;if(r|0){f[d+-36>>2]=r;Ko(r)}di(d+-140|0);d=d+-144|0}while((d|0)!=(h|0))}if(!q)return;Ko(q);return}function Bd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;g=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Ka[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){h=0;f[a>>2]=h;return}i=Ka[f[(f[b>>2]|0)+36>>2]&127](b)|0;j=La[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((i|0)==0|(j|0)==0){h=0;f[a>>2]=h;return}k=La[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;d=f[b+44>>2]|0;b=j+12|0;l=(c|0)==6;if(!k){if(l){c=wk(104)|0;f[c+4>>2]=g;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[c+24>>2]=d;f[c+28>>2]=i;f[c+32>>2]=b;f[c+36>>2]=j;f[c>>2]=2800;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=d;f[c+56>>2]=i;f[c+60>>2]=b;f[c+64>>2]=j;f[c+40>>2]=2856;f[c+68>>2]=1;i=c+72|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;ym(c+88|0);h=c;f[a>>2]=h;return}}else if(l){l=wk(104)|0;f[l+4>>2]=g;g=l+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[l+24>>2]=d;f[l+28>>2]=k;f[l+32>>2]=b;f[l+36>>2]=j;f[l>>2]=2716;f[l+44>>2]=0;f[l+48>>2]=0;f[l+52>>2]=d;f[l+56>>2]=k;f[l+60>>2]=b;f[l+64>>2]=j;f[l+40>>2]=2772;f[l+68>>2]=1;j=l+72|0;f[j>>2]=-1;f[j+4>>2]=-1;f[j+8>>2]=-1;f[j+12>>2]=-1;ym(l+88|0);h=l;f[a>>2]=h;return}f[a>>2]=0;h=0;f[a>>2]=h;return}function Cd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;g=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Ka[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){h=0;f[a>>2]=h;return}i=Ka[f[(f[b>>2]|0)+36>>2]&127](b)|0;j=La[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((i|0)==0|(j|0)==0){h=0;f[a>>2]=h;return}k=La[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;d=f[b+44>>2]|0;b=j+12|0;l=(c|0)==6;if(!k){if(l){c=wk(104)|0;f[c+4>>2]=g;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[c+24>>2]=d;f[c+28>>2]=i;f[c+32>>2]=b;f[c+36>>2]=j;f[c>>2]=2968;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=d;f[c+56>>2]=i;f[c+60>>2]=b;f[c+64>>2]=j;f[c+40>>2]=3024;f[c+68>>2]=1;i=c+72|0;f[i>>2]=-1;f[i+4>>2]=-1;f[i+8>>2]=-1;f[i+12>>2]=-1;ym(c+88|0);h=c;f[a>>2]=h;return}}else if(l){l=wk(104)|0;f[l+4>>2]=g;g=l+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[l+24>>2]=d;f[l+28>>2]=k;f[l+32>>2]=b;f[l+36>>2]=j;f[l>>2]=2884;f[l+44>>2]=0;f[l+48>>2]=0;f[l+52>>2]=d;f[l+56>>2]=k;f[l+60>>2]=b;f[l+64>>2]=j;f[l+40>>2]=2940;f[l+68>>2]=1;j=l+72|0;f[j>>2]=-1;f[j+4>>2]=-1;f[j+8>>2]=-1;f[j+12>>2]=-1;ym(l+88|0);h=l;f[a>>2]=h;return}f[a>>2]=0;h=0;f[a>>2]=h;return}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c;e=a+40|0;g=e;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));if(vf(e,1,d)|0){g=a;h=e;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));e=d;k=f[e>>2]|0;l=f[e+4>>2]|0;e=a+8|0;m=e;n=a+16|0;o=n;p=f[o>>2]|0;q=f[o+4>>2]|0;o=wl(f[m>>2]|0,f[m+4>>2]|0,p|0,q|0)|0;m=H;if(!(l>>>0>m>>>0|(l|0)==(m|0)&k>>>0>o>>>0)){o=vl(p|0,q|0,k|0,l|0)|0;l=n;f[l>>2]=o;f[l+4>>2]=H;do if((j[a+38>>1]|0)>=514){if(!(rd(a+80|0,a)|0)){r=0;u=c;return r|0}}else{l=a+96|0;g=l;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));if(vf(l,1,d)|0){g=a;h=l;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=d;o=f[l>>2]|0;k=f[l+4>>2]|0;l=e;q=n;p=f[q>>2]|0;m=f[q+4>>2]|0;q=wl(f[l>>2]|0,f[l+4>>2]|0,p|0,m|0)|0;l=H;if(!(k>>>0>l>>>0|(k|0)==(l|0)&o>>>0>q>>>0)){q=vl(p|0,m|0,o|0,k|0)|0;k=n;f[k>>2]=q;f[k+4>>2]=H;break}}r=0;u=c;return r|0}while(0);if(!(Jg(a)|0)){r=0;u=c;return r|0}g=b;h=a;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));r=1;u=c;return r|0}}r=0;u=c;return r|0}function Ed(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;e=u;u=u+16|0;g=e;h=f[a+40>>2]|0;i=f[a+44>>2]|0;if((h|0)==(i|0)){j=0;u=e;return j|0}a=g+11|0;k=g+4|0;l=d+11|0;m=d+4|0;n=0;o=h;a:while(1){f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=lh(f[o>>2]|0,c,g)|0;p=b[a>>0]|0;b:do if(h){q=p<<24>>24<0;r=p&255;s=q?f[k>>2]|0:r;t=b[l>>0]|0;v=t<<24>>24<0;if((s|0)==((v?f[m>>2]|0:t&255)|0)){t=f[g>>2]|0;w=q?t:g;x=v?f[d>>2]|0:d;v=(s|0)==0;y=t&255;c:do if(q){if(!v?Fi(w,x,s)|0:0){z=0;A=n;B=15;break b}}else if(!v){if((b[x>>0]|0)!=y<<24>>24){C=0;D=n;B=14;break b}t=g;E=r;F=x;while(1){E=E+-1|0;t=t+1|0;if(!E)break c;F=F+1|0;if((b[t>>0]|0)!=(b[F>>0]|0)){C=0;D=n;B=14;break b}}}while(0);C=1;D=f[o>>2]|0;B=14}else{C=0;D=n;B=14}}else{C=3;D=n;B=14}while(0);if((B|0)==14){B=0;if(p<<24>>24<0){z=C;A=D;B=15}else{G=C;H=D}}if((B|0)==15){B=0;Ko(f[g>>2]|0);G=z;H=A}switch(G&3){case 3:case 0:break;default:{j=H;B=18;break a}}o=o+4|0;if((o|0)==(i|0)){j=0;B=18;break}else n=H}if((B|0)==18){u=e;return j|0}return 0}function Fd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;if(!(kc(a,c)|0)){g=0;u=d;return g|0}h=Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0;i=a+36|0;j=a+40|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0){if(h>>>0>>0){k=n+(h<<2)|0;if((k|0)!=(l|0)){n=l;do{n=n+-4|0;l=f[n>>2]|0;f[n>>2]=0;if(l|0)Pa[f[(f[l>>2]|0)+4>>2]&127](l)}while((n|0)!=(k|0))}f[j>>2]=k}}else Se(i,h-m|0);m=c+8|0;if((h|0)<=0){g=1;u=d;return g|0}k=c+16|0;j=0;while(1){n=m;l=f[n+4>>2]|0;o=k;p=f[o>>2]|0;q=f[o+4>>2]|0;if(!((l|0)>(q|0)|((l|0)==(q|0)?(f[n>>2]|0)>>>0>p>>>0:0))){g=0;r=21;break}n=b[(f[c>>2]|0)+p>>0]|0;l=vl(p|0,q|0,1,0)|0;q=k;f[q>>2]=l;f[q+4>>2]=H;Ra[f[(f[a>>2]|0)+48>>2]&15](e,a,n);n=(f[i>>2]|0)+(j<<2)|0;q=f[e>>2]|0;f[e>>2]=0;l=f[n>>2]|0;f[n>>2]=q;if(l|0)Pa[f[(f[l>>2]|0)+4>>2]&127](l);l=f[e>>2]|0;f[e>>2]=0;if(l|0)Pa[f[(f[l>>2]|0)+4>>2]&127](l);l=f[(f[i>>2]|0)+(j<<2)>>2]|0;if(!l){g=0;r=21;break}q=f[(f[l>>2]|0)+8>>2]|0;n=Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0;p=La[f[(f[a>>2]|0)+20>>2]&127](a,j)|0;j=j+1|0;if(!(Ma[q&31](l,n,p)|0)){g=0;r=21;break}if((j|0)>=(h|0)){g=1;r=21;break}}if((r|0)==21){u=d;return g|0}return 0}function Gd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Kc(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+544|0,c)|0)){r=0;return r|0}if(!(gf(a+564|0,c)|0)){r=0;return r|0}if(gf(a+584|0,c)|0)return kb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Hd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Kc(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+544|0,c)|0)){r=0;return r|0}if(!(gf(a+564|0,c)|0)){r=0;return r|0}if(gf(a+584|0,c)|0)return mb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Id(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Kc(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+544|0,c)|0)){r=0;return r|0}if(!(gf(a+564|0,c)|0)){r=0;return r|0}if(gf(a+584|0,c)|0)return lb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Jd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(gf(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+36|0,c)|0)){r=0;return r|0}if(!(gf(a+56|0,c)|0)){r=0;return r|0}if(gf(a+76|0,c)|0)return jb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Kd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(gf(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+36|0,c)|0)){r=0;return r|0}if(!(gf(a+56|0,c)|0)){r=0;return r|0}if(gf(a+76|0,c)|0)return ib(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Ld(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(rd(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+32|0,c)|0)){r=0;return r|0}if(!(gf(a+52|0,c)|0)){r=0;return r|0}if(gf(a+72|0,c)|0)return pb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Md(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(rd(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+32|0,c)|0)){r=0;return r|0}if(!(gf(a+52|0,c)|0)){r=0;return r|0}if(gf(a+72|0,c)|0)return nb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Nd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function Od(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d+12|0;g=d;h=wk(52)|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=1065353216;i=h+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[h+36>>2]=1065353216;f[h+40>>2]=0;f[h+44>>2]=0;f[h+48>>2]=0;jo(e);if(Af(e,f[c+32>>2]|0,h)|0){e=(f[c+4>>2]|0)+4|0;c=f[e>>2]|0;f[e>>2]=h;if(c|0){e=c+40|0;i=f[e>>2]|0;if(i|0){j=c+44|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k;do{m=m+-4|0;k=f[m>>2]|0;f[m>>2]=0;if(k|0){eh(k);Ko(k)}}while((m|0)!=(i|0));l=f[e>>2]|0}f[j>>2]=i;Ko(l)}eh(c);Ko(c)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}else{f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;c=wk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=26;l=c;i=13159;j=l+26|0;do{b[l>>0]=b[i>>0]|0;l=l+1|0;i=i+1|0}while((l|0)<(j|0));b[c+26>>0]=0;f[a>>2]=-1;Yi(a+4|0,g);if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);g=h+40|0;a=f[g>>2]|0;if(a|0){c=h+44|0;i=f[c>>2]|0;if((i|0)==(a|0))n=a;else{l=i;do{l=l+-4|0;i=f[l>>2]|0;f[l>>2]=0;if(i|0){eh(i);Ko(i)}}while((l|0)!=(a|0));n=f[g>>2]|0}f[c>>2]=a;Ko(n)}eh(h);Ko(h);u=d;return}}function Pd(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3408;b=f[a+388>>2]|0;if(b|0){f[a+392>>2]=b;Ko(b)}b=a+368|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<4)|0;do e=e+-16|0;while((e|0)!=(c|0))}Io(b)}Ch(a+216|0);b=f[a+196>>2]|0;if(b|0){f[a+200>>2]=b;Ko(b)}b=f[a+184>>2]|0;if(b|0){f[a+188>>2]=b;Ko(b)}b=f[a+172>>2]|0;if(b|0){f[a+176>>2]=b;Ko(b)}b=f[a+160>>2]|0;if(b|0){f[a+164>>2]=b;Ko(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;Ko(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ko(b);b=f[a+120>>2]|0;if(b|0)Ko(b);b=f[a+108>>2]|0;if(b|0)Ko(b);b=f[a+96>>2]|0;if(b|0)Ko(b);b=f[a+72>>2]|0;if(b|0){f[a+76>>2]=b;Ko(b)}b=f[a+60>>2]|0;if(b|0)Ko(b);b=f[a+48>>2]|0;if(b|0){f[a+52>>2]=b;Ko(b)}b=f[a+36>>2]|0;if(b|0){f[a+40>>2]=b;Ko(b)}b=f[a+24>>2]|0;if(b|0){f[a+28>>2]=b;Ko(b)}b=f[a+12>>2]|0;if(b|0){f[a+16>>2]=b;Ko(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=f[a+76>>2]|0;if(b|0){f[a+80>>2]=b;Ko(b)}b=f[a+64>>2]|0;if(b|0){f[a+68>>2]=b;Ko(b)}b=f[a+48>>2]|0;if(b|0){f[a+52>>2]=b;Ko(b)}b=f[a+24>>2]|0;if(b|0){f[a+28>>2]=b;Ko(b)}b=f[a+12>>2]|0;if(b|0){f[a+16>>2]=b;Ko(b)}b=f[a>>2]|0;if(b|0){f[a+4>>2]=b;Ko(b)}Ko(a);return}function Qd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=Ia,k=0,l=0,m=0,o=0,p=0,q=Ia,r=Ia,s=Ia,t=Ia,v=Ia,w=0,x=Ia,y=Ia,z=0,A=0;g=u;u=u+32|0;h=g+16|0;i=g;j=_(n[d+4>>2]);k=(1<>2])+-1|0;dn(h);qk(h,j,k)|0;d=f[a>>2]|0;if((d|0)==(f[c>>2]|0)){u=g;return}a=h+4|0;l=i+4|0;m=i+8|0;o=e+16|0;p=e+28|0;e=d;do{d=(f[e>>2]|0)-k|0;if((d|0)>-1){j=_(d|0);q=_(n[a>>2]);r=_(q*j);j=_(n[h>>2]);s=_(r*j);t=q;v=j}else{w=wl(0,0,d|0,((d|0)<0)<<31>>31|0)|0;j=_(+(w>>>0)+4294967296.0*+(H|0));q=_(n[a>>2]);r=_(q*j);j=_(n[h>>2]);s=_(-_(r*j));t=q;v=j}w=(f[e+4>>2]|0)-k|0;if((w|0)>-1)x=_(_(t*_(w|0))*v);else{d=wl(0,0,w|0,((w|0)<0)<<31>>31|0)|0;x=_(-_(_(t*_(+(d>>>0)+4294967296.0*+(H|0)))*v))}d=(f[e+8>>2]|0)-k|0;if((d|0)>-1)y=_(_(t*_(d|0))*v);else{w=wl(0,0,d|0,((d|0)<0)<<31>>31|0)|0;y=_(-_(_(t*_(+(w>>>0)+4294967296.0*+(H|0)))*v))}n[i>>2]=s;n[l>>2]=x;n[m>>2]=y;w=f[o>>2]|0;d=f[w>>2]|0;z=f[p>>2]|0;if(!(b[d+84>>0]|0))A=f[(f[d+68>>2]|0)+(z<<2)>>2]|0;else A=z;z=f[d+40>>2]|0;Bf((f[f[d+64>>2]>>2]|0)+(W(A,z)|0)|0,i+(f[w+4>>2]<<2)|0,z|0)|0;f[p>>2]=(f[p>>2]|0)+1;e=e+12|0}while((e|0)!=(f[c>>2]|0));u=g;return}function Rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;c=u;u=u+32|0;d=c;e=a+4|0;g=f[a>>2]|0;h=(f[e>>2]|0)-g>>2;i=h+1|0;if(i>>>0>1073741823)$n(a);j=a+8|0;k=(f[j>>2]|0)-g|0;g=k>>1;l=k>>2>>>0<536870911?(g>>>0>>0?i:g):1073741823;g=d+12|0;f[g>>2]=0;f[d+16>>2]=a+8;do if(l)if(l>>>0>1073741823){i=qa(8)|0;Dm(i,13552);f[i>>2]=4908;ta(i|0,1128,105)}else{m=wk(l<<2)|0;break}else m=0;while(0);f[d>>2]=m;i=m+(h<<2)|0;h=d+8|0;k=d+4|0;f[k>>2]=i;n=m+(l<<2)|0;f[g>>2]=n;l=f[b>>2]|0;f[b>>2]=0;f[i>>2]=l;l=i+4|0;f[h>>2]=l;b=f[a>>2]|0;m=f[e>>2]|0;if((m|0)==(b|0)){o=i;p=g;q=h;r=b;s=l;t=m;v=n;w=o;f[a>>2]=w;f[k>>2]=r;f[e>>2]=s;f[q>>2]=t;x=f[j>>2]|0;f[j>>2]=v;f[p>>2]=x;f[d>>2]=r;Og(d);u=c;return}n=m;m=i;do{n=n+-4|0;i=f[n>>2]|0;f[n>>2]=0;f[m+-4>>2]=i;m=(f[k>>2]|0)+-4|0;f[k>>2]=m}while((n|0)!=(b|0));o=m;p=g;q=h;r=f[a>>2]|0;s=f[h>>2]|0;t=f[e>>2]|0;v=f[g>>2]|0;w=o;f[a>>2]=w;f[k>>2]=r;f[e>>2]=s;f[q>>2]=t;x=f[j>>2]|0;f[j>>2]=v;f[p>>2]=x;f[d>>2]=r;Og(d);u=c;return}function Sd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Kc(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+544|0,c)|0)){r=0;return r|0}if(!(gf(a+564|0,c)|0)){r=0;return r|0}if(gf(a+584|0,c)|0)return db(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Td(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Kc(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+544|0,c)|0)){r=0;return r|0}if(!(gf(a+564|0,c)|0)){r=0;return r|0}if(gf(a+584|0,c)|0)return fb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Ud(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(Kc(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+544|0,c)|0)){r=0;return r|0}if(!(gf(a+564|0,c)|0)){r=0;return r|0}if(gf(a+584|0,c)|0)return eb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+32|0;g=e+8|0;i=e+4|0;j=e;f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;l=c+8|0;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=f[o+4>>2]|0;o=vl(p|0,q|0,4,0)|0;r=H;a:do if((n|0)<(r|0)|(n|0)==(r|0)&m>>>0>>0)s=0;else{t=f[c>>2]|0;v=t+p|0;w=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;v=l;f[v>>2]=o;f[v+4>>2]=r;b:do switch(w|0){case 3:{if(!((n|0)>(r|0)|(n|0)==(r|0)&m>>>0>o>>>0)){s=0;break a}v=b[t+o>>0]|0;x=vl(p|0,q|0,5,0)|0;y=l;f[y>>2]=x;f[y+4>>2]=H;f[a+8>>2]=v<<24>>24;if(v<<24>>24==1)if($b(a,c,g)|0)break b;else{s=0;break a}else{Pi(5156,23,1,f[948]|0)|0;s=0;break a}break}case 2:{if(!($b(a,c,g)|0)){s=0;break a}break}default:{Pi(5180,24,1,f[948]|0)|0;s=0;break a}}while(0);f[i>>2]=f[g>>2];f[j>>2]=f[k>>2];Qd(i,j,a,d);s=1}while(0);d=f[g>>2]|0;if(!d){u=e;return s|0}f[k>>2]=d;Ko(d);u=e;return s|0}function Wd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(gf(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+36|0,c)|0)){r=0;return r|0}if(!(gf(a+56|0,c)|0)){r=0;return r|0}if(gf(a+76|0,c)|0)return cb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Xd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(gf(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+36|0,c)|0)){r=0;return r|0}if(!(gf(a+56|0,c)|0)){r=0;return r|0}if(gf(a+76|0,c)|0)return bb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(rd(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+32|0,c)|0)){r=0;return r|0}if(!(gf(a+52|0,c)|0)){r=0;return r|0}if(gf(a+72|0,c)|0)return hb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function Zd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c+8|0;g=e;i=f[g>>2]|0;j=f[g+4>>2]|0;g=c+16|0;k=g;l=f[k>>2]|0;m=f[k+4>>2]|0;k=vl(l|0,m|0,4,0)|0;n=H;if((j|0)<(n|0)|(j|0)==(n|0)&i>>>0>>0){o=f[a>>2]|0;p=l;q=m}else{m=(f[c>>2]|0)+l|0;l=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[a>>0]=l;b[a+1>>0]=l>>8;b[a+2>>0]=l>>16;b[a+3>>0]=l>>24;m=g;k=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=H;i=g;f[i>>2]=k;f[i+4>>2]=m;o=l;p=k;q=m}if(o>>>0>32){r=0;return r|0}o=a+4|0;m=e;e=f[m>>2]|0;k=f[m+4>>2]|0;m=vl(p|0,q|0,4,0)|0;q=H;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0>>0)s=f[o>>2]|0;else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;b[o>>0]=p;b[o+1>>0]=p>>8;b[o+2>>0]=p>>16;b[o+3>>0]=p>>24;m=g;e=vl(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;m=g;f[m>>2]=e;f[m+4>>2]=H;s=p}if(!s){r=1;return r|0}f[a+8>>2]=0;if(!(rd(a+16|0,c)|0)){r=0;return r|0}if(!(gf(a+32|0,c)|0)){r=0;return r|0}if(!(gf(a+52|0,c)|0)){r=0;return r|0}if(gf(a+72|0,c)|0)return gb(a,f[o>>2]|0,d)|0;else{r=0;return r|0}return 0}function _d(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3240;b=a+368|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<4)|0;do e=e+-16|0;while((e|0)!=(c|0))}Io(b)}Ch(a+216|0);b=f[a+196>>2]|0;if(b|0){f[a+200>>2]=b;Ko(b)}b=f[a+184>>2]|0;if(b|0){f[a+188>>2]=b;Ko(b)}b=f[a+172>>2]|0;if(b|0){f[a+176>>2]=b;Ko(b)}b=f[a+160>>2]|0;if(b|0){f[a+164>>2]=b;Ko(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;Ko(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ko(b);b=f[a+120>>2]|0;if(b|0)Ko(b);b=f[a+108>>2]|0;if(b|0)Ko(b);b=f[a+96>>2]|0;if(b|0)Ko(b);b=f[a+72>>2]|0;if(b|0){f[a+76>>2]=b;Ko(b)}b=f[a+60>>2]|0;if(b|0)Ko(b);b=f[a+48>>2]|0;if(b|0){f[a+52>>2]=b;Ko(b)}b=f[a+36>>2]|0;if(b|0){f[a+40>>2]=b;Ko(b)}b=f[a+24>>2]|0;if(b|0){f[a+28>>2]=b;Ko(b)}b=f[a+12>>2]|0;if(b|0){f[a+16>>2]=b;Ko(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=f[a+76>>2]|0;if(b|0){f[a+80>>2]=b;Ko(b)}b=f[a+64>>2]|0;if(b|0){f[a+68>>2]=b;Ko(b)}b=f[a+48>>2]|0;if(b|0){f[a+52>>2]=b;Ko(b)}b=f[a+24>>2]|0;if(b|0){f[a+28>>2]=b;Ko(b)}b=f[a+12>>2]|0;if(b|0){f[a+16>>2]=b;Ko(b)}b=f[a>>2]|0;if(b|0){f[a+4>>2]=b;Ko(b)}Ko(a);return}function $d(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Wh(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[e>>2]|0;i=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[c>>2]=0;h=a+104|0;j=f[g>>2]|0;k=(f[h>>2]|0)-j>>2;if(i>>>0<=k>>>0){if(i>>>0>>0)f[h>>2]=j+(i<<2)}else Of(g,i-k|0,c);k=a+120|0;a=f[k>>2]|0;if(!a){i=f[e>>2]|0;g=(f[i+4>>2]|0)-(f[i>>2]|0)>>2;i=(g>>>0)/3|0;if(g>>>0<=2){l=1;u=b;return l|0}g=0;while(1){f[d>>2]=g*3;f[c>>2]=f[d>>2];g=g+1|0;if(!(xb(e,c)|0)){l=0;m=14;break}if(g>>>0>=i>>>0){l=1;m=14;break}}if((m|0)==14){u=b;return l|0}}else{i=f[a>>2]|0;if((f[a+4>>2]|0)==(i|0)){l=1;u=b;return l|0}a=0;g=i;while(1){f[d>>2]=f[g+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(xb(e,c)|0)){l=0;m=14;break}i=f[k>>2]|0;g=f[i>>2]|0;if(a>>>0>=(f[i+4>>2]|0)-g>>2>>>0){l=1;m=14;break}}if((m|0)==14){u=b;return l|0}}return 0}function ae(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=u;u=u+32|0;e=d+12|0;g=d;h=Wi(c,0)|0;if(!h){f[a>>2]=0;u=d;return}i=f[c+100>>2]|0;j=f[c+96>>2]|0;c=i-j|0;k=(c|0)/12|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;m=e+8|0;f[m>>2]=0;n=j;do if(c)if(k>>>0>357913941)$n(e);else{o=wk(c)|0;f[e>>2]=o;f[m>>2]=o+(k*12|0);oh(o|0,0,c|0)|0;f[l>>2]=o+c;p=o;break}else p=0;while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;if((i|0)!=(j|0)){j=g+4|0;i=g+8|0;if(!(b[h+84>>0]|0)){c=f[h+68>>2]|0;h=0;do{m=f[c+(f[n+(h*12|0)>>2]<<2)>>2]|0;f[g>>2]=m;o=f[c+(f[n+(h*12|0)+4>>2]<<2)>>2]|0;f[j>>2]=o;q=f[c+(f[n+(h*12|0)+8>>2]<<2)>>2]|0;f[i>>2]=q;f[p+(h*12|0)>>2]=m;f[p+(h*12|0)+4>>2]=o;f[p+(h*12|0)+8>>2]=q;h=h+1|0}while(h>>>0>>0)}else{h=0;do{c=n+(h*12|0)|0;f[g>>2]=f[c>>2];f[g+4>>2]=f[c+4>>2];f[g+8>>2]=f[c+8>>2];f[p+(h*12|0)>>2]=f[g>>2];f[p+(h*12|0)+4>>2]=f[j>>2];f[p+(h*12|0)+8>>2]=f[i>>2];h=h+1|0}while(h>>>0>>0)}}og(a,e);a=f[e>>2]|0;if(a|0){f[l>>2]=a;Ko(a)}u=d;return}function be(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[i>>2]|0;l=(f[j>>2]|0)-k>>2;if(h>>>0<=l>>>0)if(h>>>0>>0){f[j>>2]=k+(h<<2);m=g;n=h}else{m=g;n=h}else{Of(i,h-l|0,3328);l=f[e>>2]|0;m=l;n=f[l+80>>2]|0}l=f[m+96>>2]|0;e=(f[m+100>>2]|0)-l|0;m=(e|0)/12|0;h=l;if(!e){o=1;return o|0}e=a+80|0;a=c+68|0;c=0;while(1){l=c*3|0;if((l|0)==-1){o=0;p=11;break}i=f[d>>2]|0;g=f[i+(l<<2)>>2]|0;if((g|0)==-1){o=0;p=11;break}k=f[(f[e>>2]|0)+12>>2]|0;j=f[k+(g<<2)>>2]|0;if(j>>>0>=n>>>0){o=0;p=11;break}g=f[a>>2]|0;f[g+(f[h+(c*12|0)>>2]<<2)>>2]=j;j=l+1|0;if((j|0)==-1){o=0;p=11;break}q=f[i+(j<<2)>>2]|0;if((q|0)==-1){o=0;p=11;break}j=f[k+(q<<2)>>2]|0;if(j>>>0>=n>>>0){o=0;p=11;break}f[g+(f[h+(c*12|0)+4>>2]<<2)>>2]=j;j=l+2|0;if((j|0)==-1){o=0;p=11;break}l=f[i+(j<<2)>>2]|0;if((l|0)==-1){o=0;p=11;break}j=f[k+(l<<2)>>2]|0;if(j>>>0>=n>>>0){o=0;p=11;break}f[g+(f[h+(c*12|0)+8>>2]<<2)>>2]=j;c=c+1|0;if(c>>>0>=m>>>0){o=1;p=11;break}}if((p|0)==11)return o|0;return 0}function ce(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=c+24|0;k=b[j>>0]|0;l=k<<24>>24;m=f[a+80>>2]|0;a=W(m,l)|0;f[i>>2]=f[294];f[i+4>>2]=f[295];f[i+8>>2]=f[296];f[i+12>>2]=f[297];n=d+4|0;o=f[d>>2]|0;p=(f[n>>2]|0)-o>>2;if(a>>>0<=p>>>0){if(a>>>0

>>0)f[n>>2]=o+(a<<2)}else Eg(d,a-p|0);if(!m){q=1;u=e;return q|0}p=c+84|0;a=c+68|0;if(k<<24>>24<=0){k=0;while(1){if(!(b[p>>0]|0))r=f[(f[a>>2]|0)+(k<<2)>>2]|0;else r=k;f[h>>2]=r;o=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(ob(c,g,o,i)|0)){q=0;s=19;break}k=k+1|0;if(k>>>0>=m>>>0){q=1;s=19;break}}if((s|0)==19){u=e;return q|0}}k=0;r=0;while(1){if(!(b[p>>0]|0))t=f[(f[a>>2]|0)+(r<<2)>>2]|0;else t=r;f[h>>2]=t;o=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(ob(c,g,o,i)|0)){q=0;s=19;break}o=f[d>>2]|0;n=0;v=k;while(1){f[o+(v<<2)>>2]=f[i+(n<<2)>>2];n=n+1|0;if((n|0)==(l|0))break;else v=v+1|0}r=r+1|0;if(r>>>0>=m>>>0){q=1;s=19;break}else k=k+l|0}if((s|0)==19){u=e;return q|0}return 0}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;j=i;if(g-i>>2>>>0>=b>>>0){oh(i|0,0,b<<2|0)|0;f[h>>2]=j+(b<<2);u=c;return}k=f[a>>2]|0;l=i-k>>2;m=l+b|0;n=k;if(m>>>0>1073741823)$n(a);o=g-k|0;p=o>>1;q=o>>2>>>0<536870911?(p>>>0>>0?m:p):1073741823;p=d+12|0;f[p>>2]=0;f[d+16>>2]=a+8;do if(q)if(q>>>0>1073741823){m=qa(8)|0;Dm(m,13552);f[m>>2]=4908;ta(m|0,1128,105)}else{r=wk(q<<2)|0;break}else r=0;while(0);f[d>>2]=r;m=r+(l<<2)|0;l=d+8|0;o=d+4|0;f[o>>2]=m;s=r+(q<<2)|0;f[p>>2]=s;oh(m|0,0,b<<2|0)|0;q=m+(b<<2)|0;f[l>>2]=q;if((j|0)==(n|0)){t=m;v=p;w=l;x=k;y=q;z=i;A=s;B=g}else{g=j;j=m;do{g=g+-4|0;m=f[g>>2]|0;f[g>>2]=0;f[j+-4>>2]=m;j=(f[o>>2]|0)+-4|0;f[o>>2]=j}while((g|0)!=(n|0));t=j;v=p;w=l;x=f[a>>2]|0;y=f[l>>2]|0;z=f[h>>2]|0;A=f[p>>2]|0;B=f[e>>2]|0}f[a>>2]=t;f[o>>2]=x;f[h>>2]=y;f[w>>2]=z;f[e>>2]=A;f[v>>2]=B;f[d>>2]=x;Og(d);u=c;return}function ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=f[a+8>>2]|0;e=a+112|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[i>>2]|0;l=(f[j>>2]|0)-k>>2;if(h>>>0<=l>>>0)if(h>>>0>>0){f[j>>2]=k+(h<<2);m=g;n=h}else{m=g;n=h}else{Of(i,h-l|0,3328);l=f[e>>2]|0;m=l;n=f[l+80>>2]|0}l=f[m+96>>2]|0;e=(f[m+100>>2]|0)-l|0;m=(e|0)/12|0;h=l;if(!e){o=1;return o|0}e=a+116|0;a=c+68|0;c=0;while(1){l=c*3|0;if((l|0)==-1){o=0;p=11;break}i=f[d>>2]|0;g=f[i+(l<<2)>>2]|0;if((g|0)==-1){o=0;p=11;break}k=f[(f[e>>2]|0)+12>>2]|0;j=f[k+(g<<2)>>2]|0;if(j>>>0>=n>>>0){o=0;p=11;break}g=f[a>>2]|0;f[g+(f[h+(c*12|0)>>2]<<2)>>2]=j;j=l+1|0;if((j|0)==-1){o=0;p=11;break}q=f[i+(j<<2)>>2]|0;if((q|0)==-1){o=0;p=11;break}j=f[k+(q<<2)>>2]|0;if(j>>>0>=n>>>0){o=0;p=11;break}f[g+(f[h+(c*12|0)+4>>2]<<2)>>2]=j;j=l+2|0;if((j|0)==-1){o=0;p=11;break}l=f[i+(j<<2)>>2]|0;if((l|0)==-1){o=0;p=11;break}j=f[k+(l<<2)>>2]|0;if(j>>>0>=n>>>0){o=0;p=11;break}f[g+(f[h+(c*12|0)+8>>2]<<2)>>2]=j;c=c+1|0;if(c>>>0>=m>>>0){o=1;p=11;break}}if((p|0)==11)return o|0;return 0}function fe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=c+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=c+16|0;i=d;k=f[i>>2]|0;l=f[i+4>>2]|0;i=vl(k|0,l|0,4,0)|0;m=H;if((g|0)<(m|0)|(g|0)==(m|0)&e>>>0>>0){n=0;return n|0}o=f[c>>2]|0;p=o+k|0;q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;p=d;f[p>>2]=i;f[p+4>>2]=m;m=vl(k|0,l|0,8,0)|0;p=H;if((g|0)<(p|0)|(g|0)==(p|0)&e>>>0>>0){n=0;return n|0}r=o+i|0;i=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;r=d;f[r>>2]=m;f[r+4>>2]=p;if((q|0)>(i|0)){n=0;return n|0}f[a+12>>2]=q;f[a+16>>2]=i;r=wl(i|0,((i|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=H;if(!(q>>>0<0|(q|0)==0&r>>>0<2147483647)){n=0;return n|0}q=r+1|0;f[a+20>>2]=q;r=(q|0)/2|0;i=a+24|0;f[i>>2]=r;f[a+28>>2]=0-r;if(!(q&1))f[i>>2]=r+-1;if((j[c+38>>1]|0)<514){a:do if((g|0)>(p|0)|(g|0)==(p|0)&e>>>0>m>>>0){r=b[o+m>>0]|0;i=vl(k|0,l|0,9,0)|0;q=d;f[q>>2]=i;f[q+4>>2]=H;switch(r<<24>>24){case 0:{s=0;break a;break}case 1:{s=1;break a;break}default:{n=0;return n|0}}}else s=0;while(0);f[a+88>>2]=s}n=rd(a+108|0,c)|0;return n|0}function ge(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=wk(32)|0;Kk(d);e=a+64|0;g=f[e>>2]|0;f[e>>2]=d;if(!g)h=d;else{d=f[g>>2]|0;if(d|0){f[g+4>>2]=d;Ko(d)}Ko(g);h=f[e>>2]|0}oi(a,h,0,0,0,0);i=a}else i=a;if(!(jh(i,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))df(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);i=f[c+88>>2]|0;if(!i){c=a+88|0;h=f[c>>2]|0;f[c>>2]=0;if(!h)return;c=f[h+8>>2]|0;if(c|0){f[h+12>>2]=c;Ko(c)}Ko(h);return}h=wk(40)|0;f[h>>2]=f[i>>2];c=h+8|0;e=i+8|0;f[c>>2]=0;g=h+12|0;f[g>>2]=0;d=h+16|0;f[d>>2]=0;j=i+12|0;k=(f[j>>2]|0)-(f[e>>2]|0)|0;if(k|0){if((k|0)<0)$n(c);l=wk(k)|0;f[g>>2]=l;f[c>>2]=l;f[d>>2]=l+k;k=f[e>>2]|0;e=(f[j>>2]|0)-k|0;if((e|0)>0){Bf(l|0,k|0,e|0)|0;f[g>>2]=l+e}}e=h+24|0;l=i+24|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[e+12>>2]=f[l+12>>2];l=a+88|0;a=f[l>>2]|0;f[l>>2]=h;if(!a)return;h=f[a+8>>2]|0;if(h|0){f[a+12>>2]=h;Ko(h)}Ko(a);return}function he(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=Ia,x=Ia,y=Ia,z=0;d=u;u=u+16|0;e=d;g=f[a+24>>2]|0;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]|0;j=i<<24>>24;k=j<<2;l=Ho(j>>>0>1073741823?-1:j<<2)|0;dn(e);if(!(qk(e,_(n[a+32>>2]),(1<>2]|0;if(!(f[g+80>>2]|0))o=0;else o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;if(!c){m=1;Io(l);u=d;return m|0}g=e+4|0;p=a+28|0;if(i<<24>>24<=0){i=0;a=0;while(1){Bf((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+a|0,l|0,k|0)|0;i=i+1|0;if((i|0)==(c|0)){m=1;break}else a=a+k|0}Io(l);u=d;return m|0}a=0;i=0;q=0;while(1){r=f[p>>2]|0;s=0;t=i;while(1){v=f[o+(t<<2)>>2]|0;if((v|0)>-1){w=_(v|0);x=_(_(n[g>>2])*w);y=_(x*_(n[e>>2]))}else{z=wl(0,0,v|0,((v|0)<0)<<31>>31|0)|0;x=_(+(z>>>0)+4294967296.0*+(H|0));w=_(_(n[g>>2])*x);y=_(-_(w*_(n[e>>2])))}w=_(y+_(n[r+(s<<2)>>2]));n[l+(s<<2)>>2]=w;s=s+1|0;if((s|0)==(j|0))break;else t=t+1|0}Bf((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+q|0,l|0,k|0)|0;a=a+1|0;if((a|0)==(c|0)){m=1;break}else{i=i+j|0;q=q+k|0}}Io(l);u=d;return m|0}function ie(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e;i=d+8|0;j=f[i>>2]|0;k=f[i+4>>2]|0;i=d+16|0;l=i;m=f[l>>2]|0;n=f[l+4>>2]|0;if((k|0)>(n|0)|(k|0)==(n|0)&j>>>0>m>>>0){l=b[(f[d>>2]|0)+m>>0]|0;o=vl(m|0,n|0,1,0)|0;p=H;q=i;f[q>>2]=o;f[q+4>>2]=p;if(l<<24>>24!=-2){r=l;s=p;t=o;v=3}}else{r=0;s=n;t=m;v=3}if((v|0)==3){if((k|0)>(s|0)|(k|0)==(s|0)&j>>>0>t>>>0){j=b[(f[d>>2]|0)+t>>0]|0;k=vl(t|0,s|0,1,0)|0;s=i;f[s>>2]=k;f[s+4>>2]=H;w=j}else w=0;Sa[f[(f[a>>2]|0)+40>>2]&7](g,a,r<<24>>24,w<<24>>24);w=a+20|0;r=f[g>>2]|0;f[g>>2]=0;j=f[w>>2]|0;f[w>>2]=r;if(j){Pa[f[(f[j>>2]|0)+4>>2]&127](j);j=f[g>>2]|0;f[g>>2]=0;if(j|0)Pa[f[(f[j>>2]|0)+4>>2]&127](j)}else f[g>>2]=0}g=f[a+20>>2]|0;if(g|0?!(La[f[(f[a>>2]|0)+28>>2]&127](a,g)|0):0){x=0;u=e;return x|0}if(!(Ma[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0)){x=0;u=e;return x|0}d=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;c=f[a+4>>2]|0;if((c|0?((h[c+36>>0]|0)<<8&65535)<512:0)?!(La[f[(f[a>>2]|0)+48>>2]&127](a,d)|0):0){x=0;u=e;return x|0}x=1;u=e;return x|0}function je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3316;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)$n(i);else{o=((n+-1|0)>>>5)+1|0;p=wk(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];xe(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)$n(i);k=((l+-1|0)>>>5)+1|0;l=wk(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];xe(i,e,d);u=c;return}function ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+32|0;d=c+12|0;e=c;g=b*3|0;f[d>>2]=0;h=d+4|0;f[h>>2]=0;i=d+8|0;f[i>>2]=0;do if(g)if(g>>>0>1073741823)$n(d);else{j=b*12|0;k=wk(j)|0;f[d>>2]=k;l=k+(g<<2)|0;f[i>>2]=l;oh(k|0,0,j|0)|0;f[h>>2]=l;m=k;break}else m=0;while(0);if(kh(g,1,f[a+32>>2]|0,m)|0)if(!b)n=1;else{m=a+44|0;a=e+4|0;g=e+8|0;i=0;k=0;l=0;while(1){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;j=f[d>>2]|0;o=f[j+(k<<2)>>2]|0;p=o>>>1;q=((o&1|0)==0?p:0-p|0)+l|0;f[e>>2]=q;p=f[j+(k+1<<2)>>2]|0;o=p>>>1;r=((p&1|0)==0?o:0-o|0)+q|0;f[a>>2]=r;q=f[j+(k+2<<2)>>2]|0;j=q>>>1;l=((q&1|0)==0?j:0-j|0)+r|0;f[g>>2]=l;r=f[m>>2]|0;j=r+100|0;q=f[j>>2]|0;if((q|0)==(f[r+104>>2]|0))yg(r+96|0,e);else{f[q>>2]=f[e>>2];f[q+4>>2]=f[e+4>>2];f[q+8>>2]=f[e+8>>2];f[j>>2]=(f[j>>2]|0)+12}i=i+1|0;if(i>>>0>=b>>>0){n=1;break}else k=k+3|0}}else n=0;k=f[d>>2]|0;if(!k){u=c;return n|0}f[h>>2]=k;Ko(k);u=c;return n|0}function le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3364;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)$n(i);else{o=((n+-1|0)>>>5)+1|0;p=wk(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];xe(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)$n(i);k=((l+-1|0)>>>5)+1|0;l=wk(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];xe(i,e,d);u=c;return}function me(a){a=a|0;var b=0,c=0;f[a>>2]=3456;gh(a+232|0);Ch(a+216|0);b=f[a+196>>2]|0;if(b|0){f[a+200>>2]=b;Ko(b)}b=f[a+184>>2]|0;if(b|0){f[a+188>>2]=b;Ko(b)}b=f[a+172>>2]|0;if(b|0){f[a+176>>2]=b;Ko(b)}b=f[a+160>>2]|0;if(b|0){f[a+164>>2]=b;Ko(b)}b=f[a+144>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;Ko(b)}while((c|0)!=0)}c=a+136|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ko(b);b=f[a+120>>2]|0;if(b|0)Ko(b);b=f[a+108>>2]|0;if(b|0)Ko(b);b=f[a+96>>2]|0;if(b|0)Ko(b);b=f[a+72>>2]|0;if(b|0){f[a+76>>2]=b;Ko(b)}b=f[a+60>>2]|0;if(b|0)Ko(b);b=f[a+48>>2]|0;if(b|0){f[a+52>>2]=b;Ko(b)}b=f[a+36>>2]|0;if(b|0){f[a+40>>2]=b;Ko(b)}b=f[a+24>>2]|0;if(b|0){f[a+28>>2]=b;Ko(b)}b=f[a+12>>2]|0;if(b|0){f[a+16>>2]=b;Ko(b)}b=a+8|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=f[a+76>>2]|0;if(b|0){f[a+80>>2]=b;Ko(b)}b=f[a+64>>2]|0;if(b|0){f[a+68>>2]=b;Ko(b)}b=f[a+48>>2]|0;if(b|0){f[a+52>>2]=b;Ko(b)}b=f[a+24>>2]|0;if(b|0){f[a+28>>2]=b;Ko(b)}b=f[a+12>>2]|0;if(b|0){f[a+16>>2]=b;Ko(b)}b=f[a>>2]|0;if(b|0){f[a+4>>2]=b;Ko(b)}Ko(a);return}function ne(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+80|0;h=g;i=g+60|0;j=g+40|0;k=h;l=d;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));fc(a,h,i);if(f[a>>2]|0){u=g;return}h=a+4|0;n=h+11|0;if((b[n>>0]|0)<0)Ko(f[h>>2]|0);if(b[i+7>>0]|0){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;o=wk(32)|0;f[j>>2]=o;f[j+8>>2]=-2147483616;f[j+4>>2]=27;k=o;l=11903;m=k+27|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[o+27>>0]=0;f[a>>2]=-1;Yi(h,j);if((b[j+11>>0]|0)<0)Ko(f[j>>2]|0);u=g;return}zf(j,b[i+8>>0]|0);i=f[j>>2]|0;if(!i){o=j+16|0;l=f[o>>2]|0;f[o>>2]=0;Bc(a,l,c,d,e);if(!(f[a>>2]|0)){if((b[n>>0]|0)<0)Ko(f[h>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(l|0)Pa[f[(f[l>>2]|0)+4>>2]&127](l)}else{f[a>>2]=i;Yi(h,j+4|0)}h=j+16|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0)Pa[f[(f[i>>2]|0)+4>>2]&127](i);i=j+4|0;if((b[i+11>>0]|0)<0)Ko(f[i>>2]|0);u=g;return}function oe(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;g=u;u=u+16|0;h=g;i=c+24|0;k=b[i>>0]|0;l=k<<24>>24;f[h>>2]=0;m=h+4|0;f[m>>2]=0;n=h+8|0;f[n>>2]=0;do if(k<<24>>24)if(k<<24>>24<0)$n(h);else{o=l<<1;p=wk(o)|0;f[h>>2]=p;q=p+(l<<1)|0;f[n>>2]=q;oh(p|0,0,o|0)|0;f[m>>2]=q;q=l<<1;o=wk(q)|0;oh(o|0,0,q|0)|0;r=o;s=o;t=p;v=p;break}else{r=0;s=0;t=0;v=0}while(0);l=c+80|0;if(f[l>>2]|0){n=c+48|0;h=c+40|0;k=c+64|0;p=a+48|0;a=0;o=v;while(1){q=n;w=f[q>>2]|0;x=f[q+4>>2]|0;q=h;y=f[q>>2]|0;z=Bk(y|0,f[q+4>>2]|0,a|0,0)|0;q=vl(z|0,H|0,w|0,x|0)|0;Bf(o|0,(f[f[c>>2]>>2]|0)+q|0,y|0)|0;y=b[i>>0]|0;if(y<<24>>24>0){q=f[p>>2]|0;x=y<<24>>24;y=0;do{d[s+(y<<1)>>1]=(f[q+(y+e<<2)>>2]|0)+(j[t+(y<<1)>>1]|0);y=y+1|0}while((y|0)<(x|0));A=v}else A=o;x=f[h>>2]|0;Bf((f[f[k>>2]>>2]|0)+(W(a,x)|0)|0,s|0,x|0)|0;a=a+1|0;if(a>>>0>=(f[l>>2]|0)>>>0)break;else o=A}}if(r|0)Ko(s);if(!t){u=g;return 1}f[m>>2]=t;Ko(v);u=g;return 1}function pe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;e=u;u=u+16|0;g=e;h=c+24|0;i=b[h>>0]|0;j=i<<24>>24;f[g>>2]=0;k=g+4|0;f[k>>2]=0;l=g+8|0;f[l>>2]=0;do if(i<<24>>24)if(i<<24>>24<0)$n(g);else{m=j<<2;n=wk(m)|0;f[g>>2]=n;o=n+(j<<2)|0;f[l>>2]=o;oh(n|0,0,m|0)|0;f[k>>2]=o;o=j<<2;m=wk(o)|0;oh(m|0,0,o|0)|0;p=m;q=m;r=n;s=n;break}else{p=0;q=0;r=0;s=0}while(0);j=c+80|0;if(f[j>>2]|0){l=c+48|0;g=c+40|0;i=c+64|0;n=a+48|0;a=0;m=s;while(1){o=l;t=f[o>>2]|0;v=f[o+4>>2]|0;o=g;w=f[o>>2]|0;x=Bk(w|0,f[o+4>>2]|0,a|0,0)|0;o=vl(x|0,H|0,t|0,v|0)|0;Bf(m|0,(f[f[c>>2]>>2]|0)+o|0,w|0)|0;w=b[h>>0]|0;if(w<<24>>24>0){o=f[n>>2]|0;v=w<<24>>24;w=0;do{f[q+(w<<2)>>2]=(f[o+(w+d<<2)>>2]|0)+(f[r+(w<<2)>>2]|0);w=w+1|0}while((w|0)<(v|0));y=s}else y=m;v=f[g>>2]|0;Bf((f[f[i>>2]>>2]|0)+(W(a,v)|0)|0,q|0,v|0)|0;a=a+1|0;if(a>>>0>=(f[j>>2]|0)>>>0)break;else m=y}}if(p|0)Ko(q);if(!r){u=e;return 1}f[k>>2]=r;Ko(s);u=e;return 1}function qe(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=b[(f[a+8>>2]|0)+24>>0]|0;d=Ho(c>>>0>1073741823?-1:c<<2)|0;e=a+28|0;g=f[e>>2]|0;f[e>>2]=d;if(g|0)Io(g);g=a+4|0;d=f[(f[g>>2]|0)+32>>2]|0;i=c<<2;c=d+8|0;j=f[c>>2]|0;k=f[c+4>>2]|0;c=d+16|0;l=c;m=f[l>>2]|0;n=vl(m|0,f[l+4>>2]|0,i|0,0)|0;l=H;if((k|0)<(l|0)|(k|0)==(l|0)&j>>>0>>0){o=0;return o|0}Bf(f[e>>2]|0,(f[d>>2]|0)+m|0,i|0)|0;m=c;d=vl(f[m>>2]|0,f[m+4>>2]|0,i|0,0)|0;i=c;f[i>>2]=d;f[i+4>>2]=H;i=(f[g>>2]|0)+32|0;g=f[i>>2]|0;d=g+8|0;c=f[d>>2]|0;m=f[d+4>>2]|0;d=g+16|0;e=d;n=f[e>>2]|0;j=vl(n|0,f[e+4>>2]|0,4,0)|0;e=H;if((m|0)<(e|0)|(m|0)==(e|0)&c>>>0>>0){o=0;return o|0}j=a+32|0;c=(f[g>>2]|0)+n|0;n=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[j>>0]=n;b[j+1>>0]=n>>8;b[j+2>>0]=n>>16;b[j+3>>0]=n>>24;n=d;j=vl(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;n=d;f[n>>2]=j;f[n+4>>2]=H;n=f[i>>2]|0;i=n+8|0;j=f[i+4>>2]|0;d=n+16|0;c=d;g=f[c>>2]|0;e=f[c+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){o=0;return o|0}i=b[(f[n>>2]|0)+g>>0]|0;n=vl(g|0,e|0,1,0)|0;e=d;f[e>>2]=n;f[e+4>>2]=H;if((i&255)>31){o=0;return o|0}f[a+24>>2]=i&255;o=1;return o|0}function re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=b;Wf(a+16|0);ym(a+528|0);Wl(a+544|0);Wl(a+564|0);Wl(a+584|0);e=a+604|0;f[e>>2]=0;g=a+608|0;f[g>>2]=0;h=a+612|0;f[h>>2]=0;i=(b|0)==0;do if(!i)if(b>>>0>1073741823)$n(e);else{j=b<<2;k=wk(j)|0;f[e>>2]=k;l=k+(b<<2)|0;f[h>>2]=l;oh(k|0,0,j|0)|0;f[g>>2]=l;break}while(0);g=a+616|0;f[g>>2]=0;h=a+620|0;f[h>>2]=0;e=a+624|0;f[e>>2]=0;if(!i){l=b<<2;j=wk(l)|0;f[g>>2]=j;g=j+(b<<2)|0;f[e>>2]=g;oh(j|0,0,l|0)|0;f[h>>2]=g}g=b<<5|1;f[d>>2]=0;h=d+4|0;f[h>>2]=0;l=d+8|0;f[l>>2]=0;if(!i){j=b<<2;e=wk(j)|0;f[d>>2]=e;k=e+(b<<2)|0;f[l>>2]=k;oh(e|0,0,j|0)|0;f[h>>2]=k}fg(a+628|0,g,d);k=f[d>>2]|0;if(k|0){f[h>>2]=k;Ko(k)}f[d>>2]=0;k=d+4|0;f[k>>2]=0;h=d+8|0;f[h>>2]=0;if(!i){i=b<<2;j=wk(i)|0;f[d>>2]=j;e=j+(b<<2)|0;f[h>>2]=e;oh(j|0,0,i|0)|0;f[k>>2]=e}fg(a+640|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}f[k>>2]=g;Ko(g);u=c;return}function se(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=u;u=u+80|0;h=g;i=g+60|0;j=g+40|0;k=h;l=d;m=k+40|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));fc(a,h,i);if(f[a>>2]|0){u=g;return}h=a+4|0;n=h+11|0;if((b[n>>0]|0)<0)Ko(f[h>>2]|0);if((b[i+7>>0]|0)!=1){f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;o=wk(32)|0;f[j>>2]=o;f[j+8>>2]=-2147483616;f[j+4>>2]=20;k=o;l=11882;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[o+20>>0]=0;f[a>>2]=-1;Yi(h,j);if((b[j+11>>0]|0)<0)Ko(f[j>>2]|0);u=g;return}Zf(j,b[i+8>>0]|0);i=f[j>>2]|0;if(!i){o=j+16|0;l=f[o>>2]|0;f[o>>2]=0;Nj(a,l,c,d,e);if(!(f[a>>2]|0)){if((b[n>>0]|0)<0)Ko(f[h>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(l|0)Pa[f[(f[l>>2]|0)+4>>2]&127](l)}else{f[a>>2]=i;Yi(h,j+4|0)}h=j+16|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0)Pa[f[(f[i>>2]|0)+4>>2]&127](i);i=j+4|0;if((b[i+11>>0]|0)<0)Ko(f[i>>2]|0);u=g;return}function te(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=c+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=c+16|0;i=d;k=f[i>>2]|0;l=f[i+4>>2]|0;i=vl(k|0,l|0,4,0)|0;m=H;if((g|0)<(m|0)|(g|0)==(m|0)&e>>>0>>0){n=0;return n|0}o=f[c>>2]|0;p=o+k|0;q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;p=d;f[p>>2]=i;f[p+4>>2]=m;p=(j[c+38>>1]|0)<514;do if(p){r=vl(k|0,l|0,8,0)|0;s=H;if((g|0)<(s|0)|(g|0)==(s|0)&e>>>0>>0){n=0;return n|0}else{t=d;f[t>>2]=r;f[t+4>>2]=s;u=s;v=r;break}}else{u=m;v=i}while(0);if(!(q&1)){n=0;return n|0}i=(Z(q|0)|0)^31;if((i+-1|0)>>>0>28){n=0;return n|0}f[a+8>>2]=i+1;q=2<>2]=q+-1;i=q+-2|0;f[a+16>>2]=i;f[a+20>>2]=(i|0)/2|0;if(p){a:do if((g|0)>(u|0)|(g|0)==(u|0)&e>>>0>v>>>0){p=b[o+v>>0]|0;i=vl(v|0,u|0,1,0)|0;q=d;f[q>>2]=i;f[q+4>>2]=H;switch(p<<24>>24){case 0:{w=0;break a;break}case 1:{w=1;break a;break}default:{n=0;return n|0}}}else w=0;while(0);f[a+68>>2]=w}n=rd(a+88|0,c)|0;return n|0}function ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=a+4|0;d=f[c>>2]|0;e=d;g=f[a>>2]|0;h=g;do if((d|0)==(g|0)){i=a+8|0;j=f[i>>2]|0;k=a+12|0;l=f[k>>2]|0;m=l;if(j>>>0>>0){l=j;n=((m-l>>2)+1|0)/2|0;o=j+(n<<2)|0;p=l-e|0;l=o+(0-(p>>2)<<2)|0;if(!p){q=o;r=o}else{Rj(l|0,d|0,p|0)|0;q=l;r=(f[i>>2]|0)+(n<<2)|0}f[c>>2]=q;f[i>>2]=r;s=q;break}n=m-h|0;m=(n|0)==0?1:n>>1;n=(m+3|0)>>>2;do if(m)if(m>>>0>1073741823){l=qa(8)|0;Dm(l,13552);f[l>>2]=4908;ta(l|0,1128,105)}else{t=wk(m<<2)|0;break}else t=0;while(0);l=t;p=t+(n<<2)|0;o=p;u=t+(m<<2)|0;if((d|0)==(j|0)){v=o;w=d}else{x=((j+-4-e|0)>>>2)+n+1|0;y=p;z=d;while(1){f[y>>2]=f[z>>2];z=z+4|0;if((z|0)==(j|0))break;else y=y+4|0}v=t+(x<<2)|0;w=f[a>>2]|0}f[a>>2]=l;f[c>>2]=o;f[i>>2]=v;f[k>>2]=u;if(!w)s=p;else{Ko(w);s=f[c>>2]|0}}else s=d;while(0);f[s+-4>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+-4;return}function ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=b;Wl(a+16|0);Wl(a+36|0);Wl(a+56|0);Wl(a+76|0);e=a+96|0;f[e>>2]=0;g=a+100|0;f[g>>2]=0;h=a+104|0;f[h>>2]=0;i=(b|0)==0;do if(!i)if(b>>>0>1073741823)$n(e);else{j=b<<2;k=wk(j)|0;f[e>>2]=k;l=k+(b<<2)|0;f[h>>2]=l;oh(k|0,0,j|0)|0;f[g>>2]=l;break}while(0);g=a+108|0;f[g>>2]=0;h=a+112|0;f[h>>2]=0;e=a+116|0;f[e>>2]=0;if(!i){l=b<<2;j=wk(l)|0;f[g>>2]=j;g=j+(b<<2)|0;f[e>>2]=g;oh(j|0,0,l|0)|0;f[h>>2]=g}g=b<<5|1;f[d>>2]=0;h=d+4|0;f[h>>2]=0;l=d+8|0;f[l>>2]=0;if(!i){j=b<<2;e=wk(j)|0;f[d>>2]=e;k=e+(b<<2)|0;f[l>>2]=k;oh(e|0,0,j|0)|0;f[h>>2]=k}fg(a+120|0,g,d);k=f[d>>2]|0;if(k|0){f[h>>2]=k;Ko(k)}f[d>>2]=0;k=d+4|0;f[k>>2]=0;h=d+8|0;f[h>>2]=0;if(!i){i=b<<2;j=wk(i)|0;f[d>>2]=j;e=j+(b<<2)|0;f[h>>2]=e;oh(j|0,0,i|0)|0;f[k>>2]=e}fg(a+132|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}f[k>>2]=g;Ko(g);u=c;return}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=b;ym(a+16|0);Wl(a+32|0);Wl(a+52|0);Wl(a+72|0);e=a+92|0;f[e>>2]=0;g=a+96|0;f[g>>2]=0;h=a+100|0;f[h>>2]=0;i=(b|0)==0;do if(!i)if(b>>>0>1073741823)$n(e);else{j=b<<2;k=wk(j)|0;f[e>>2]=k;l=k+(b<<2)|0;f[h>>2]=l;oh(k|0,0,j|0)|0;f[g>>2]=l;break}while(0);g=a+104|0;f[g>>2]=0;h=a+108|0;f[h>>2]=0;e=a+112|0;f[e>>2]=0;if(!i){l=b<<2;j=wk(l)|0;f[g>>2]=j;g=j+(b<<2)|0;f[e>>2]=g;oh(j|0,0,l|0)|0;f[h>>2]=g}g=b<<5|1;f[d>>2]=0;h=d+4|0;f[h>>2]=0;l=d+8|0;f[l>>2]=0;if(!i){j=b<<2;e=wk(j)|0;f[d>>2]=e;k=e+(b<<2)|0;f[l>>2]=k;oh(e|0,0,j|0)|0;f[h>>2]=k}fg(a+116|0,g,d);k=f[d>>2]|0;if(k|0){f[h>>2]=k;Ko(k)}f[d>>2]=0;k=d+4|0;f[k>>2]=0;h=d+8|0;f[h>>2]=0;if(!i){i=b<<2;j=wk(i)|0;f[d>>2]=j;e=j+(b<<2)|0;f[h>>2]=e;oh(j|0,0,i|0)|0;f[k>>2]=e}fg(a+128|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}f[k>>2]=g;Ko(g);u=c;return}function xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;d=u;u=u+48|0;e=d+40|0;g=d+32|0;h=d+8|0;i=d;j=d+24|0;k=d+16|0;l=a+4|0;m=f[l>>2]|0;n=b;b=f[n>>2]|0;o=f[n+4>>2]|0;n=c;c=f[n>>2]|0;p=f[n+4>>2]|0;n=c-b<<3;f[l>>2]=m-o+p+n;l=(f[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((a|0)!=(o|0)){q=h;f[q>>2]=b;f[q+4>>2]=o;q=i;f[q>>2]=c;f[q+4>>2]=p;f[j>>2]=m;f[j+4>>2]=a;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];id(k,g,e,j);u=d;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=j;s=0;t=l;v=n}else{b=32-o|0;p=(j|0)<(b|0)?j:b;e=-1>>>(b-p|0)&-1<>2]=f[l>>2]&~e|f[n>>2]&e;e=p+o|0;r=j-p|0;s=e&31;t=l+(e>>>5<<2)|0;v=n+4|0}n=(r|0)/32|0;Rj(t|0,v|0,n<<2|0)|0;e=r-(n<<5)|0;r=t+(n<<2)|0;t=r;if((e|0)>0){l=-1>>>(32-e|0);f[r>>2]=f[r>>2]&~l|f[v+(n<<2)>>2]&l;w=e;x=t}else{w=s;x=t}}else{w=o;x=m}f[k>>2]=x;f[k+4>>2]=w;u=d;return}function ye(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[i>>2]|0;l=(f[j>>2]|0)-k>>2;if(h>>>0<=l>>>0)if(h>>>0>>0){f[j>>2]=k+(h<<2);m=g;n=h}else{m=g;n=h}else{Of(i,h-l|0,3328);l=f[e>>2]|0;m=l;n=f[l+80>>2]|0}l=f[m+96>>2]|0;e=(f[m+100>>2]|0)-l|0;m=(e|0)/12|0;h=l;if(!e){o=1;return o|0}e=a+80|0;a=c+68|0;c=f[d+28>>2]|0;d=0;while(1){l=d*3|0;i=f[c+(l<<2)>>2]|0;if((i|0)==-1){o=0;p=10;break}g=f[(f[e>>2]|0)+12>>2]|0;k=f[g+(i<<2)>>2]|0;if(k>>>0>=n>>>0){o=0;p=10;break}i=f[a>>2]|0;f[i+(f[h+(d*12|0)>>2]<<2)>>2]=k;k=f[c+(l+1<<2)>>2]|0;if((k|0)==-1){o=0;p=10;break}j=f[g+(k<<2)>>2]|0;if(j>>>0>=n>>>0){o=0;p=10;break}f[i+(f[h+(d*12|0)+4>>2]<<2)>>2]=j;j=f[c+(l+2<<2)>>2]|0;if((j|0)==-1){o=0;p=10;break}l=f[g+(j<<2)>>2]|0;if(l>>>0>=n>>>0){o=0;p=10;break}f[i+(f[h+(d*12|0)+8>>2]<<2)>>2]=l;d=d+1|0;if(d>>>0>=m>>>0){o=1;p=10;break}}if((p|0)==10)return o|0;return 0}function ze(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h+16|0;j=h;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ka[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=Ka[f[(f[b>>2]|0)+36>>2]&127](b)|0;m=La[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=La[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!n){f[j>>2]=f[b+44>>2];f[j+4>>2]=l;f[j+12>>2]=m;f[j+8>>2]=m+12;ic(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[j>>2]=f[b+44>>2];f[j+4>>2]=n;f[j+12>>2]=m;f[j+8>>2]=m+12;hc(a,i,c,k,e,j,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(sc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=Vc(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[g>>2]|0;while(1){a:do if(o>>>0<4194304){p=f[i>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=q<<8|(h[s+p>>0]|0);f[g>>2]=t;if(t>>>0>=4194304){r=t;break}else q=t}}else r=o;while(0);q=r&1048575;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(W(f[t+(p<<3)>>2]|0,r>>>20)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){f[e+32>>2]=a;Ko(a)}a=f[e+16>>2]|0;if(a|0){f[e+20>>2]=a;Ko(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}f[e+4>>2]=a;Ko(a);u=d;return j|0}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(vc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=Wc(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[g>>2]|0;while(1){a:do if(o>>>0<2097152){p=f[i>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=q<<8|(h[s+p>>0]|0);f[g>>2]=t;if(t>>>0>=2097152){r=t;break}else q=t}}else r=o;while(0);q=r&524287;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(W(f[t+(p<<3)>>2]|0,r>>>19)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){f[e+32>>2]=a;Ko(a)}a=f[e+16>>2]|0;if(a|0){f[e+20>>2]=a;Ko(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}f[e+4>>2]=a;Ko(a);u=d;return j|0}function Ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(wc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=Xc(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[g>>2]|0;while(1){a:do if(o>>>0<1048576){p=f[i>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=q<<8|(h[s+p>>0]|0);f[g>>2]=t;if(t>>>0>=1048576){r=t;break}else q=t}}else r=o;while(0);q=r&262143;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(W(f[t+(p<<3)>>2]|0,r>>>18)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){f[e+32>>2]=a;Ko(a)}a=f[e+16>>2]|0;if(a|0){f[e+20>>2]=a;Ko(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}f[e+4>>2]=a;Ko(a);u=d;return j|0}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(xc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=Yc(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[g>>2]|0;while(1){a:do if(o>>>0<262144){p=f[i>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=q<<8|(h[s+p>>0]|0);f[g>>2]=t;if(t>>>0>=262144){r=t;break}else q=t}}else r=o;while(0);q=r&65535;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(W(f[t+(p<<3)>>2]|0,r>>>16)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){f[e+32>>2]=a;Ko(a)}a=f[e+16>>2]|0;if(a|0){f[e+20>>2]=a;Ko(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}f[e+4>>2]=a;Ko(a);u=d;return j|0}function Ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(yc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=Zc(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[g>>2]|0;while(1){a:do if(o>>>0<131072){p=f[i>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=q<<8|(h[s+p>>0]|0);f[g>>2]=t;if(t>>>0>=131072){r=t;break}else q=t}}else r=o;while(0);q=r&32767;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(W(f[t+(p<<3)>>2]|0,r>>>15)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){f[e+32>>2]=a;Ko(a)}a=f[e+16>>2]|0;if(a|0){f[e+20>>2]=a;Ko(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}f[e+4>>2]=a;Ko(a);u=d;return j|0}function Fe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(tc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=$c(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[g>>2]|0;while(1){a:do if(o>>>0<32768){p=f[i>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=q<<8|(h[s+p>>0]|0);f[g>>2]=t;if(t>>>0>=32768){r=t;break}else q=t}}else r=o;while(0);q=r&8191;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(W(f[t+(p<<3)>>2]|0,r>>>13)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){f[e+32>>2]=a;Ko(a)}a=f[e+16>>2]|0;if(a|0){f[e+20>>2]=a;Ko(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}f[e+4>>2]=a;Ko(a);u=d;return j|0}function Ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+64|0;e=d;g=e;i=g+52|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));do if(uc(e,b)|0){g=(a|0)==0;if(!g?(f[e+12>>2]|0)==0:0){j=0;break}i=ad(e,b)|0;if(g|i^1)j=i;else{i=e+44|0;g=e+48|0;k=e+40|0;l=e+16|0;m=e+28|0;n=0;o=f[g>>2]|0;while(1){a:do if(o>>>0<16384){p=f[i>>2]|0;q=o;while(1){if((p|0)<=0){r=q;break a}s=f[k>>2]|0;p=p+-1|0;f[i>>2]=p;t=q<<8|(h[s+p>>0]|0);f[g>>2]=t;if(t>>>0>=16384){r=t;break}else q=t}}else r=o;while(0);q=r&4095;p=f[(f[l>>2]|0)+(q<<2)>>2]|0;t=f[m>>2]|0;o=(W(f[t+(p<<3)>>2]|0,r>>>12)|0)+q-(f[t+(p<<3)+4>>2]|0)|0;f[g>>2]=o;f[c+(n<<2)>>2]=p;n=n+1|0;if((n|0)==(a|0)){j=1;break}}}}else j=0;while(0);a=f[e+28>>2]|0;if(a|0){f[e+32>>2]=a;Ko(a)}a=f[e+16>>2]|0;if(a|0){f[e+20>>2]=a;Ko(a)}a=f[e>>2]|0;if(!a){u=d;return j|0}f[e+4>>2]=a;Ko(a);u=d;return j|0}function He(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a+4>>2]=f[b+4>>2];c=a+8|0;d=b+8|0;if((a|0)==(b|0))return a|0;e=b+12|0;g=f[e>>2]|0;if(!g)h=0;else{i=a+16|0;do if(g>>>0>f[i>>2]<<5>>>0){j=f[c>>2]|0;if(!j)k=g;else{Ko(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)$n(c);else{j=((k+-1|0)>>>5)+1|0;l=wk(j<<2)|0;f[c>>2]=l;f[a+12>>2]=0;f[i>>2]=j;m=f[e>>2]|0;n=l;break}}else{m=g;n=f[c>>2]|0}while(0);Rj(n|0,f[d>>2]|0,((m+-1|0)>>>5<<2)+4|0)|0;h=f[e>>2]|0}f[a+12>>2]=h;h=a+20|0;e=b+20|0;m=b+24|0;b=f[m>>2]|0;if(!b)o=0;else{d=a+28|0;do if(b>>>0>f[d>>2]<<5>>>0){n=f[h>>2]|0;if(!n)p=b;else{Ko(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)$n(h);else{n=((p+-1|0)>>>5)+1|0;c=wk(n<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[d>>2]=n;q=f[m>>2]|0;r=c;break}}else{q=b;r=f[h>>2]|0}while(0);Rj(r|0,f[e>>2]|0,((q+-1|0)>>>5<<2)+4|0)|0;o=f[m>>2]|0}f[a+24>>2]=o;return a|0}function Ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){oh(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)$n(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=qa(8)|0;Dm(d,13552);f[d>>2]=4908;ta(d|0,1128,105)}else{n=wk(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=n+(m*12|0)|0;oh(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=d;p=k;q=h;r=i}else{i=h;h=d;do{d=h;h=h+-12|0;b=i;i=i+-12|0;f[h>>2]=0;n=d+-8|0;f[n>>2]=0;g=d+-4|0;f[g>>2]=0;f[h>>2]=f[i>>2];d=b+-8|0;f[n>>2]=f[d>>2];n=b+-4|0;f[g>>2]=f[n>>2];f[n>>2]=0;f[d>>2]=0;f[i>>2]=0}while((i|0)!=(k|0));k=f[a>>2]|0;o=h;p=k;q=f[e>>2]|0;r=k}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;if((q|0)!=(p|0)){j=q;do{q=j;j=j+-12|0;c=f[j>>2]|0;if(c|0){f[q+-8>>2]=c;Ko(c)}}while((j|0)!=(p|0))}if(!r)return;Ko(r);return}function Je(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f[c>>2]=1;d=a+4|0;e=c+8|0;g=c+12|0;c=f[e>>2]|0;i=(f[g>>2]|0)-c|0;if(i>>>0<4294967292){eg(e,i+4|0,0);j=f[e>>2]|0}else j=c;c=j+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;i=a+8|0;c=a+12|0;d=f[i>>2]|0;if((f[c>>2]|0)!=(d|0)){j=0;k=d;do{d=k+(j<<2)|0;l=f[e>>2]|0;m=(f[g>>2]|0)-l|0;if(m>>>0<4294967292){eg(e,m+4|0,0);n=f[e>>2]|0}else n=l;l=n+m|0;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;j=j+1|0;k=f[i>>2]|0}while(j>>>0<(f[c>>2]|0)-k>>2>>>0)}k=a+20|0;a=f[e>>2]|0;c=(f[g>>2]|0)-a|0;if(c>>>0<4294967292){eg(e,c+4|0,0);o=f[e>>2]|0;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}else{o=a;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}}function Ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c=a+8|0;d=f[c>>2]|0;e=a+12|0;g=f[e>>2]|0;h=g;do if((d|0)==(g|0)){i=a+4|0;j=f[i>>2]|0;k=j;l=f[a>>2]|0;m=l;if(j>>>0>l>>>0){n=((k-m>>2)+1|0)/-2|0;o=j+(n<<2)|0;p=d-k|0;if(!p)q=o;else{Rj(o|0,j|0,p|0)|0;q=(f[i>>2]|0)+(n<<2)|0}n=o+(p>>2<<2)|0;f[c>>2]=n;f[i>>2]=q;r=n;break}n=h-m|0;m=(n|0)==0?1:n>>1;n=m>>>2;do if(m)if(m>>>0>1073741823){p=qa(8)|0;Dm(p,13552);f[p>>2]=4908;ta(p|0,1128,105)}else{s=wk(m<<2)|0;break}else s=0;while(0);p=s;o=s+(n<<2)|0;t=o;u=s+(m<<2)|0;if((j|0)==(d|0)){v=t;w=l}else{x=n+((d+-4-k|0)>>>2)+1|0;y=o;o=j;while(1){f[y>>2]=f[o>>2];o=o+4|0;if((o|0)==(d|0))break;else y=y+4|0}v=s+(x<<2)|0;w=f[a>>2]|0}f[a>>2]=p;f[i>>2]=t;f[c>>2]=v;f[e>>2]=u;if(!w)r=v;else{Ko(w);r=f[c>>2]|0}}else r=d;while(0);f[r>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+4;return}function Le(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;h=e;return h|0}e=b[d+11>>0]|0;i=e<<24>>24<0;j=i?f[d+4>>2]|0:e&255;e=i?f[d>>2]|0:d;d=a+4|0;a=g;while(1){g=a+16|0;i=b[g+11>>0]|0;k=i<<24>>24<0;l=k?f[a+20>>2]|0:i&255;i=l>>>0>>0;m=i?l:j;n=(m|0)==0;if(!n?(o=k?f[g>>2]|0:g,p=Fi(e,o,m)|0,(p|0)!=0):0)if((p|0)<0)q=7;else{r=o;q=11}else if(j>>>0>=l>>>0)if(n)q=12;else{r=k?f[g>>2]|0:g;q=11}else q=7;if((q|0)==7){q=0;g=f[a>>2]|0;if(!g){q=8;break}else{s=a;t=g}}else if((q|0)==11){q=0;g=Fi(r,e,m)|0;if(g)if((g|0)<0)q=14;else{q=16;break}else q=12}if((q|0)==12){q=0;if(i)q=14;else{q=16;break}}if((q|0)==14){q=0;u=a+4|0;i=f[u>>2]|0;if(!i){q=15;break}else{s=u;t=i}}d=s;a=t}if((q|0)==8){f[c>>2]=a;h=a;return h|0}else if((q|0)==15){f[c>>2]=a;h=u;return h|0}else if((q|0)==16){f[c>>2]=a;h=d;return h|0}return 0}function Me(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Wh(f[a+4>>2]|0,(f[g+56>>2]|0)-(f[g+52>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[(f[e>>2]|0)+64>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Hb(e,c)|0)){j=0;k=10;break}if(i>>>0>=h>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=0;i=h;while(1){f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(Hb(e,c)|0)){j=0;k=10;break}h=f[g>>2]|0;i=f[h>>2]|0;if(a>>>0>=(f[h+4>>2]|0)-i>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function Ne(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=c+8|0;e=f[d>>2]|0;g=f[d+4>>2]|0;d=c+16|0;i=d;k=f[i>>2]|0;l=f[i+4>>2]|0;i=vl(k|0,l|0,4,0)|0;m=H;if((g|0)<(m|0)|(g|0)==(m|0)&e>>>0>>0){n=0;return n|0}o=f[c>>2]|0;p=o+k|0;q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;p=d;f[p>>2]=i;f[p+4>>2]=m;m=vl(k|0,l|0,8,0)|0;p=H;if((g|0)<(p|0)|(g|0)==(p|0)&e>>>0>>0){n=0;return n|0}i=d;f[i>>2]=m;f[i+4>>2]=p;if(!(q&1)){n=0;return n|0}i=(Z(q|0)|0)^31;if((i+-1|0)>>>0>28){n=0;return n|0}f[a+8>>2]=i+1;q=2<>2]=q+-1;i=q+-2|0;f[a+16>>2]=i;f[a+20>>2]=(i|0)/2|0;if((j[c+38>>1]|0)<514){a:do if((g|0)>(p|0)|(g|0)==(p|0)&e>>>0>m>>>0){i=b[o+m>>0]|0;q=vl(k|0,l|0,9,0)|0;r=d;f[r>>2]=q;f[r+4>>2]=H;switch(i<<24>>24){case 0:{s=0;break a;break}case 1:{s=1;break a;break}default:{n=0;return n|0}}}else s=0;while(0);f[a+68>>2]=s}n=rd(a+88|0,c)|0;return n|0}function Oe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;Wh(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[e>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){j=1;u=b;return j|0}i=0;while(1){f[d>>2]=i*3;f[c>>2]=f[d>>2];i=i+1|0;if(!(Ib(e,c)|0)){j=0;k=10;break}if(i>>>0>=h>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){j=1;u=b;return j|0}a=0;i=h;while(1){f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];a=a+1|0;if(!(Ib(e,c)|0)){j=0;k=10;break}h=f[g>>2]|0;i=f[h>>2]|0;if(a>>>0>=(f[h+4>>2]|0)-i>>2>>>0){j=1;k=10;break}}if((k|0)==10){u=b;return j|0}}return 0}function Pe(a,b,c,d){a=a|0;b=_(b);c=_(c);d=d|0;var e=Ia,f=Ia,g=Ia,h=Ia,i=Ia,j=Ia,k=0.0,l=Ia,m=Ia,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=Ia,u=Ia,v=0,w=0;e=_(b+c);f=_(b-c);if(!(f<=_(.5))|(!(f>=_(-.5))|(!(e>=_(.5))|!(e<=_(1.5))))){do if(!(e<=_(.5))){if(e>=_(1.5)){g=_(_(1.5)-c);h=_(_(1.5)-b);break}if(!(f<=_(-.5))){g=_(c+_(.5));h=_(b+_(-.5));break}else{g=_(c+_(-.5));h=_(b+_(.5));break}}else{g=_(_(.5)-c);h=_(_(.5)-b)}while(0);i=_(h+g);j=_(g-h);k=-1.0;l=g;m=h}else{i=e;j=f;k=1.0;l=b;m=c}c=_(+l*2.0+-1.0);l=_(+m*2.0+-1.0);o=+i*2.0;p=o+-1.0;q=3.0-o;o=+j*2.0;r=o+1.0;s=1.0-o;o=s>2]=_(0.0);t=_(0.0);u=_(0.0);v=d+4|0;n[v>>2]=u;w=d+8|0;n[w>>2]=t;return}else{m=_(_(1.0)/_(K(_(i))));i=_(m*j);n[d>>2]=i;t=_(m*l);u=_(m*c);v=d+4|0;n[v>>2]=u;w=d+8|0;n[w>>2]=t;return}}function Qe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;ae(e,c);g=a+4|0;h=f[e>>2]|0;f[e>>2]=0;i=f[g>>2]|0;f[g>>2]=h;if(!i){f[e>>2]=0;j=h}else{h=f[i+76>>2]|0;if(h|0){f[i+80>>2]=h;Ko(h)}h=f[i+64>>2]|0;if(h|0){f[i+68>>2]=h;Ko(h)}h=f[i+48>>2]|0;if(h|0){f[i+52>>2]=h;Ko(h)}h=f[i+24>>2]|0;if(h|0){f[i+28>>2]=h;Ko(h)}h=f[i+12>>2]|0;if(h|0){f[i+16>>2]=h;Ko(h)}h=f[i>>2]|0;if(h|0){f[i+4>>2]=h;Ko(h)}Ko(i);i=f[e>>2]|0;f[e>>2]=0;if(i|0){h=f[i+76>>2]|0;if(h|0){f[i+80>>2]=h;Ko(h)}h=f[i+64>>2]|0;if(h|0){f[i+68>>2]=h;Ko(h)}h=f[i+48>>2]|0;if(h|0){f[i+52>>2]=h;Ko(h)}h=f[i+24>>2]|0;if(h|0){f[i+28>>2]=h;Ko(h)}h=f[i+12>>2]|0;if(h|0){f[i+16>>2]=h;Ko(h)}h=f[i>>2]|0;if(h|0){f[i+4>>2]=h;Ko(h)}Ko(i)}j=f[g>>2]|0}if(!j){k=0;u=d;return k|0}j=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[e>>0]=0;Gf(a+56|0,j,e);k=1;u=d;return k|0}function Re(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=a;j=d;while(1){if((b[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=a;r=d;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else m=16;b:do if((m|0)==6){r=c&255;if((b[k>>0]|0)==r<<24>>24)if(!l){m=16;break}else{t=k;break}q=W(e,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){d=f[s>>2]^q;if((d&-2139062144^-2139062144)&d+-16843009|0){u=g;v=s;break c}d=s+4|0;a=g+-4|0;if(a>>>0>3){s=d;g=a}else{w=d;x=a;m=11;break}}}else{w=k;x=l;m=11}while(0);if((m|0)==11)if(!x){m=16;break}else{u=x;v=w}q=v;g=u;while(1){if((b[q>>0]|0)==r<<24>>24){t=q;break b}g=g+-1|0;if(!g){m=16;break}else q=q+1|0}}while(0);if((m|0)==16)t=0;return t|0}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){oh(g|0,0,b<<2|0)|0;f[e>>2]=h+(b<<2);return}i=f[a>>2]|0;j=g-i>>2;g=j+b|0;k=i;if(g>>>0>1073741823)$n(a);l=d-i|0;d=l>>1;m=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(m)if(m>>>0>1073741823){d=qa(8)|0;Dm(d,13552);f[d>>2]=4908;ta(d|0,1128,105)}else{n=wk(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;g=n+(m<<2)|0;oh(d|0,0,b<<2|0)|0;m=d+(b<<2)|0;if((h|0)==(k|0)){o=d;p=k;q=h;r=i}else{b=j+-1-((h+-4+(0-i)|0)>>>2)|0;i=h;h=d;do{h=h+-4|0;i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[h>>2]=d}while((i|0)!=(k|0));k=f[a>>2]|0;o=n+(b<<2)|0;p=k;q=f[e>>2]|0;r=k}f[a>>2]=o;f[e>>2]=m;f[c>>2]=g;if((q|0)!=(p|0)){g=q;do{g=g+-4|0;q=f[g>>2]|0;f[g>>2]=0;if(q|0)Pa[f[(f[q>>2]|0)+4>>2]&127](q)}while((g|0)!=(p|0))}if(!r)return;Ko(r);return}function Te(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0;if((b|0)==-2)g=0;else{i=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;do if((Ka[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){ze(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);d=wk(44)|0;f[d>>2]=1536;f[d+4>>2]=i;i=d+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];f[i+16>>2]=f[e+16>>2];f[i+20>>2]=f[e+20>>2];i=d+32|0;f[i>>2]=0;c=d+36|0;f[c>>2]=0;b=d+40|0;f[b>>2]=0;j=f[e+24>>2]|0;k=(f[e+28>>2]|0)-j|0;e=k>>2;if(k|0){if(e>>>0>1073741823)$n(i);l=wk(k)|0;f[c>>2]=l;f[i>>2]=l;f[b>>2]=l+(e<<2);if((k|0)>0){Bf(l|0,j|0,k|0)|0;f[c>>2]=l+(k>>>2<<2)}}f[d>>2]=1592;g=d}f[a>>2]=g;return}function Ue(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[a+32>>2]|0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;c=vl(i|0,j|0,1,0)|0;j=g;f[j>>2]=c;f[j+4>>2]=H;j=a+48|0;c=f[j>>2]|0;f[j>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);switch(d<<24>>24){case 0:{d=wk(384)|0;Kh(d);c=f[j>>2]|0;f[j>>2]=d;if(!c)l=d;else{Pa[f[(f[c>>2]|0)+4>>2]&127](c);m=11}break}case 1:{c=wk(424)|0;bh(c);d=f[j>>2]|0;f[j>>2]=c;if(!d)l=c;else{Pa[f[(f[d>>2]|0)+4>>2]&127](d);m=11}break}case 2:{d=wk(440)|0;Gg(d);c=f[j>>2]|0;f[j>>2]=d;if(!c)l=d;else{Pa[f[(f[c>>2]|0)+4>>2]&127](c);m=11}break}default:m=11}if((m|0)==11){m=f[j>>2]|0;if(!m){k=0;return k|0}else l=m}k=La[f[(f[l>>2]|0)+8>>2]&127](l,a)|0;return k|0}function Ve(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+32|0;g=e+12|0;h=e;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Dh(c)|0;if(i>>>0>4294967279)$n(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=6}}else{m=i+16&-16;n=wk(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=6}if((l|0)==6){Bf(k|0,c|0,i|0)|0;j=k}b[j+i>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=Dh(d)|0;if(i>>>0>4294967279)$n(h);if(i>>>0<11){b[h+11>>0]=i;if(!i)o=h;else{p=h;l=12}}else{j=i+16&-16;k=wk(j)|0;f[h>>2]=k;f[h+8>>2]=j|-2147483648;f[h+4>>2]=i;p=k;l=12}if((l|0)==12){Bf(p|0,d|0,i|0)|0;o=p}b[o+i>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(o=Ed(i,g,h)|0,(o|0)!=0):0)q=Di(a,f[o+40>>2]|0)|0;else q=-1;if((b[h+11>>0]|0)<0)Ko(f[h>>2]|0);if((b[g+11>>0]|0)>=0){u=e;return q|0}Ko(f[g>>2]|0);u=e;return q|0}function We(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=b;g=c-e|0;h=g>>1;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>1>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>1;o=h>>>0>n>>>0;p=b+(n<<1)|0;n=o?p:c;q=n;r=q-e|0;if(r|0)Rj(k|0,b|0,r|0)|0;if(!o){f[m>>2]=l+(r>>1<<1);return}if((n|0)==(c|0))return;n=f[m>>2]|0;r=c+-2-q|0;q=p;p=n;while(1){d[p>>1]=d[q>>1]|0;q=q+2|0;if((q|0)==(c|0))break;else p=p+2|0}f[m>>2]=n+((r>>>1)+1<<1);return}if(!k)s=j;else{j=a+4|0;f[j>>2]=k;Ko(k);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;s=0}if((g|0)<0)$n(a);g=s>>1>>>0<1073741823?(s>>>0>>0?h:s):2147483647;if((g|0)<0)$n(a);s=wk(g<<1)|0;h=a+4|0;f[h>>2]=s;f[a>>2]=s;f[i>>2]=s+(g<<1);if((b|0)==(c|0))return;g=c+-2-e|0;e=b;b=s;while(1){d[b>>1]=d[e>>1]|0;e=e+2|0;if((e|0)==(c|0))break;else b=b+2|0}f[h>>2]=s+((g>>>1)+1<<1);return}function Xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+24|0;g=d+16|0;h=d+8|0;i=d;j=a+4|0;k=f[j>>2]|0;l=f[b>>2]|0;m=f[b+4>>2]|0;b=f[c>>2]|0;n=f[c+4>>2]|0;c=n-m+(b-l<<3)|0;f[j>>2]=c+k;j=(f[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){f[e>>2]=l;f[e+4>>2]=m;f[g>>2]=b;f[g+4>>2]=n;f[h>>2]=k;f[h+4>>2]=a;jd(i,e,g,h);u=d;return}h=l;if((c|0)>0){if(!m){o=c;p=j;q=0;r=l;s=h}else{l=32-m|0;g=(c|0)<(l|0)?c:l;e=-1>>>(l-g|0)&-1<>2]=f[j>>2]&~e|f[h>>2]&e;e=g+m|0;l=h+4|0;o=c-g|0;p=j+(e>>>5<<2)|0;q=e&31;r=l;s=l}l=(o|0)/32|0;Rj(p|0,r|0,l<<2|0)|0;r=o-(l<<5)|0;o=p+(l<<2)|0;p=o;if((r|0)>0){e=-1>>>(32-r|0);f[o>>2]=f[o>>2]&~e|f[s+(l<<2)>>2]&e;t=r;v=p}else{t=q;v=p}}else{t=m;v=k}f[i>>2]=v;f[i+4>>2]=t;u=d;return}function Ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;if(p|0)Rj(i|0,b|0,p|0)|0;if(!m){f[k>>2]=j+(p>>2<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=c+-4-o|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+((p>>>2)+1<<2);return}if(!i)q=h;else{h=a+4|0;f[h>>2]=i;Ko(i);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;q=0}if(e>>>0>1073741823)$n(a);h=q>>1;i=q>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(i>>>0>1073741823)$n(a);h=wk(i<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(i<<2);if((b|0)==(c|0))return;i=c+-4-d|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+((i>>>2)+1<<2);return}function Ze(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;f[a>>2]=1536;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];b=a+32|0;e=c+24|0;f[b>>2]=0;g=a+36|0;f[g>>2]=0;h=a+40|0;f[h>>2]=0;i=c+28|0;c=(f[i>>2]|0)-(f[e>>2]|0)|0;j=c>>2;if(c|0){if(j>>>0>1073741823)$n(b);k=wk(c)|0;f[g>>2]=k;f[b>>2]=k;f[h>>2]=k+(j<<2);j=f[e>>2]|0;e=(f[i>>2]|0)-j|0;if((e|0)>0){Bf(k|0,j|0,e|0)|0;f[g>>2]=k+(e>>>2<<2)}}f[a>>2]=2320;e=a+44|0;f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];f[e+12>>2]=f[d+12>>2];f[a>>2]=2376;e=a+60|0;f[e>>2]=2432;f[a+64>>2]=0;f[a+68>>2]=0;k=a+72|0;f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];f[k+8>>2]=f[d+8>>2];f[k+12>>2]=f[d+12>>2];f[e>>2]=2460;f[a+88>>2]=1;e=a+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;ym(a+108|0);return}function _e(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;f[a>>2]=1536;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];b=a+32|0;e=c+24|0;f[b>>2]=0;g=a+36|0;f[g>>2]=0;h=a+40|0;f[h>>2]=0;i=c+28|0;c=(f[i>>2]|0)-(f[e>>2]|0)|0;j=c>>2;if(c|0){if(j>>>0>1073741823)$n(b);k=wk(c)|0;f[g>>2]=k;f[b>>2]=k;f[h>>2]=k+(j<<2);j=f[e>>2]|0;e=(f[i>>2]|0)-j|0;if((e|0)>0){Bf(k|0,j|0,e|0)|0;f[g>>2]=k+(e>>>2<<2)}}f[a>>2]=1872;e=a+44|0;f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];f[e+12>>2]=f[d+12>>2];f[a>>2]=1928;e=a+60|0;f[e>>2]=1984;f[a+64>>2]=0;f[a+68>>2]=0;k=a+72|0;f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];f[k+8>>2]=f[d+8>>2];f[k+12>>2]=f[d+12>>2];f[e>>2]=2012;f[a+88>>2]=1;e=a+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;ym(a+108|0);return}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;d=a+8|0;f[d>>2]=0;e=a+16|0;f[e>>2]=0;g=a+20|0;f[g>>2]=0;h=a+24|0;f[h>>2]=0;i=b+4|0;j=(f[i>>2]|0)-(f[b>>2]|0)|0;k=(j|0)/20|0;if(j|0){if(k>>>0>214748364)$n(e);l=wk(j)|0;f[g>>2]=l;f[e>>2]=l;f[h>>2]=l+(k*20|0);k=f[b>>2]|0;b=(f[i>>2]|0)-k|0;if((b|0)>0){Bf(l|0,k|0,b|0)|0;k=l+(((b>>>0)/20|0)*20|0)|0;f[g>>2]=k;f[a+28>>2]=0;if((k|0)==(l|0)){m=0;n=a+12|0;f[n>>2]=m;return}g=(k-l|0)/20|0;k=0;b=0;do{i=W(f[l+(k*20|0)+16>>2]|0,f[l+(k*20|0)+12>>2]|0)|0;b=b>>>0>>0?i:b;k=k+1|0}while(k>>>0>>0);if(!b){m=0;n=a+12|0;f[n>>2]=m;return}if((b|0)<0)$n(a);g=wk(b)|0;oh(g|0,0,b|0)|0;k=g+b|0;b=g;f[a>>2]=b;f[c>>2]=k;f[d>>2]=k;m=b;n=a+12|0;f[n>>2]=m;return}}f[a+28>>2]=0;m=0;n=a+12|0;f[n>>2]=m;return}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[b>>2]|0;do if((c|0)!=-1){b=f[(f[(f[a+4>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;e=((d>>>0)%3|0|0)==0?c+-2|0:d;if((e|0)==-1)g=-1;else{d=(e|0)/3|0;g=f[(f[(f[a>>2]|0)+96>>2]|0)+(d*12|0)+(e-(d*3|0)<<2)>>2]|0}if((b|0)!=-1){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)==-1){h=-1;i=b;j=0}else{e=(d|0)/3|0;h=f[(f[(f[a>>2]|0)+96>>2]|0)+(e*12|0)+(d-(e*3|0)<<2)>>2]|0;i=b;j=0}}else{h=-1;i=-1;j=1}if((g|0)!=(h|0)){k=-1;return k|0}b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)==-1)if(j){l=-1;m=-1;n=i;break}else o=-1;else{e=(b|0)/3|0;d=f[(f[(f[a>>2]|0)+96>>2]|0)+(e*12|0)+(b-(e*3|0)<<2)>>2]|0;if(j){l=-1;m=d;n=i;break}else o=d}d=i+1|0;e=((d>>>0)%3|0|0)==0?i+-2|0:d;if((e|0)==-1){l=-1;m=o;n=i}else{d=(e|0)/3|0;l=f[(f[(f[a>>2]|0)+96>>2]|0)+(d*12|0)+(e-(d*3|0)<<2)>>2]|0;m=o;n=i}}else{l=-1;m=-1;n=-1}while(0);k=(m|0)==(l|0)?n:-1;return k|0}function bf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=wk(64)|0;g=wk(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[g+4>>2]=0;f[g>>2]=3584;f[g+8>>2]=h;f[d>>2]=g;Zi(e,d);g=e;if((b|0)>=0){h=a+8|0;i=a+12|0;a=f[i>>2]|0;j=f[h>>2]|0;k=a-j>>2;do if((k|0)<=(b|0)){l=b+1|0;m=a;if(l>>>0>k>>>0){Se(h,l-k|0);break}if(l>>>0>>0){n=j+(l<<2)|0;if((n|0)!=(m|0)){l=m;do{l=l+-4|0;m=f[l>>2]|0;f[l>>2]=0;if(m|0)Pa[f[(f[m>>2]|0)+4>>2]&127](m)}while((l|0)!=(n|0))}f[i>>2]=n}}while(0);i=(f[h>>2]|0)+(b<<2)|0;b=f[i>>2]|0;f[i>>2]=g;if(!b)o=1;else{Pa[f[(f[b>>2]|0)+4>>2]&127](b);o=1}}else{Pa[f[(f[e>>2]|0)+4>>2]&127](e);o=0}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return o|0}Pa[f[(f[e>>2]|0)+4>>2]&127](e);u=c;return o|0}function cf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;e=f[a>>2]|0;g=((f[d>>2]|0)-e|0)/12|0;h=g+1|0;if(h>>>0>357913941)$n(a);i=a+8|0;j=((f[i>>2]|0)-e|0)/12|0;e=j<<1;k=j>>>0<178956970?(e>>>0>>0?h:e):357913941;do if(k)if(k>>>0>357913941){e=qa(8)|0;Dm(e,13552);f[e>>2]=4908;ta(e|0,1128,105)}else{l=wk(k*12|0)|0;break}else l=0;while(0);e=l+(g*12|0)|0;g=l+(k*12|0)|0;Yi(e,c);c=e+12|0;k=f[a>>2]|0;l=f[d>>2]|0;if((l|0)==(k|0)){m=e;n=k;o=k}else{h=l;l=e;do{l=l+-12|0;h=h+-12|0;f[l>>2]=f[h>>2];f[l+4>>2]=f[h+4>>2];f[l+8>>2]=f[h+8>>2];f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0}while((h|0)!=(k|0));m=l;n=f[a>>2]|0;o=f[d>>2]|0}f[a>>2]=m;f[d>>2]=c;f[i>>2]=g;g=n;if((o|0)!=(g|0)){i=o;do{i=i+-12|0;if((b[i+11>>0]|0)<0)Ko(f[i>>2]|0)}while((i|0)!=(g|0))}if(!n)return;Ko(n);return}function df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0>j-k>>2>>>0){if(!k)m=j;else{j=a+4|0;f[j>>2]=k;Ko(k);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;m=0}if(h>>>0>1073741823)$n(a);j=m>>1;n=m>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)$n(a);j=wk(n<<2)|0;m=a+4|0;f[m>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;Bf(j|0,b|0,g|0)|0;f[m>>2]=j+(g>>>2<<2);return}g=a+4|0;a=f[g>>2]|0;j=a-k>>2;k=h>>>0>j>>>0;h=k?b+(j<<2)|0:c;c=a;if((h|0)==(b|0))o=l;else{a=h+-4-e|0;e=b;b=l;while(1){f[b>>2]=f[e>>2];e=e+4|0;if((e|0)==(h|0))break;else b=b+4|0}o=l+((a>>>2)+1<<2)|0}if(!k){f[g>>2]=o;return}o=d-h|0;if((o|0)<=0)return;Bf(c|0,h|0,o|0)|0;f[g>>2]=(f[g>>2]|0)+(o>>>2<<2);return}function ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)$n(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=qa(8)|0;Dm(d,13552);f[d>>2]=4908;ta(d|0,1128,105)}else{k=wk(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;i=b;l=f[c>>2]|0;if((l|0)==(b|0)){m=d;n=i;o=b}else{p=e+-1-((l+-4-i|0)>>>2)|0;i=l;l=d;do{l=l+-4|0;i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[l>>2]=d}while((i|0)!=(b|0));m=k+(p<<2)|0;n=f[a>>2]|0;o=f[c>>2]|0}f[a>>2]=m;f[c>>2]=j;f[h>>2]=g;g=n;if((o|0)!=(g|0)){h=o;do{h=h+-4|0;o=f[h>>2]|0;f[h>>2]=0;if(o|0){eh(o);Ko(o)}}while((h|0)!=(g|0))}if(!n)return;Ko(n);return}function ff(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;do if(!(en(a,f[c+8>>2]|0,g)|0)){if(!(en(a,f[c>>2]|0,g)|0)){h=f[a+8>>2]|0;Ta[f[(f[h>>2]|0)+24>>2]&3](h,c,d,e,g);break}if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;i=c+44|0;if((f[i>>2]|0)==4)break;j=c+52|0;b[j>>0]=0;k=c+53|0;b[k>>0]=0;l=f[a+8>>2]|0;Ua[f[(f[l>>2]|0)+20>>2]&3](l,c,d,d,1,g);if(b[k>>0]|0)if(!(b[j>>0]|0)){m=1;n=11}else n=15;else{m=0;n=11}do if((n|0)==11){f[h>>2]=d;j=c+40|0;f[j>>2]=(f[j>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;if(m){n=15;break}else{o=4;break}}if(m)n=15;else o=4}while(0);if((n|0)==15)o=3;f[i>>2]=o;break}if((e|0)==1)f[c+32>>2]=1}else nk(0,c,d,e);while(0);return}function gf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=f[a>>2]|0;f[a+4>>2]=c;d=a+16|0;f[d>>2]=0;e=a+12|0;f[e>>2]=c;c=b+8|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=b+16|0;k=g;l=f[k>>2]|0;m=vl(l|0,f[k+4>>2]|0,4,0)|0;k=H;if((j|0)<(k|0)|(j|0)==(k|0)&i>>>0>>0){n=0;return n|0}o=(f[b>>2]|0)+l|0;l=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;o=g;f[o>>2]=m;f[o+4>>2]=k;if(!((l|0)!=0&(l&3|0)==0)){n=0;return n|0}o=wl(i|0,j|0,m|0,k|0)|0;p=H;if((p|0)<0|(p|0)==0&o>>>0>>0){n=0;return n|0}o=l>>>2;if(!o){q=m;r=k;s=j;t=i}else{Eg(a,o);o=c;c=g;q=f[c>>2]|0;r=f[c+4>>2]|0;s=f[o+4>>2]|0;t=f[o>>2]|0}o=vl(q|0,r|0,l|0,0)|0;r=H;if((s|0)<(r|0)|(s|0)==(r|0)&t>>>0>>0){n=0;return n|0}Bf(f[a>>2]|0,(f[b>>2]|0)+q|0,l|0)|0;q=g;b=vl(f[q>>2]|0,f[q+4>>2]|0,l|0,0)|0;l=g;f[l>>2]=b;f[l+4>>2]=H;f[e>>2]=f[a>>2];f[d>>2]=0;n=1;return n|0}function hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=Ol(ya(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=2;m=b;n=h;o=j;while(1){if((o|0)<0)break;m=m-o|0;p=f[n+4>>2]|0;q=o>>>0>p>>>0;r=q?n+8|0:n;s=g+(q<<31>>31)|0;t=o-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;o=Ol(ya(146,e|0)|0)|0;if((m|0)==(o|0)){v=3;break a}else{g=s;n=r}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((g|0)==2)w=0;else w=c-(f[n+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);a=v;f[i>>2]=a;f[k>>2]=a;w=c}u=d;return w|0}function jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+16|0;d=c;e=a+76|0;g=f[e>>2]|0;f[e>>2]=0;f[a+80>>2]=0;f[a+84>>2]=0;if(g|0)Ko(g);g=a+64|0;e=f[g>>2]|0;f[g>>2]=0;f[a+68>>2]=0;f[a+72>>2]=0;if(e|0)Ko(e);e=b+4|0;g=f[e>>2]|0;h=f[b>>2]|0;i=((g-h|0)/12|0)*3|0;j=a+4|0;k=f[a>>2]|0;l=(f[j>>2]|0)-k>>2;m=h;if(i>>>0<=l>>>0)if(i>>>0>>0){f[j>>2]=k+(i<<2);n=g;o=h;p=m}else{n=g;o=h;p=m}else{Eg(a,i-l|0);l=f[b>>2]|0;n=f[e>>2]|0;o=l;p=l}if((n|0)!=(o|0)){o=f[a>>2]|0;l=(n-p|0)/12|0;n=0;do{e=n*3|0;f[o+(e<<2)>>2]=f[p+(n*12|0)>>2];f[o+(e+1<<2)>>2]=f[p+(n*12|0)+4>>2];f[o+(e+2<<2)>>2]=f[p+(n*12|0)+8>>2];n=n+1|0}while(n>>>0>>0)}f[d>>2]=-1;if(!(Ub(a,d)|0)){q=0;u=c;return q|0}yb(a,f[d>>2]|0)|0;q=1;u=c;return q|0}function kf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if(((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(f[(f[d>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0:0)?(j=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if(((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(f[(f[d>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)==0:0)?(k=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if((((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(f[(f[d>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0:0)?(h=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){i=b;j=h;do{f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];f[j+8>>2]=f[c+8>>2];j=(f[g>>2]|0)+12|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/12|0;h=j+b|0;if(h>>>0>357913941)$n(a);k=(e-i|0)/12|0;i=k<<1;e=k>>>0<178956970?(i>>>0>>0?h:i):357913941;do if(e)if(e>>>0>357913941){i=qa(8)|0;Dm(i,13552);f[i>>2]=4908;ta(i|0,1128,105)}else{l=wk(e*12|0)|0;break}else l=0;while(0);i=l+(j*12|0)|0;j=l+(e*12|0)|0;e=b;b=i;while(1){f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];e=e+-1|0;if(!e)break;else b=b+12|0}b=f[a>>2]|0;e=(f[g>>2]|0)-b|0;c=i+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Bf(c|0,b|0,e|0)|0;f[a>>2]=c;f[g>>2]=l+(h*12|0);f[d>>2]=j;if(!b)return;Ko(b);return}function mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];He(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{df(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);df(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);df(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Df(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;if(e-g>>2>>>0>>0){if(!g)i=e;else{e=a+4|0;f[e>>2]=g;Ko(g);f[d>>2]=0;f[e>>2]=0;f[a>>2]=0;i=0}if(b>>>0>1073741823)$n(a);e=i>>1;j=i>>2>>>0<536870911?(e>>>0>>0?b:e):1073741823;if(j>>>0>1073741823)$n(a);e=wk(j<<2)|0;i=a+4|0;f[i>>2]=e;f[a>>2]=e;f[d>>2]=e+(j<<2);j=b;d=e;while(1){f[d>>2]=f[c>>2];j=j+-1|0;if(!j)break;else d=d+4|0}k=i;l=e+(b<<2)|0;f[k>>2]=l;return}else{e=a+4|0;a=f[e>>2]|0;i=a-g>>2;g=i>>>0>>0;d=g?i:b;j=a;if(d|0){a=d;d=h;while(1){f[d>>2]=f[c>>2];a=a+-1|0;if(!a)break;else d=d+4|0}}if(!g){k=e;l=h+(b<<2)|0;f[k>>2]=l;return}h=b-i|0;i=h;b=j;while(1){f[b>>2]=f[c>>2];i=i+-1|0;if(!i)break;else b=b+4|0}k=e;l=j+(h<<2)|0;f[k>>2]=l;return}}function of(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=a+20|0;if(Ec(e,c)|0){g=0;return g|0}a=Wb(e,c)|0;c=f[d>>2]|0;f[d>>2]=0;d=f[a>>2]|0;f[a>>2]=c;if(!d){g=1;return g|0}c=f[d+28>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;Dg(c+8|0);Ko(c)}while((a|0)!=0)}a=d+20|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Ko(c);c=f[d+8>>2]|0;if(c|0){a=c;do{c=a;a=f[a>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){f[c+24>>2]=h;Ko(h)}if((b[e+11>>0]|0)<0)Ko(f[e>>2]|0);Ko(c)}while((a|0)!=0)}a=f[d>>2]|0;f[d>>2]=0;if(a|0)Ko(a);Ko(d);g=1;return g|0}function pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=f[c>>2]|0;c=f[a>>2]|0;e=c+(d>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(d&31);e=f[a+64>>2]|0;g=(d|0)==-1;h=d+1|0;if(!g?(i=((h>>>0)%3|0|0)==0?d+-2|0:h,(i|0)!=-1):0)j=f[(f[e>>2]|0)+(i<<2)>>2]|0;else j=-1;i=f[a+12>>2]|0;h=i+(j>>>5<<2)|0;f[h>>2]=f[h>>2]|1<<(j&31);if(g){g=i+536870908|0;k=g;l=f[g>>2]|0;m=-2147483648}else{g=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((g|0)==-1)n=-1;else n=f[(f[e>>2]|0)+(g<<2)>>2]|0;g=i+(n>>>5<<2)|0;f[g>>2]=1<<(n&31)|f[g>>2];g=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((g|0)==-1)return;b[a+24>>0]=0;a=c+(g>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(g&31);a=g+1|0;c=((a>>>0)%3|0|0)==0?g+-2|0:a;if((c|0)==-1)o=-1;else o=f[(f[e>>2]|0)+(c<<2)>>2]|0;c=i+(o>>>5<<2)|0;f[c>>2]=1<<(o&31)|f[c>>2];c=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)==-1)p=-1;else p=f[(f[e>>2]|0)+(c<<2)>>2]|0;c=i+(p>>>5<<2)|0;k=c;l=1<<(p&31);m=f[c>>2]|0}f[k>>2]=l|m;return}function qf(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=a+172|0;d=f[c>>2]|0;do if((d|0)==-1){e=f[a+144>>2]|0;g=Ka[f[(f[e>>2]|0)+32>>2]&127](e)|0;if(((h[g+36>>0]<<8|h[g+37>>0])&65535)<514)if(b[a+76>>0]|0){g=a+72|0;e=f[g>>2]|0;i=f[a+64>>2]|0;j=f[a+68>>2]|0;k=i+(e>>>3)|0;if(k>>>0>>0?(l=h[k>>0]|0,k=e+1|0,f[g>>2]=k,(1<<(e&7)&l|0)!=0):0){l=i+(k>>>3)|0;if(l>>>0>>0){m=(h[l>>0]|0)>>>(k&7)&1;n=e+2|0;f[g>>2]=n;o=m;p=i+(n>>>3)|0;q=n}else{o=0;p=l;q=k}if(p>>>0>>0){j=(h[p>>0]|0)>>>(q&7);f[g>>2]=q+1;r=j<<1&2}else r=0;s=(r|o)<<1|1}else s=0}else s=1;else s=7}else{j=(f[a+196>>2]|0)+(d<<2)|0;g=f[j>>2]|0;k=g+-1|0;f[j>>2]=k;if((g|0)<1){t=9;return t|0}else{s=f[3496+(f[(f[(f[a+184>>2]|0)+((f[c>>2]|0)*12|0)>>2]|0)+(k<<2)>>2]<<2)>>2]|0;break}}while(0);f[a+168>>2]=s;t=s;return t|0}function rf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0<=(i-j|0)>>>0){l=a+4|0;m=(f[l>>2]|0)-j|0;n=g>>>0>m>>>0;o=c+m|0;m=n?o:d;p=m-e|0;if(p|0)Rj(k|0,c|0,p|0)|0;if(!n){f[l>>2]=k+p;return}if((m|0)==(d|0))return;m=o;o=f[l>>2]|0;do{b[o>>0]=b[m>>0]|0;m=m+1|0;o=(f[l>>2]|0)+1|0;f[l>>2]=o}while((m|0)!=(d|0));return}if(!j)q=i;else{i=a+4|0;f[i>>2]=j;Ko(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;q=0}if((g|0)<0)$n(a);i=q<<1;k=q>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((k|0)<0)$n(a);i=wk(k)|0;g=a+4|0;f[g>>2]=i;f[a>>2]=i;f[h>>2]=i+k;if((c|0)==(d|0))return;k=c;c=i;do{b[c>>0]=b[k>>0]|0;k=k+1|0;c=(f[g>>2]|0)+1|0;f[g>>2]=c}while((k|0)!=(d|0));return}function sf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=e>>>0>1073741823?-1:e<<2;l=Ho(k)|0;oh(l|0,0,k|0)|0;k=a+8|0;a=f[l+4>>2]|0;m=f[b>>2]|0;n=f[b+4>>2]|0;f[i>>2]=f[l>>2];f[i+4>>2]=a;f[j>>2]=m;f[j+4>>2]=n;Cc(h,k,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];if((e|0)>=(d|0)){Io(l);u=g;return 1}n=0-e|0;m=i+4|0;a=j+4|0;o=h+4|0;p=e;do{q=c+(p<<2)|0;r=q+(n<<2)|0;s=b+(p<<2)|0;t=f[r+4>>2]|0;v=f[s>>2]|0;w=f[s+4>>2]|0;f[i>>2]=f[r>>2];f[m>>2]=t;f[j>>2]=v;f[a>>2]=w;Cc(h,k,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[o>>2];p=p+e|0}while((p|0)<(d|0));Io(l);u=g;return 1}function tf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;f[a>>2]=1536;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];b=a+32|0;e=c+24|0;f[b>>2]=0;g=a+36|0;f[g>>2]=0;h=a+40|0;f[h>>2]=0;i=c+28|0;c=(f[i>>2]|0)-(f[e>>2]|0)|0;j=c>>2;if(c|0){if(j>>>0>1073741823)$n(b);k=wk(c)|0;f[g>>2]=k;f[b>>2]=k;f[h>>2]=k+(j<<2);j=f[e>>2]|0;e=(f[i>>2]|0)-j|0;if((e|0)>0){Bf(k|0,j|0,e|0)|0;f[g>>2]=k+(e>>>2<<2)}}f[a>>2]=2320;e=a+44|0;f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];f[e+12>>2]=f[d+12>>2];f[a>>2]=2488;f[a+60>>2]=0;f[a+64>>2]=0;f[a+76>>2]=0;f[a+80>>2]=0;f[a+84>>2]=0;e=a+88|0;f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];f[e+12>>2]=f[d+12>>2];return}function uf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;f[a>>2]=1536;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];b=a+32|0;e=c+24|0;f[b>>2]=0;g=a+36|0;f[g>>2]=0;h=a+40|0;f[h>>2]=0;i=c+28|0;c=(f[i>>2]|0)-(f[e>>2]|0)|0;j=c>>2;if(c|0){if(j>>>0>1073741823)$n(b);k=wk(c)|0;f[g>>2]=k;f[b>>2]=k;f[h>>2]=k+(j<<2);j=f[e>>2]|0;e=(f[i>>2]|0)-j|0;if((e|0)>0){Bf(k|0,j|0,e|0)|0;f[g>>2]=k+(e>>>2<<2)}}f[a>>2]=1872;e=a+44|0;f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];f[e+12>>2]=f[d+12>>2];f[a>>2]=2040;f[a+60>>2]=0;f[a+64>>2]=0;f[a+76>>2]=0;f[a+80>>2]=0;f[a+84>>2]=0;e=a+88|0;f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];f[e+12>>2]=f[d+12>>2];return}function vf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0;do if(c){if((j[a+38>>1]|0)>=514){if(ah(d,a)|0)break;else e=0;return e|0}g=a+8|0;i=f[g>>2]|0;k=f[g+4>>2]|0;g=a+16|0;l=g;m=f[l>>2]|0;n=vl(m|0,f[l+4>>2]|0,8,0)|0;l=H;if((k|0)<(l|0)|(k|0)==(l|0)&i>>>0>>0){e=0;return e|0}else{n=(f[a>>2]|0)+m|0;m=n;i=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=n+4|0;n=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=d;l=m;b[l>>0]=i;b[l+1>>0]=i>>8;b[l+2>>0]=i>>16;b[l+3>>0]=i>>24;i=m+4|0;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;n=g;i=vl(f[n>>2]|0,f[n+4>>2]|0,8,0)|0;n=g;f[n>>2]=i;f[n+4>>2]=H;break}}while(0);b[a+36>>0]=1;d=a+16|0;c=f[d>>2]|0;n=(f[a>>2]|0)+c|0;i=a+8|0;g=wl(f[i>>2]|0,f[i+4>>2]|0,c|0,f[d+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=n;f[a+28>>2]=n+g;e=1;return e|0}function wf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=e>>>0>1073741823?-1:e<<2;l=Ho(k)|0;oh(l|0,0,k|0)|0;k=a+8|0;a=f[l>>2]|0;m=f[l+4>>2]|0;n=f[b+4>>2]|0;f[h>>2]=f[b>>2];f[h+4>>2]=n;f[j>>2]=a;f[j+4>>2]=m;gd(i,k,j,h);f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];if((e|0)>=(d|0)){Io(l);u=g;return 1}m=0-e|0;a=h+4|0;n=j+4|0;o=i+4|0;p=e;do{q=c+(p<<2)|0;r=q+(m<<2)|0;s=b+(p<<2)|0;t=f[r>>2]|0;v=f[r+4>>2]|0;r=f[s+4>>2]|0;f[h>>2]=f[s>>2];f[a>>2]=r;f[j>>2]=t;f[n>>2]=v;gd(i,k,j,h);f[q>>2]=f[i>>2];f[q+4>>2]=f[o>>2];p=p+e|0}while((p|0)<(d|0));Io(l);u=g;return 1}function xf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(c>>>0>4294967279)$n(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=0;m=j;n=a;o=13}else{um(a,j,(e&255)+1|0)|0;Ko(j);o=16}}else{j=k+1|0;p=wk(j)|0;if(g){l=1;m=f[a>>2]|0;n=p;o=13;break}else{um(p,a,(e&255)+1|0)|0;q=p;r=j;s=a+4|0;o=15;break}}while(0);if((o|0)==13){j=a+4|0;um(n,m,(f[j>>2]|0)+1|0)|0;Ko(m);if(l){q=n;r=k+1|0;s=j;o=15}else o=16}if((o|0)==15){f[a+8>>2]=r|-2147483648;f[s>>2]=h;f[a>>2]=q;break}else if((o|0)==16){b[d>>0]=h;break}}while(0);return}function yf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((e|0)<0){g=0;return g|0}a:do if(!c){e=a+4|0;h=f[e>>2]|0;i=f[a>>2]|0;j=h-i|0;k=i;if(j>>>0>=d>>>0){if(j>>>0<=d>>>0)break;f[e>>2]=k+d;break}l=d-j|0;m=a+8|0;n=f[m>>2]|0;if((n-h|0)>>>0>=l>>>0){o=l;p=h;while(1){b[p>>0]=0;p=(f[e>>2]|0)+1|0;f[e>>2]=p;o=o+-1|0;if(!o)break a}}if((d|0)<0)$n(a);o=n-i|0;p=o<<1;h=o>>>0<1073741823?(p>>>0>>0?d:p):2147483647;if(!h)q=0;else q=wk(h)|0;oh(q+j|0,0,l|0)|0;if((j|0)>0)Bf(q|0,k|0,j|0)|0;f[a>>2]=q;f[e>>2]=q+d;f[m>>2]=q+h;if(i|0)Ko(k)}else rf(a,c,c+d|0);while(0);d=a+24|0;a=d;c=vl(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=d;f[a>>2]=c;f[a+4>>2]=H;g=1;return g|0}function zf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+32|0;e=d+16|0;g=d;switch(c<<24>>24){case 0:{c=wk(44)|0;h=c;i=h+44|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));Qj(c);f[c>>2]=3696;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}case 1:{c=wk(44)|0;h=c;i=h+44|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));Qj(c);f[c>>2]=3652;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}default:{c=wk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;j=11853;i=h+28|0;do{b[h>>0]=b[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(i|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;Yi(c,g);f[a>>2]=f[e>>2];Yi(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)Ko(f[c>>2]|0);if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);u=d;return}}}function Af(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+16|0;e=d+8|0;g=d+4|0;h=d;if(!c){i=0;u=d;return i|0}f[a>>2]=b;f[e>>2]=0;zh(e,b)|0;a:do if(!(f[e>>2]|0))j=8;else{b=0;while(1){zh(g,f[a>>2]|0)|0;k=wk(44)|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=1065353216;l=k+20|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[k+36>>2]=1065353216;f[k+40>>2]=f[g>>2];if(!(Mc(a,k)|0))break;f[h>>2]=k;bi(c,h)|0;l=f[h>>2]|0;f[h>>2]=0;if(l|0){eh(l);Ko(l)}b=b+1|0;if(b>>>0>=(f[e>>2]|0)>>>0){j=8;break a}}eh(k);Ko(k);m=0}while(0);if((j|0)==8)m=Mc(a,c)|0;i=m;u=d;return i|0}function Bf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Ca(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function Cf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+132|0;c=f[b>>2]|0;if(c|0){d=a+136|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;do{e=h;h=h+-12|0;i=f[h>>2]|0;if(i|0){f[e+-8>>2]=i;Ko(i)}}while((h|0)!=(c|0));g=f[b>>2]|0}f[d>>2]=c;Ko(g)}g=a+120|0;c=f[g>>2]|0;if(c|0){d=a+124|0;b=f[d>>2]|0;if((b|0)==(c|0))j=c;else{h=b;do{b=h;h=h+-12|0;i=f[h>>2]|0;if(i|0){f[b+-8>>2]=i;Ko(i)}}while((h|0)!=(c|0));j=f[g>>2]|0}f[d>>2]=c;Ko(j)}j=f[a+108>>2]|0;if(j|0){f[a+112>>2]=j;Ko(j)}j=f[a+96>>2]|0;if(!j){k=a+76|0;zk(k);l=a+56|0;zk(l);m=a+36|0;zk(m);n=a+16|0;zk(n);return}f[a+100>>2]=j;Ko(j);k=a+76|0;zk(k);l=a+56|0;zk(l);m=a+36|0;zk(m);n=a+16|0;zk(n);return}function Df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;if(n|0)Rj(k|0,b|0,n|0)|0;if(!o){f[m>>2]=l+(n>>2<<2);return}n=d-c|0;if((n|0)<=0)return;Bf(f[m>>2]|0,p|0,n|0)|0;f[m>>2]=(f[m>>2]|0)+(n>>>2<<2);return}if(!k)q=j;else{j=a+4|0;f[j>>2]=k;Ko(k);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)$n(a);j=q>>1;k=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(k>>>0>1073741823)$n(a);j=wk(k<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(k<<2);if((g|0)<=0)return;Bf(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function Ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[e>>2]=b;g=a+8|0;if(((f[a+12>>2]|0)-(f[g>>2]|0)>>2|0)<=(b|0))xg(g,b+1|0);h=f[(f[c>>2]|0)+56>>2]|0;do if((h|0)<5){i=a+20+(h*12|0)+4|0;j=f[i>>2]|0;if((j|0)==(f[a+20+(h*12|0)+8>>2]|0)){Ng(a+20+(h*12|0)|0,e);break}else{f[j>>2]=b;f[i>>2]=j+4;break}}while(0);b=f[c>>2]|0;h=f[e>>2]|0;f[b+60>>2]=h;e=(f[g>>2]|0)+(h<<2)|0;f[c>>2]=0;c=f[e>>2]|0;f[e>>2]=b;if(!c){u=d;return}b=c+88|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=f[e+8>>2]|0;if(b|0){f[e+12>>2]=b;Ko(b)}Ko(e)}e=f[c+68>>2]|0;if(e|0){f[c+72>>2]=e;Ko(e)}e=c+64|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0){e=f[b>>2]|0;if(e|0){f[b+4>>2]=e;Ko(e)}Ko(b)}Ko(c);u=d;return}function Ff(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e+12|0;h=e+8|0;i=e;f[i>>2]=f[b>>2];f[g>>2]=f[i>>2];i=Ac(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=wk(40)|0;Yi(c+16|0,d);Yi(c+28|0,d+12|0);d=f[h>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=d;f[i>>2]=c;d=f[f[a>>2]>>2]|0;if(!d)k=c;else{f[a>>2]=d;k=f[i>>2]|0}vd(f[a+4>>2]|0,k);k=a+8|0;f[k>>2]=(f[k>>2]|0)+1;j=c;u=e;return j|0}function Gf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=a+4|0;f[h>>2]=0;if(!c){u=e;return}i=a+8|0;j=f[i>>2]|0;k=j<<5;if(k>>>0>>0){f[g>>2]=0;l=g+4|0;f[l>>2]=0;m=g+8|0;f[m>>2]=0;if((c|0)<0)$n(a);n=j<<6;j=c+31&-32;vg(g,k>>>0<1073741823?(n>>>0>>0?j:n):2147483647);n=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=n;g=f[h>>2]|0;f[h>>2]=c;f[l>>2]=g;g=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=g;if(n|0)Ko(n);o=a}else{f[h>>2]=c;o=a}a=f[o>>2]|0;o=a;h=a;a=c>>>5;n=a<<2;if(!(b[d>>0]|0)){oh(h|0,0,n|0)|0;d=c&31;g=o+(a<<2)|0;if(!d){u=e;return}f[g>>2]=f[g>>2]&~(-1>>>(32-d|0));u=e;return}else{oh(h|0,-1,n|0)|0;n=c&31;c=o+(a<<2)|0;if(!n){u=e;return}f[c>>2]=f[c>>2]|-1>>>(32-n|0);u=e;return}}function Hf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=vl(i|0,j|0,4,0)|0;k=H;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=f[b>>2]|0;b=m+i|0;n=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;b=c;f[b>>2]=g;f[b+4>>2]=k;k=vl(i|0,j|0,8,0)|0;j=H;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=m+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=k;f[d+4>>2]=j;if((n|0)>(g|0)){l=0;return l|0}f[a+12>>2]=n;f[a+16>>2]=g;j=wl(g|0,((g|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=H;if(!(n>>>0<0|(n|0)==0&j>>>0<2147483647)){l=0;return l|0}n=j+1|0;f[a+20>>2]=n;j=(n|0)/2|0;g=a+24|0;f[g>>2]=j;f[a+28>>2]=0-j;if(n&1|0){l=1;return l|0}f[g>>2]=j+-1;l=1;return l|0}function If(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/12|0;h=g+1|0;i=e;j=d;if(h>>>0>357913941)$n(a);d=a+8|0;k=((f[d>>2]|0)-e|0)/12|0;l=k<<1;m=k>>>0<178956970?(l>>>0>>0?h:l):357913941;do if(m)if(m>>>0>357913941){l=qa(8)|0;Dm(l,13552);f[l>>2]=4908;ta(l|0,1128,105)}else{n=wk(m*12|0)|0;break}else n=0;while(0);l=n+(g*12|0)|0;h=n+(m*12|0)|0;f[l>>2]=f[b>>2];f[n+(g*12|0)+4>>2]=f[b+4>>2];f[n+(g*12|0)+8>>2]=f[b+8>>2];b=l+12|0;if((j|0)==(i|0))o=l;else{g=j;j=l;while(1){l=j+-12|0;n=g;g=g+-12|0;f[l>>2]=f[g>>2];f[j+-8>>2]=f[n+-8>>2];f[j+-4>>2]=f[n+-4>>2];if((g|0)==(i|0)){o=l;break}else j=l}}f[a>>2]=o;f[c>>2]=b;f[d>>2]=h;if(!e)return;Ko(e);return}function Jf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;a=f[d>>2]|0;do if(a|0){e=b[c+11>>0]|0;g=e<<24>>24<0;h=g?f[c+4>>2]|0:e&255;e=g?f[c>>2]|0:c;g=d;i=a;do{j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=h>>>0>>0;n=k?h:m;if((n|0)!=0?(o=Fi(l?f[j>>2]|0:j,e,n)|0,(o|0)!=0):0)p=o;else p=m>>>0>>0?-1:k&1;k=(p|0)<0;g=k?g:i;i=f[(k?i+4|0:i)>>2]|0}while((i|0)!=0);if((g|0)!=(d|0)){i=g+16|0;k=b[i+11>>0]|0;m=k<<24>>24<0;o=m?f[g+20>>2]|0:k&255;k=o>>>0>>0?o:h;if(k|0?(n=Fi(e,m?f[i>>2]|0:i,k)|0,n|0):0){if((n|0)<0)break;else q=g;return q|0}if(h>>>0>=o>>>0){q=g;return q|0}}}while(0);q=d;return q|0}function Kf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[c+88>>2]|0;if(!d){e=0;return e|0}if((f[d>>2]|0)!=1){e=0;return e|0}g=d+8|0;d=f[g>>2]|0;f[a+4>>2]=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;i=a+8|0;j=c+24|0;c=b[j>>0]|0;k=c<<24>>24;l=a+12|0;m=f[i>>2]|0;n=(f[l>>2]|0)-m>>2;o=m;if(n>>>0>=k>>>0)if(n>>>0>k>>>0){f[l>>2]=o+(k<<2);p=c;q=d}else{p=c;q=d}else{Eg(i,k-n|0);p=b[j>>0]|0;q=f[g>>2]|0}g=q+4|0;j=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;if(p<<24>>24>0){g=f[i>>2]|0;i=p<<24>>24;p=j;n=4;k=0;while(1){f[g+(k<<2)>>2]=p;n=n+4|0;k=k+1|0;d=q+n|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if((k|0)>=(i|0)){r=c;break}else p=c}}else r=j;f[a+20>>2]=r;e=1;return e|0}function Lf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+128|0;c=f[b>>2]|0;if(c|0){d=a+132|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;do{e=h;h=h+-12|0;i=f[h>>2]|0;if(i|0){f[e+-8>>2]=i;Ko(i)}}while((h|0)!=(c|0));g=f[b>>2]|0}f[d>>2]=c;Ko(g)}g=a+116|0;c=f[g>>2]|0;if(c|0){d=a+120|0;b=f[d>>2]|0;if((b|0)==(c|0))j=c;else{h=b;do{b=h;h=h+-12|0;i=f[h>>2]|0;if(i|0){f[b+-8>>2]=i;Ko(i)}}while((h|0)!=(c|0));j=f[g>>2]|0}f[d>>2]=c;Ko(j)}j=f[a+104>>2]|0;if(j|0){f[a+108>>2]=j;Ko(j)}j=f[a+92>>2]|0;if(!j){k=a+72|0;zk(k);l=a+52|0;zk(l);m=a+32|0;zk(m);return}f[a+96>>2]=j;Ko(j);k=a+72|0;zk(k);l=a+52|0;zk(l);m=a+32|0;zk(m);return}function Mf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((ub(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=Po(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=ub(a,c,g,i,h)|0;if(!o)s=j;else{Ma[f[a+36>>2]&31](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=ub(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)Oo(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function Nf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+8|0;d=f[c>>2]|0;e=d+84|0;g=a+16|0;if(b[e>>0]|0){h=f[g>>2]|0;return h|0}a=f[g>>2]|0;if(!a){h=f[g>>2]|0;return h|0}i=a+84|0;if(!(b[i>>0]|0)){h=f[g>>2]|0;return h|0}j=d+68|0;k=d+72|0;d=(f[k>>2]|0)-(f[j>>2]|0)>>2;b[i>>0]=0;i=a+68|0;l=a+72|0;a=f[i>>2]|0;m=(f[l>>2]|0)-a>>2;if(d>>>0<=m>>>0)if(d>>>0>>0){f[l>>2]=a+(d<<2);n=k;o=j;p=e}else{n=k;o=j;p=e}else{Of(i,d-m|0,1404);m=f[c>>2]|0;n=m+72|0;o=m+68|0;p=m+84|0}if(b[p>>0]|0){h=f[g>>2]|0;return h|0}p=f[o>>2]|0;o=p;m=(f[n>>2]|0)-p|0;p=m>>2;if(!m){h=f[g>>2]|0;return h|0}m=f[(f[g>>2]|0)+68>>2]|0;n=0;do{f[m+(n<<2)>>2]=f[o+(n<<2)>>2];n=n+1|0}while(n>>>0

>>0);h=f[g>>2]|0;return h|0}function Of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=b;k=i;while(1){f[k>>2]=f[c>>2];j=j+-1|0;if(!j)break;else k=k+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;k=h-i|0;h=k>>2;j=h+b|0;if(j>>>0>1073741823)$n(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0>>0?j:e):1073741823;do if(m)if(m>>>0>1073741823){e=qa(8)|0;Dm(e,13552);f[e>>2]=4908;ta(e|0,1128,105)}else{e=wk(m<<2)|0;n=e;o=e;break}else{n=0;o=0}while(0);e=n+(h<<2)|0;h=n+(m<<2)|0;m=b;j=e;while(1){f[j>>2]=f[c>>2];m=m+-1|0;if(!m)break;else j=j+4|0}if((k|0)>0)Bf(o|0,i|0,k|0)|0;f[a>>2]=n;f[g>>2]=e+(b<<2);f[d>>2]=h;if(!i)return;Ko(i);return}function Pf(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(en(l,e,0)|0){f[i+48>>2]=1;Ua[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Ta[f[(f[l>>2]|0)+24>>2]&3](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function Qf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=Ia;d=u;u=u+32|0;e=d+16|0;g=d;h=a+8|0;i=b[(f[h>>2]|0)+24>>0]<<2;j=f[a+16>>2]|0;if(!(f[j+80>>2]|0))k=0;else k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;j=f[a+24>>2]|0;if((j+-2|0)>>>0>28){l=0;u=d;return l|0}f[g>>2]=j;a=1<>2]=a+-1;j=a+-2|0;a=g+8|0;f[a>>2]=j;f[g+12>>2]=(j|0)/2|0;if(!c){l=1;u=d;return l|0}m=0;n=0;o=0;p=j;while(1){q=_(_(1.0)/_(p|0));Pe(g,_(q*_(f[k+(m<<2)>>2]|0)),_(q*_(f[k+((m|1)<<2)>>2]|0)),e);Bf((f[f[(f[h>>2]|0)+64>>2]>>2]|0)+o|0,e|0,i|0)|0;j=n+1|0;if((j|0)==(c|0)){l=1;break}m=m+2|0;n=j;o=o+i|0;p=f[a>>2]|0}u=d;return l|0}function Rf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=fn(f[a+8>>2]|0,e)|0;h=fn(f[a+12>>2]|0,e)|0;i=fn(f[a+16>>2]|0,e)|0;a:do if((g>>>0>>2>>>0?(j=c-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=fn(f[a+(q<<2)>>2]|0,e)|0;s=fn(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=Ri(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}l=s?l:o;m=s?n:m-n|0}m=p+k|0;l=fn(f[a+(m<<2)>>2]|0,e)|0;j=fn(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){i=b;j=h;while(1){f[j>>2]=1;i=i+-1|0;if(!i)break;else j=j+4|0}f[e>>2]=h+(b<<2);return}h=f[a>>2]|0;j=g-h|0;g=j>>2;i=g+b|0;if(i>>>0>1073741823)$n(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?i:d):1073741823;do if(l)if(l>>>0>1073741823){d=qa(8)|0;Dm(d,13552);f[d>>2]=4908;ta(d|0,1128,105)}else{d=wk(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;g=m+(l<<2)|0;l=b;i=d;while(1){f[i>>2]=1;l=l+-1|0;if(!l)break;else i=i+4|0}if((j|0)>0)Bf(n|0,h|0,j|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=g;if(!h)return;Ko(h);return}function Tf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(j=f[(f[d+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(k=f[(f[d+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if(((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(h=f[(f[d+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Uf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+12|0;a:do if((f[e>>2]|0)!=(c|0)){g=f[a>>2]|0;h=a+4|0;i=f[h>>2]|0;if((i|0)!=(g|0)){j=i;do{j=j+-12|0;if((b[j+11>>0]|0)<0)Ko(f[j>>2]|0)}while((j|0)!=(g|0))}f[h>>2]=g;f[e>>2]=c;j=f[c+8>>2]|0;if(j|0){i=a+8|0;k=j;j=g;while(1){l=k+8|0;if((j|0)==(f[i>>2]|0))cf(a,l);else{Yi(j,l);f[h>>2]=(f[h>>2]|0)+12}l=f[k>>2]|0;if(!l)break a;k=l;j=f[h>>2]|0}}}while(0);if((d|0)<0){m=0;return m|0}c=f[a>>2]|0;if((((f[a+4>>2]|0)-c|0)/12|0)>>>0<=d>>>0){m=0;return m|0}a=c+(d*12|0)|0;if((b[a+11>>0]|0)<0){m=f[a>>2]|0;return m|0}else{m=a;return m|0}return 0}function Vf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+32|0;e=d+12|0;g=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=Dh(c)|0;if(h>>>0>4294967279)$n(e);if(h>>>0<11){b[e+11>>0]=h;if(!h)i=e;else{j=e;k=6}}else{l=h+16&-16;m=wk(l)|0;f[e>>2]=m;f[e+8>>2]=l|-2147483648;f[e+4>>2]=h;j=m;k=6}if((k|0)==6){Bf(j|0,c|0,h|0)|0;i=j}b[i+h>>0]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=g+11|0;b[h>>0]=4;f[g>>2]=1701667182;b[g+4>>0]=0;i=f[a+4>>2]|0;if((i|0)!=0?(j=Ed(i,g,e)|0,(j|0)!=0):0)n=Di(a,f[j+40>>2]|0)|0;else n=-1;if((b[h>>0]|0)<0)Ko(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=d;return n|0}Ko(f[e>>2]|0);u=d;return n|0} +function sb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[j>>2]|0;m=(f[k>>2]|0)-l>>2;if(m>>>0>=e>>>0){if(m>>>0>e>>>0)f[k>>2]=l+(e<<2)}else Eg(j,e-m|0);m=d;j=m+48|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(j|0));f[h>>2]=0;if(!e){n=0;o=0}else{Of(d,e,h);n=f[d+12>>2]|0;o=f[d+16>>2]|0}f[h>>2]=0;m=d+16|0;j=o-n>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0)f[m>>2]=n+(e<<2)}else Of(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;n=d+28|0;m=f[j>>2]|0;o=(f[n>>2]|0)-m>>2;if(o>>>0>=e>>>0){if(o>>>0>e>>>0)f[n>>2]=m+(e<<2)}else Of(j,e-o|0,h);o=d+36|0;f[h>>2]=0;j=d+40|0;m=f[o>>2]|0;n=(f[j>>2]|0)-m>>2;if(n>>>0>=e>>>0){if(n>>>0>e>>>0)f[j>>2]=m+(e<<2)}else Of(o,e-n|0,h);n=f[d>>2]|0;if((f[i>>2]|0)>0){o=a+16|0;m=a+32|0;j=a+12|0;l=0;do{k=f[n+(l<<2)>>2]|0;p=f[o>>2]|0;do if((k|0)<=(p|0)){q=f[j>>2]|0;r=f[m>>2]|0;s=r+(l<<2)|0;if((k|0)<(q|0)){f[s>>2]=q;t=r;break}else{f[s>>2]=k;t=r;break}}else{r=f[m>>2]|0;f[r+(l<<2)>>2]=p;t=r}while(0);l=l+1|0;v=f[i>>2]|0}while((l|0)<(v|0));if((v|0)>0){v=a+20|0;l=0;do{m=(f[b+(l<<2)>>2]|0)+(f[t+(l<<2)>>2]|0)|0;n=c+(l<<2)|0;f[n>>2]=m;if((m|0)<=(f[o>>2]|0)){if((m|0)<(f[j>>2]|0)){w=(f[v>>2]|0)+m|0;x=19}}else{w=m-(f[v>>2]|0)|0;x=19}if((x|0)==19){x=0;f[n>>2]=w}l=l+1|0}while((l|0)<(f[i>>2]|0))}}l=f[a+48>>2]|0;w=f[a+52>>2]|0;v=wk(16)|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;f[h>>2]=0;j=h+4|0;f[j>>2]=0;o=h+8|0;f[o>>2]=0;do if(e)if(e>>>0>1073741823)$n(h);else{t=e<<2;n=wk(t)|0;f[h>>2]=n;m=n+(e<<2)|0;f[o>>2]=m;oh(n|0,0,t|0)|0;f[j>>2]=m;y=n;break}else y=0;while(0);o=f[a+56>>2]|0;n=f[o>>2]|0;m=(f[o+4>>2]|0)-n|0;t=m>>2;a:do if((m|0)>4){p=n;k=(e|0)>0;r=l+12|0;s=a+16|0;q=a+32|0;z=a+12|0;A=a+20|0;B=e<<2;C=(e|0)==1;D=1;while(1){if(t>>>0<=D>>>0){x=30;break}E=f[p+(D<<2)>>2]|0;do if((E|0)!=-1){F=(((E>>>0)%3|0|0)==0?2:-1)+E|0;G=(F|0)==-1;H=f[r>>2]|0;I=H+(F<<2)|0;F=1;J=0;K=E;b:while(1){L=f[d+(J*12|0)>>2]|0;M=f[H+(K<<2)>>2]|0;if((M|0)!=-1){N=f[l>>2]|0;O=f[w>>2]|0;P=f[O+(f[N+(M<<2)>>2]<<2)>>2]|0;Q=M+1|0;R=((Q>>>0)%3|0|0)==0?M+-2|0:Q;if((R|0)==-1)S=-1;else S=f[N+(R<<2)>>2]|0;R=f[O+(S<<2)>>2]|0;Q=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((Q|0)==-1)T=-1;else T=f[N+(Q<<2)>>2]|0;Q=f[O+(T<<2)>>2]|0;if((P|0)<(D|0)&(R|0)<(D|0)&(Q|0)<(D|0)){O=W(P,e)|0;P=W(R,e)|0;R=W(Q,e)|0;if(k){Q=0;do{f[L+(Q<<2)>>2]=(f[c+(Q+R<<2)>>2]|0)+(f[c+(Q+P<<2)>>2]|0)-(f[c+(Q+O<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0))}Q=J+1|0;if((Q|0)==4){U=4;break}else V=Q}else V=J}else V=J;do if(F){Q=K+1|0;O=((Q>>>0)%3|0|0)==0?K+-2|0:Q;if((O|0)!=-1?(Q=f[H+(O<<2)>>2]|0,O=Q+1|0,(Q|0)!=-1):0)X=((O>>>0)%3|0|0)==0?Q+-2|0:O;else X=-1}else{O=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((O|0)!=-1?(Q=f[H+(O<<2)>>2]|0,(Q|0)!=-1):0)if(!((Q>>>0)%3|0)){X=Q+2|0;break}else{X=Q+-1|0;break}else X=-1}while(0);if((X|0)==(E|0)){x=59;break}Q=(X|0)!=-1;O=Q|F^1;do if(!(O|G)){P=f[I>>2]|0;if((P|0)==-1){x=59;break b}if(!((P>>>0)%3|0)){Y=0;Z=P+2|0;break}else{Y=0;Z=P+-1|0;break}}else{Y=Q&F;Z=O?X:-1}while(0);if((Z|0)==-1){x=59;break}else{F=Y;J=V;K=Z}}if((x|0)==59){x=0;if((V|0)>0)U=V;else{x=60;break}}if(k){oh(f[h>>2]|0,0,B|0)|0;K=U+-1|0;J=v+(K<<2)|0;F=a+60+(K*12|0)+4|0;I=a+60+(K*12|0)|0;K=f[h>>2]|0;G=0;H=0;while(1){O=f[J>>2]|0;f[J>>2]=O+1;if((f[F>>2]|0)>>>0<=O>>>0){_=K;$=0;break a}if(!(f[(f[I>>2]|0)+(O>>>5<<2)>>2]&1<<(O&31))){O=f[d+(G*12|0)>>2]|0;Q=0;do{P=K+(Q<<2)|0;f[P>>2]=(f[P>>2]|0)+(f[O+(Q<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0));aa=H+1|0}else aa=H;G=G+1|0;if((G|0)>=(U|0)){ba=aa;break}else H=aa}}else{H=U+-1|0;G=v+(H<<2)|0;K=a+60+(H*12|0)|0;I=f[h>>2]|0;F=f[a+60+(H*12|0)+4>>2]|0;H=0;J=0;Q=f[G>>2]|0;while(1){O=Q;Q=Q+1|0;f[G>>2]=Q;if(F>>>0<=O>>>0){_=I;$=0;break a}P=J+((f[(f[K>>2]|0)+(O>>>5<<2)>>2]&1<<(O&31)|0)==0&1)|0;H=H+1|0;if((H|0)>=(U|0)){ba=P;break}else J=P}}J=W(D,e)|0;if(ba){H=f[h>>2]|0;if(k?(f[H>>2]=(f[H>>2]|0)/(ba|0)|0,!C):0){K=1;do{I=H+(K<<2)|0;f[I>>2]=(f[I>>2]|0)/(ba|0)|0;K=K+1|0}while((K|0)!=(e|0))}K=b+(J<<2)|0;I=c+(J<<2)|0;if((f[i>>2]|0)>0){F=0;do{Q=f[H+(F<<2)>>2]|0;G=f[s>>2]|0;do if((Q|0)<=(G|0)){P=f[z>>2]|0;O=f[q>>2]|0;R=O+(F<<2)|0;if((Q|0)<(P|0)){f[R>>2]=P;ca=O;break}else{f[R>>2]=Q;ca=O;break}}else{O=f[q>>2]|0;f[O+(F<<2)>>2]=G;ca=O}while(0);F=F+1|0;da=f[i>>2]|0}while((F|0)<(da|0));if((da|0)>0){F=0;do{H=(f[K+(F<<2)>>2]|0)+(f[ca+(F<<2)>>2]|0)|0;G=I+(F<<2)|0;f[G>>2]=H;do if((H|0)>(f[s>>2]|0)){ea=H-(f[A>>2]|0)|0;x=106}else{if((H|0)>=(f[z>>2]|0))break;ea=(f[A>>2]|0)+H|0;x=106}while(0);if((x|0)==106){x=0;f[G>>2]=ea}F=F+1|0}while((F|0)<(f[i>>2]|0))}}}else{fa=J;x=73}}else x=60;while(0);if((x|0)==60){x=0;fa=W(D,e)|0;x=73}if((x|0)==73?(x=0,E=c+((W(D+-1|0,e)|0)<<2)|0,F=b+(fa<<2)|0,I=c+(fa<<2)|0,(f[i>>2]|0)>0):0){K=0;do{H=f[E+(K<<2)>>2]|0;Q=f[s>>2]|0;do if((H|0)<=(Q|0)){O=f[z>>2]|0;R=f[q>>2]|0;P=R+(K<<2)|0;if((H|0)<(O|0)){f[P>>2]=O;ga=R;break}else{f[P>>2]=H;ga=R;break}}else{R=f[q>>2]|0;f[R+(K<<2)>>2]=Q;ga=R}while(0);K=K+1|0;ha=f[i>>2]|0}while((K|0)<(ha|0));if((ha|0)>0){K=0;do{E=(f[F+(K<<2)>>2]|0)+(f[ga+(K<<2)>>2]|0)|0;Q=I+(K<<2)|0;f[Q>>2]=E;if((E|0)<=(f[s>>2]|0)){if((E|0)<(f[z>>2]|0)){ia=(f[A>>2]|0)+E|0;x=87}}else{ia=E-(f[A>>2]|0)|0;x=87}if((x|0)==87){x=0;f[Q>>2]=ia}K=K+1|0}while((K|0)<(f[i>>2]|0))}}D=D+1|0;if((D|0)>=(t|0)){x=110;break}}if((x|0)==30)$n(o);else if((x|0)==110){_=f[h>>2]|0;$=1;break}}else{_=y;$=1}while(0);if(_|0){f[j>>2]=_;Ko(_)}Ko(v);v=f[d+36>>2]|0;if(v|0){f[d+40>>2]=v;Ko(v)}v=f[d+24>>2]|0;if(v|0){f[d+28>>2]=v;Ko(v)}v=f[d+12>>2]|0;if(v|0){f[d+16>>2]=v;Ko(v)}v=f[d>>2]|0;if(!v){u=g;return $|0}f[d+4>>2]=v;Ko(v);u=g;return $|0}function tb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=Ia,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;d=u;u=u+720|0;e=d;g=d+688|0;i=d+656|0;k=d+4|0;if((j[c+38>>1]|0)>514){f[i>>2]=0;l=i+4|0;f[l>>2]=0;f[i+8>>2]=0;m=c+8|0;o=c+16|0;p=g+4|0;q=g+8|0;r=a+36|0;t=a+40|0;v=a+60|0;w=a+44|0;x=g+8|0;y=g+12|0;z=g+20|0;A=0;a:while(1){if((A|0)>=(Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0)){B=26;break}C=La[f[(f[a>>2]|0)+20>>2]&127](a,A)|0;D=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;E=f[(f[(f[D>>2]|0)+8>>2]|0)+(C<<2)>>2]|0;if((f[E+28>>2]|0)==9){C=b[E+24>>0]|0;E=f[i>>2]|0;D=(f[l>>2]|0)-E>>2;if(D>>>0>=C>>>0){if(D>>>0>C>>>0)f[l>>2]=E+(C<<2)}else Eg(i,C-D|0);D=C<<2;E=m;F=f[E>>2]|0;G=f[E+4>>2]|0;E=o;I=f[E>>2]|0;J=vl(I|0,f[E+4>>2]|0,D|0,0)|0;E=H;if((G|0)<(E|0)|(G|0)==(E|0)&F>>>0>>0){K=0;break}Bf(f[i>>2]|0,(f[c>>2]|0)+I|0,D|0)|0;I=o;J=vl(f[I>>2]|0,f[I+4>>2]|0,D|0,0)|0;D=H;I=o;f[I>>2]=J;f[I+4>>2]=D;I=m;F=f[I>>2]|0;E=f[I+4>>2]|0;I=vl(J|0,D|0,4,0)|0;G=H;if((E|0)<(G|0)|(E|0)==(G|0)&F>>>0>>0){K=0;break}L=f[c>>2]|0;M=L+J|0;b[s>>0]=b[M>>0];b[s+1>>0]=b[M+1>>0];b[s+2>>0]=b[M+2>>0];b[s+3>>0]=b[M+3>>0];N=_(n[s>>2]);M=o;f[M>>2]=I;f[M+4>>2]=G;if(!((E|0)>(G|0)|(E|0)==(G|0)&F>>>0>I>>>0)){K=0;break}F=b[L+I>>0]|0;I=vl(J|0,D|0,5,0)|0;D=o;f[D>>2]=I;f[D+4>>2]=H;if((F&255)>31){K=0;break}f[g>>2]=1228;f[p>>2]=-1;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;kj(g,F&255,f[i>>2]|0,C,N);do if(Si(g,f[(f[v>>2]|0)+((((f[t>>2]|0)-(f[r>>2]|0)|0)/24|0)<<2)>>2]|0)|0){C=f[t>>2]|0;if((C|0)==(f[w>>2]|0)){wd(r,g);O=0;break}f[C>>2]=1228;f[C+4>>2]=f[p>>2];P=C+8|0;f[P>>2]=0;F=C+12|0;f[F>>2]=0;D=C+16|0;f[D>>2]=0;I=(f[y>>2]|0)-(f[x>>2]|0)|0;J=I>>2;if(I|0){if(J>>>0>1073741823){B=17;break a}L=wk(I)|0;f[F>>2]=L;f[P>>2]=L;f[D>>2]=L+(J<<2);J=f[x>>2]|0;D=(f[y>>2]|0)-J|0;if((D|0)>0){Bf(L|0,J|0,D|0)|0;f[F>>2]=L+(D>>>2<<2)}}f[C+20>>2]=f[z>>2];f[t>>2]=(f[t>>2]|0)+24;O=0}else O=1;while(0);f[g>>2]=1228;C=f[q>>2]|0;if(C|0){f[y>>2]=C;Ko(C)}if(O|0){K=0;break}}A=A+1|0}if((B|0)==17)$n(P);if((B|0)==26){P=a+48|0;A=a+52|0;if((f[A>>2]|0)==(f[P>>2]|0))K=1;else{O=0;y=0;while(1){if(zh(g,c)|0){q=f[g>>2]|0;Q=q<<31>>31^q>>>1}else Q=y;q=f[P>>2]|0;f[q+(O<<2)>>2]=Q;O=O+1|0;if(O>>>0>=(f[A>>2]|0)-q>>2>>>0){K=1;break}else y=Q}}}Q=f[i>>2]|0;if(Q|0){f[l>>2]=Q;Ko(Q)}R=K;u=d;return R|0}K=Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0;f[g>>2]=0;Q=g+4|0;f[Q>>2]=0;l=g+8|0;f[l>>2]=0;y=(K|0)==0;if(y){S=0;T=f[(f[a>>2]|0)+20>>2]|0;U=a}else{if(K>>>0>214748364)$n(g);A=K*20|0;O=wk(A)|0;f[g>>2]=O;f[l>>2]=O+(K*20|0);oh(O|0,0,A|0)|0;f[Q>>2]=O+A;A=0;O=0;l=f[(f[a>>2]|0)+20>>2]|0;while(1){P=La[l&127](a,A)|0;q=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;t=f[(f[(f[q>>2]|0)+8>>2]|0)+(P<<2)>>2]|0;P=f[t+28>>2]|0;q=Bj(P)|0;z=b[t+24>>0]|0;x=f[g>>2]|0;f[x+(A*20|0)>>2]=t;f[x+(A*20|0)+4>>2]=O;f[x+(A*20|0)+8>>2]=P;f[x+(A*20|0)+12>>2]=(q|0)>0?q:0;f[x+(A*20|0)+16>>2]=z;x=O+z|0;A=A+1|0;z=f[(f[a>>2]|0)+20>>2]|0;if(A>>>0>=K>>>0){S=x;T=z;U=a;break}else{O=x;l=z}}}l=La[T&127](a,0)|0;T=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;O=f[(f[(f[T>>2]|0)+8>>2]|0)+(l<<2)>>2]|0;b[O+84>>0]=1;f[O+72>>2]=f[O+68>>2];l=c+8|0;T=f[l>>2]|0;A=f[l+4>>2]|0;l=c+16|0;z=l;x=f[z>>2]|0;q=f[z+4>>2]|0;b:do if((A|0)>(q|0)|(A|0)==(q|0)&T>>>0>x>>>0){z=f[c>>2]|0;P=b[z+x>>0]|0;t=vl(x|0,q|0,1,0)|0;p=H;r=l;f[r>>2]=t;f[r+4>>2]=p;switch(P<<24>>24){case 0:{if(!((A|0)>(p|0)|(A|0)==(p|0)&T>>>0>t>>>0)){V=0;break b}P=vl(x|0,q|0,2,0)|0;r=l;f[r>>2]=P;f[r+4>>2]=H;r=vl(x|0,q|0,6,0)|0;w=H;if((A|0)<(w|0)|(A|0)==(w|0)&T>>>0>>0){V=0;break b}v=z+P|0;P=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;v=l;f[v>>2]=r;f[v+4>>2]=w;Fh(O,P)|0;fm(i);$e(k,g);P=Vd(i,c,k)|0;w=f[k+16>>2]|0;if(w|0){f[k+20>>2]=w;Ko(w)}w=f[k>>2]|0;if(w|0){f[k+4>>2]=w;Ko(w)}if(!P){V=0;break b}break}case 1:{if(!((A|0)>(p|0)|(A|0)==(p|0)&T>>>0>t>>>0)){V=0;break b}p=b[z+t>>0]|0;t=vl(x|0,q|0,2,0)|0;P=l;f[P>>2]=t;f[P+4>>2]=H;if((p&255)>6){f[e>>2]=p&255;kl(5094,e)|0;V=0;break b}P=vl(x|0,q|0,6,0)|0;w=H;if((A|0)<(w|0)|(A|0)==(w|0)&T>>>0

>>0){V=0;break b}v=z+t|0;t=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;v=l;f[v>>2]=P;f[v+4>>2]=w;if(!y){w=0;do{v=La[f[(f[U>>2]|0)+20>>2]&127](a,w)|0;P=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;z=f[(f[(f[P>>2]|0)+8>>2]|0)+(v<<2)>>2]|0;Fh(z,t)|0;b[z+84>>0]=1;f[z+72>>2]=f[z+68>>2];w=w+1|0}while(w>>>0>>0)}$e(i,g);switch(p<<24>>24){case 0:{ve(k,S);w=Xd(k,c,i)|0;Cf(k);if(w)B=65;else W=1;break}case 1:{ve(k,S);w=Wd(k,c,i)|0;Cf(k);if(w)B=65;else W=1;break}case 2:{we(k,S);w=Zd(k,c,i)|0;Lf(k);if(w)B=65;else W=1;break}case 3:{we(k,S);w=Yd(k,c,i)|0;Lf(k);if(w)B=65;else W=1;break}case 4:{re(k,S);w=Ud(k,c,i)|0;jg(k);if(w)B=65;else W=1;break}case 5:{re(k,S);w=Td(k,c,i)|0;jg(k);if(w)B=65;else W=1;break}case 6:{re(k,S);w=Sd(k,c,i)|0;jg(k);if(w)B=65;else W=1;break}default:W=1}if((B|0)==65)W=0;w=f[i+16>>2]|0;if(w|0){f[i+20>>2]=w;Ko(w)}w=f[i>>2]|0;if(w|0){f[i+4>>2]=w;Ko(w)}if(W|0){V=0;break b}break}default:{V=0;break b}}V=1}else V=0;while(0);W=f[g>>2]|0;if(W|0){f[Q>>2]=W;Ko(W)}R=V;u=d;return R|0}function ub(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;c=(a|0)!=0;o=l+40|0;q=o;r=l+39|0;l=m+4|0;s=0;t=0;v=0;a:while(1){w=s;x=t;while(1){do if((x|0)>-1)if((w|0)>(2147483647-x|0)){y=Ro()|0;f[y>>2]=75;z=-1;break}else{z=w+x|0;break}else z=x;while(0);A=f[j>>2]|0;y=b[A>>0]|0;if(!(y<<24>>24)){B=94;break a}C=y;y=A;b:while(1){switch(C<<24>>24){case 37:{B=10;break b;break}case 0:{D=y;break b;break}default:{}}E=y+1|0;f[j>>2]=E;C=b[E>>0]|0;y=E}c:do if((B|0)==10){B=0;C=y;E=y;while(1){if((b[E+1>>0]|0)!=37){D=C;break c}F=C+1|0;E=E+2|0;f[j>>2]=E;if((b[E>>0]|0)!=37){D=F;break}else C=F}}while(0);w=D-A|0;if(c)Pm(a,A,w);if(!w)break;else x=z}x=(to(b[(f[j>>2]|0)+1>>0]|0)|0)==0;w=f[j>>2]|0;if(!x?(b[w+2>>0]|0)==36:0){G=(b[w+1>>0]|0)+-48|0;I=1;J=3}else{G=-1;I=v;J=1}x=w+J|0;f[j>>2]=x;w=b[x>>0]|0;y=(w<<24>>24)+-32|0;if(y>>>0>31|(1<>2]=E;F=b[E>>0]|0;C=(F<<24>>24)+-32|0;if(C>>>0>31|(1<>24==42){if((to(b[M+1>>0]|0)|0)!=0?(y=f[j>>2]|0,(b[y+2>>0]|0)==36):0){w=y+1|0;f[h+((b[w>>0]|0)+-48<<2)>>2]=10;N=f[g+((b[w>>0]|0)+-48<<3)>>2]|0;O=1;P=y+3|0}else{if(I|0){Q=-1;break}if(c){y=(f[e>>2]|0)+(4-1)&~(4-1);w=f[y>>2]|0;f[e>>2]=y+4;R=w}else R=0;N=R;O=0;P=(f[j>>2]|0)+1|0}f[j>>2]=P;w=(N|0)<0;S=w?0-N|0:N;T=w?K|8192:K;U=O;V=P}else{w=sj(j)|0;if((w|0)<0){Q=-1;break}S=w;T=K;U=I;V=f[j>>2]|0}do if((b[V>>0]|0)==46){w=V+1|0;if((b[w>>0]|0)!=42){f[j>>2]=w;w=sj(j)|0;W=w;X=f[j>>2]|0;break}if(to(b[V+2>>0]|0)|0?(w=f[j>>2]|0,(b[w+3>>0]|0)==36):0){y=w+2|0;f[h+((b[y>>0]|0)+-48<<2)>>2]=10;C=f[g+((b[y>>0]|0)+-48<<3)>>2]|0;y=w+4|0;f[j>>2]=y;W=C;X=y;break}if(U|0){Q=-1;break a}if(c){y=(f[e>>2]|0)+(4-1)&~(4-1);C=f[y>>2]|0;f[e>>2]=y+4;Y=C}else Y=0;C=(f[j>>2]|0)+2|0;f[j>>2]=C;W=Y;X=C}else{W=-1;X=V}while(0);C=0;y=X;while(1){if(((b[y>>0]|0)+-65|0)>>>0>57){Q=-1;break a}w=y;y=y+1|0;f[j>>2]=y;Z=b[(b[w>>0]|0)+-65+(13620+(C*58|0))>>0]|0;_=Z&255;if((_+-1|0)>>>0>=8)break;else C=_}if(!(Z<<24>>24)){Q=-1;break}w=(G|0)>-1;do if(Z<<24>>24==19)if(w){Q=-1;break a}else B=54;else{if(w){f[h+(G<<2)>>2]=_;E=g+(G<<3)|0;x=f[E+4>>2]|0;F=k;f[F>>2]=f[E>>2];f[F+4>>2]=x;B=54;break}if(!c){Q=0;break a}Nd(k,_,e);$=f[j>>2]|0;B=55}while(0);if((B|0)==54){B=0;if(c){$=y;B=55}else aa=0}d:do if((B|0)==55){B=0;w=b[$+-1>>0]|0;x=(C|0)!=0&(w&15|0)==3?w&-33:w;w=T&-65537;F=(T&8192|0)==0?T:w;e:do switch(x|0){case 110:{switch((C&255)<<24>>24){case 0:{f[f[k>>2]>>2]=z;aa=0;break d;break}case 1:{f[f[k>>2]>>2]=z;aa=0;break d;break}case 2:{E=f[k>>2]|0;f[E>>2]=z;f[E+4>>2]=((z|0)<0)<<31>>31;aa=0;break d;break}case 3:{d[f[k>>2]>>1]=z;aa=0;break d;break}case 4:{b[f[k>>2]>>0]=z;aa=0;break d;break}case 6:{f[f[k>>2]>>2]=z;aa=0;break d;break}case 7:{E=f[k>>2]|0;f[E>>2]=z;f[E+4>>2]=((z|0)<0)<<31>>31;aa=0;break d;break}default:{aa=0;break d}}break}case 112:{ba=120;ca=W>>>0>8?W:8;da=F|8;B=67;break}case 88:case 120:{ba=x;ca=W;da=F;B=67;break}case 111:{E=k;ea=f[E>>2]|0;fa=f[E+4>>2]|0;E=wj(ea,fa,o)|0;ga=q-E|0;ha=E;ia=0;ja=14084;ka=(F&8|0)==0|(W|0)>(ga|0)?W:ga+1|0;la=F;ma=ea;na=fa;B=73;break}case 105:case 100:{fa=k;ea=f[fa>>2]|0;ga=f[fa+4>>2]|0;if((ga|0)<0){fa=wl(0,0,ea|0,ga|0)|0;E=H;oa=k;f[oa>>2]=fa;f[oa+4>>2]=E;pa=1;qa=14084;ra=fa;sa=E;B=72;break e}else{pa=(F&2049|0)!=0&1;qa=(F&2048|0)==0?((F&1|0)==0?14084:14086):14085;ra=ea;sa=ga;B=72;break e}break}case 117:{ga=k;pa=0;qa=14084;ra=f[ga>>2]|0;sa=f[ga+4>>2]|0;B=72;break}case 99:{b[r>>0]=f[k>>2];ta=r;ua=0;va=14084;wa=1;xa=w;ya=q;break}case 109:{ga=Ro()|0;za=Um(f[ga>>2]|0)|0;B=77;break}case 115:{ga=f[k>>2]|0;za=(ga|0)==0?14094:ga;B=77;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Aa=-1;B=81;break}case 83:{if(!W){vi(a,32,S,0,F);Ba=0;B=91}else{Aa=W;B=81}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{aa=rb(a,+p[k>>3],S,W,F,x)|0;break d;break}default:{ta=A;ua=0;va=14084;wa=W;xa=F;ya=q}}while(0);f:do if((B|0)==67){B=0;x=k;ga=f[x>>2]|0;ea=f[x+4>>2]|0;x=aj(ga,ea,o,ba&32)|0;E=(da&8|0)==0|(ga|0)==0&(ea|0)==0;ha=x;ia=E?0:2;ja=E?14084:14084+(ba>>>4)|0;ka=ca;la=da;ma=ga;na=ea;B=73}else if((B|0)==72){B=0;ha=xh(ra,sa,o)|0;ia=pa;ja=qa;ka=W;la=F;ma=ra;na=sa;B=73}else if((B|0)==77){B=0;ea=Re(za,0,W)|0;ga=(ea|0)==0;ta=za;ua=0;va=14084;wa=ga?W:ea-za|0;xa=w;ya=ga?za+W|0:ea}else if((B|0)==81){B=0;ea=f[k>>2]|0;ga=0;while(1){E=f[ea>>2]|0;if(!E){Ca=ga;break}x=Fm(n,E)|0;Da=(x|0)<0;if(Da|x>>>0>(Aa-ga|0)>>>0){B=85;break}E=x+ga|0;if(Aa>>>0>E>>>0){ea=ea+4|0;ga=E}else{Ca=E;break}}if((B|0)==85){B=0;if(Da){Q=-1;break a}else Ca=ga}vi(a,32,S,Ca,F);if(!Ca){Ba=0;B=91}else{ea=f[k>>2]|0;E=0;while(1){x=f[ea>>2]|0;if(!x){Ba=Ca;B=91;break f}fa=Fm(n,x)|0;E=fa+E|0;if((E|0)>(Ca|0)){Ba=Ca;B=91;break f}Pm(a,n,fa);if(E>>>0>=Ca>>>0){Ba=Ca;B=91;break}else ea=ea+4|0}}}while(0);if((B|0)==73){B=0;w=(ma|0)!=0|(na|0)!=0;ea=(ka|0)!=0|w;E=q-ha+((w^1)&1)|0;ta=ea?ha:o;ua=ia;va=ja;wa=ea?((ka|0)>(E|0)?ka:E):0;xa=(ka|0)>-1?la&-65537:la;ya=q}else if((B|0)==91){B=0;vi(a,32,S,Ba,F^8192);aa=(S|0)>(Ba|0)?S:Ba;break}E=ya-ta|0;ea=(wa|0)<(E|0)?E:wa;w=ea+ua|0;ga=(S|0)<(w|0)?w:S;vi(a,32,ga,w,xa);Pm(a,va,ua);vi(a,48,ga,w,xa^65536);vi(a,48,ea,E,0);Pm(a,ta,E);vi(a,32,ga,w,xa^8192);aa=ga}while(0);s=aa;t=z;v=U}g:do if((B|0)==94)if(!a)if(!v)Q=0;else{U=1;while(1){t=f[h+(U<<2)>>2]|0;if(!t)break;Nd(g+(U<<3)|0,t,e);t=U+1|0;if(t>>>0<10)U=t;else{Q=1;break g}}t=U;while(1){if(f[h+(t<<2)>>2]|0){Q=-1;break g}t=t+1|0;if(t>>>0>=10){Q=1;break}}}else Q=z;while(0);u=i;return Q|0}function vb(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;c=u;u=u+32|0;d=c+20|0;e=c+16|0;g=c+4|0;i=c;j=a+36|0;k=a+37|0;l=a+32|0;m=f[l>>2]|0;do if((((h[j>>0]|0)<<8|(h[k>>0]|0))&65535)<514){n=m+8|0;o=f[n>>2]|0;p=f[n+4>>2]|0;n=m+16|0;q=n;r=f[q>>2]|0;s=f[q+4>>2]|0;q=vl(r|0,s|0,4,0)|0;t=H;if((p|0)<(t|0)|(p|0)==(t|0)&o>>>0>>0){v=0;u=c;return v|0}w=(f[m>>2]|0)+r|0;x=h[w>>0]|h[w+1>>0]<<8|h[w+2>>0]<<16|h[w+3>>0]<<24;f[d>>2]=x;w=n;f[w>>2]=q;f[w+4>>2]=t;t=vl(r|0,s|0,8,0)|0;s=H;if((p|0)<(s|0)|(p|0)==(s|0)&o>>>0>>0){v=0;u=c;return v|0}else{o=(f[m>>2]|0)+q|0;f[e>>2]=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;o=n;f[o>>2]=t;f[o+4>>2]=s;y=x;break}}else{if(!(zh(d,m)|0)){v=0;u=c;return v|0}if(zh(e,f[l>>2]|0)|0){y=f[d>>2]|0;break}else{v=0;u=c;return v|0}}while(0);if(y>>>0>1431655765){v=0;u=c;return v|0}m=f[e>>2]|0;x=Bk(y|0,0,3,0)|0;s=H;if(s>>>0<0|(s|0)==0&x>>>0>>0){v=0;u=c;return v|0}x=f[l>>2]|0;s=x+8|0;o=f[s+4>>2]|0;t=x+16|0;n=t;q=f[n>>2]|0;p=f[n+4>>2]|0;if(!((o|0)>(p|0)|((o|0)==(p|0)?(f[s>>2]|0)>>>0>q>>>0:0))){v=0;u=c;return v|0}s=b[(f[x>>2]|0)+q>>0]|0;o=vl(q|0,p|0,1,0)|0;n=H;r=t;f[r>>2]=o;f[r+4>>2]=n;a:do if(!(s<<24>>24)){if(!(ke(a,y)|0)){v=0;u=c;return v|0}}else{if(m>>>0<256){if(!y)break;r=a+44|0;t=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;z=x+8|0;A=f[z>>2]|0;B=f[z+4>>2]|0;b:do if((B|0)>(n|0)|(B|0)==(n|0)&A>>>0>o>>>0){z=0;C=x;D=o;E=n;F=B;G=A;I=y;while(1){J=C+16|0;K=f[C>>2]|0;L=b[K+D>>0]|0;M=vl(D|0,E|0,1,0)|0;N=H;O=J;f[O>>2]=M;f[O+4>>2]=N;f[g>>2]=L&255;if(!((F|0)>(N|0)|(F|0)==(N|0)&G>>>0>M>>>0))break b;N=b[K+M>>0]|0;M=vl(D|0,E|0,2,0)|0;L=H;O=J;f[O>>2]=M;f[O+4>>2]=L;f[t>>2]=N&255;if(!((F|0)>(L|0)|(F|0)==(L|0)&G>>>0>M>>>0))break b;L=b[K+M>>0]|0;M=vl(D|0,E|0,3,0)|0;K=J;f[K>>2]=M;f[K+4>>2]=H;f[w>>2]=L&255;L=f[r>>2]|0;K=L+100|0;M=f[K>>2]|0;if((M|0)==(f[L+104>>2]|0)){yg(L+96|0,g);P=f[d>>2]|0}else{f[M>>2]=f[g>>2];f[M+4>>2]=f[g+4>>2];f[M+8>>2]=f[g+8>>2];f[K>>2]=(f[K>>2]|0)+12;P=I}z=z+1|0;if(z>>>0>=P>>>0)break a;C=f[l>>2]|0;K=C+16|0;D=f[K>>2]|0;E=f[K+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;K=C+8|0;G=f[K>>2]|0;F=f[K+4>>2]|0;if(!((F|0)>(E|0)|(F|0)==(E|0)&G>>>0>D>>>0))break;else I=P}}while(0);v=0;u=c;return v|0}if(m>>>0<65536){if(!y)break;r=a+44|0;w=g+4|0;t=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;A=x+8|0;B=f[A>>2]|0;I=f[A+4>>2]|0;A=vl(q|0,p|0,3,0)|0;D=H;c:do if(!((I|0)<(D|0)|(I|0)==(D|0)&B>>>0>>0)){G=0;E=x;F=o;C=A;z=D;K=n;M=I;L=B;J=y;while(1){N=E+16|0;O=f[E>>2]|0;Q=O+F|0;R=h[Q>>0]|h[Q+1>>0]<<8;Q=N;f[Q>>2]=C;f[Q+4>>2]=z;f[g>>2]=R&65535;R=vl(F|0,K|0,4,0)|0;Q=H;if((M|0)<(Q|0)|(M|0)==(Q|0)&L>>>0>>0)break c;S=O+C|0;T=h[S>>0]|h[S+1>>0]<<8;S=N;f[S>>2]=R;f[S+4>>2]=Q;f[w>>2]=T&65535;T=vl(F|0,K|0,6,0)|0;Q=H;if((M|0)<(Q|0)|(M|0)==(Q|0)&L>>>0>>0)break c;S=O+R|0;R=h[S>>0]|h[S+1>>0]<<8;S=N;f[S>>2]=T;f[S+4>>2]=Q;f[t>>2]=R&65535;R=f[r>>2]|0;Q=R+100|0;S=f[Q>>2]|0;if((S|0)==(f[R+104>>2]|0)){yg(R+96|0,g);U=f[d>>2]|0}else{f[S>>2]=f[g>>2];f[S+4>>2]=f[g+4>>2];f[S+8>>2]=f[g+8>>2];f[Q>>2]=(f[Q>>2]|0)+12;U=J}G=G+1|0;if(G>>>0>=U>>>0)break a;E=f[l>>2]|0;Q=E+16|0;F=f[Q>>2]|0;K=f[Q+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Q=E+8|0;L=f[Q>>2]|0;M=f[Q+4>>2]|0;C=vl(F|0,K|0,2,0)|0;z=H;if((M|0)<(z|0)|(M|0)==(z|0)&L>>>0>>0)break;else J=U}}while(0);v=0;u=c;return v|0}r=a+44|0;if((f[(f[r>>2]|0)+80>>2]|0)>>>0<2097152?(((h[j>>0]|0)<<8|(h[k>>0]|0))&65535)>513:0){if(!y)break;t=g+4|0;w=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;d:do if(zh(i,x)|0){B=0;do{f[g>>2]=f[i>>2];if(!(zh(i,f[l>>2]|0)|0))break d;f[t>>2]=f[i>>2];if(!(zh(i,f[l>>2]|0)|0))break d;f[w>>2]=f[i>>2];I=f[r>>2]|0;D=I+100|0;A=f[D>>2]|0;if((A|0)==(f[I+104>>2]|0))yg(I+96|0,g);else{f[A>>2]=f[g>>2];f[A+4>>2]=f[g+4>>2];f[A+8>>2]=f[g+8>>2];f[D>>2]=(f[D>>2]|0)+12}B=B+1|0;if(B>>>0>=(f[d>>2]|0)>>>0)break a;D=f[l>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0}while(zh(i,D)|0)}while(0);v=0;u=c;return v|0}if(y|0){w=g+4|0;t=g+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;B=x+8|0;D=f[B>>2]|0;A=f[B+4>>2]|0;B=vl(q|0,p|0,5,0)|0;I=H;e:do if(!((A|0)<(I|0)|(A|0)==(I|0)&D>>>0>>0)){J=0;C=x;L=o;z=B;M=I;K=n;F=A;E=D;G=y;while(1){Q=C+16|0;S=f[C>>2]|0;R=S+L|0;T=h[R>>0]|h[R+1>>0]<<8|h[R+2>>0]<<16|h[R+3>>0]<<24;R=Q;f[R>>2]=z;f[R+4>>2]=M;f[g>>2]=T;T=vl(L|0,K|0,8,0)|0;R=H;if((F|0)<(R|0)|(F|0)==(R|0)&E>>>0>>0)break e;N=S+z|0;O=h[N>>0]|h[N+1>>0]<<8|h[N+2>>0]<<16|h[N+3>>0]<<24;N=Q;f[N>>2]=T;f[N+4>>2]=R;f[w>>2]=O;O=vl(L|0,K|0,12,0)|0;R=H;if((F|0)<(R|0)|(F|0)==(R|0)&E>>>0>>0)break e;N=S+T|0;T=h[N>>0]|h[N+1>>0]<<8|h[N+2>>0]<<16|h[N+3>>0]<<24;N=Q;f[N>>2]=O;f[N+4>>2]=R;f[t>>2]=T;T=f[r>>2]|0;R=T+100|0;N=f[R>>2]|0;if((N|0)==(f[T+104>>2]|0)){yg(T+96|0,g);V=f[d>>2]|0}else{f[N>>2]=f[g>>2];f[N+4>>2]=f[g+4>>2];f[N+8>>2]=f[g+8>>2];f[R>>2]=(f[R>>2]|0)+12;V=G}J=J+1|0;if(J>>>0>=V>>>0)break a;C=f[l>>2]|0;R=C+16|0;L=f[R>>2]|0;K=f[R+4>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;R=C+8|0;E=f[R>>2]|0;F=f[R+4>>2]|0;z=vl(L|0,K|0,4,0)|0;M=H;if((F|0)<(M|0)|(F|0)==(M|0)&E>>>0>>0)break;else G=V}}while(0);v=0;u=c;return v|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[e>>2];v=1;u=c;return v|0}function wb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Ia,D=0,E=0.0,F=0,G=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=vl(q|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){m=b[o>>0]|0;q=g+(r<<3)|0;f[q>>2]=m;f[q+4>>2]=((m|0)<0)<<31>>31;r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=vl(q|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=g+(t<<3)|0;f[k>>2]=h[m>>0];f[k+4>>2]=0;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=vl(k|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){o=d[l>>1]|0;k=g+(q<<3)|0;f[k>>2]=o;f[k+4>>2]=((o|0)<0)<<31>>31;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=Bk(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=vl(o|0,H|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=j[r>>1];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(r<<3)|0,0,(e<<24>>24)-r<<3|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=Bk(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=vl(m|0,H|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){l=f[t>>2]|0;m=g+(o<<3)|0;f[m>>2]=l;f[m+4>>2]=((l|0)<0)<<31>>31;o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=Bk(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=vl(l|0,H|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){r=g+(m<<3)|0;f[r>>2]=f[q>>2];f[r+4>>2]=0;m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=vl(r|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){t=k;r=f[t+4>>2]|0;z=g+(l<<3)|0;f[z>>2]=f[t>>2];f[z+4>>2]=r;l=l+1|0;r=b[q>>0]|0;if((l|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){A=r;break}else k=k+8|0}}else A=m;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;r=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;z=vl(r|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+z|0;z=0;while(1){q=o;r=f[q+4>>2]|0;t=g+(z<<3)|0;f[t>>2]=f[q>>2];f[t+4>>2]=r;z=z+1|0;r=b[k>>0]|0;if((z|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){B=r;break}else o=o+8|0}}else B=l;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 9:{o=a+24|0;z=b[o>>0]|0;if((z<<24>>24>e<<24>>24?e:z)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;r=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=vl(r|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){C=_(n[m>>2]);k=+J(+C)>=1.0?(+C>0.0?~~+X(+I(+C/4294967296.0),4294967295.0)>>>0:~~+V((+C-+(~~+C>>>0))/4294967296.0)>>>0):0;r=g+(t<<3)|0;f[r>>2]=~~+C>>>0;f[r+4>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else m=m+4|0}}else D=z;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=vl(k|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+r|0;r=0;while(1){E=+p[l>>3];o=+J(E)>=1.0?(E>0.0?~~+X(+I(E/4294967296.0),4294967295.0)>>>0:~~+V((E-+(~~E>>>0))/4294967296.0)>>>0):0;k=g+(r<<3)|0;f[k>>2]=~~E>>>0;f[k+4>>2]=o;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){F=o;break}else l=l+8|0}}else F=t;l=F<<24>>24;if(F<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 11:{l=a+24|0;r=b[l>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){m=f[f[a>>2]>>2]|0;z=a+40|0;o=Bk(f[z>>2]|0,f[z+4>>2]|0,f[c>>2]|0,0)|0;z=a+48|0;k=vl(o|0,H|0,f[z>>2]|0,f[z+4>>2]|0)|0;z=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=h[z>>0];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){G=m;break}else z=z+1|0}}else G=r;z=G<<24>>24;if(G<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(z<<3)|0,0,(e<<24>>24)-z<<3|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;c=u;u=u+16|0;d=c+8|0;e=c;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=c;return 1}g=a+56|0;h=f[g>>2]|0;if((h|0)==(f[a+60>>2]|0)){Ng(a+52|0,b);i=b}else{f[h>>2]=f[b>>2];f[g>>2]=h+4;i=b}b=a+88|0;f[b>>2]=0;h=f[a>>2]|0;g=f[i>>2]|0;j=g+1|0;if((g|0)!=-1){k=((j>>>0)%3|0|0)==0?g+-2|0:j;if((k|0)==-1)l=-1;else l=f[(f[h>>2]|0)+(k<<2)>>2]|0;k=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((k|0)==-1){m=l;n=-1}else{m=l;n=f[(f[h>>2]|0)+(k<<2)>>2]|0}}else{m=-1;n=-1}k=a+24|0;h=f[k>>2]|0;l=h+(m>>>5<<2)|0;g=1<<(m&31);j=f[l>>2]|0;if(!(j&g)){f[l>>2]=j|g;g=f[i>>2]|0;j=g+1|0;if((g|0)==-1)o=-1;else o=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=o;j=(o>>>0)/3|0;g=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(j*12|0)+(o-(j*3|0)<<2)>>2]|0;j=f[a+48>>2]|0;f[d>>2]=g;o=f[j+4>>2]|0;j=o+4|0;l=f[j>>2]|0;if((l|0)==(f[o+8>>2]|0))Ng(o,d);else{f[l>>2]=g;f[j>>2]=l+4}l=a+40|0;j=f[l>>2]|0;g=j+4|0;o=f[g>>2]|0;if((o|0)==(f[j+8>>2]|0)){Ng(j,e);p=f[l>>2]|0}else{f[o>>2]=f[e>>2];f[g>>2]=o+4;p=j}j=p+24|0;f[(f[p+12>>2]|0)+(m<<2)>>2]=f[j>>2];f[j>>2]=(f[j>>2]|0)+1;q=f[k>>2]|0}else q=h;h=q+(n>>>5<<2)|0;q=1<<(n&31);j=f[h>>2]|0;if(!(j&q)){f[h>>2]=j|q;q=f[i>>2]|0;do if((q|0)!=-1)if(!((q>>>0)%3|0)){r=q+2|0;break}else{r=q+-1|0;break}else r=-1;while(0);f[e>>2]=r;q=(r>>>0)/3|0;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(q*12|0)+(r-(q*3|0)<<2)>>2]|0;q=f[a+48>>2]|0;f[d>>2]=j;r=f[q+4>>2]|0;q=r+4|0;h=f[q>>2]|0;if((h|0)==(f[r+8>>2]|0))Ng(r,d);else{f[h>>2]=j;f[q>>2]=h+4}h=a+40|0;q=f[h>>2]|0;j=q+4|0;r=f[j>>2]|0;if((r|0)==(f[q+8>>2]|0)){Ng(q,e);s=f[h>>2]|0}else{f[r>>2]=f[e>>2];f[j>>2]=r+4;s=q}q=s+24|0;f[(f[s+12>>2]|0)+(n<<2)>>2]=f[q>>2];f[q>>2]=(f[q>>2]|0)+1}q=f[i>>2]|0;if((q|0)==-1)t=-1;else t=f[(f[f[a>>2]>>2]|0)+(q<<2)>>2]|0;q=(f[k>>2]|0)+(t>>>5<<2)|0;n=1<<(t&31);s=f[q>>2]|0;if(!(n&s)){f[q>>2]=s|n;n=f[i>>2]|0;f[e>>2]=n;s=(n>>>0)/3|0;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(s*12|0)+(n-(s*3|0)<<2)>>2]|0;s=f[a+48>>2]|0;f[d>>2]=q;n=f[s+4>>2]|0;s=n+4|0;r=f[s>>2]|0;if((r|0)==(f[n+8>>2]|0))Ng(n,d);else{f[r>>2]=q;f[s>>2]=r+4}r=a+40|0;s=f[r>>2]|0;q=s+4|0;n=f[q>>2]|0;if((n|0)==(f[s+8>>2]|0)){Ng(s,e);v=f[r>>2]|0}else{f[n>>2]=f[e>>2];f[q>>2]=n+4;v=s}s=v+24|0;f[(f[v+12>>2]|0)+(t<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1}s=f[b>>2]|0;a:do if((s|0)<3){t=a+12|0;v=a+44|0;n=a+48|0;q=a+40|0;r=a+92|0;j=s;while(1){h=a+52+(j*12|0)+4|0;m=f[h>>2]|0;if((f[a+52+(j*12|0)>>2]|0)==(m|0))if((j|0)<2)w=j+1|0;else break a;else{p=m+-4|0;m=f[p>>2]|0;f[h>>2]=p;f[b>>2]=j;f[i>>2]=m;if((m|0)==-1)break;p=(m>>>0)/3|0;h=f[t>>2]|0;do if(!(f[h+(p>>>5<<2)>>2]&1<<(p&31))){o=m;g=h;b:while(1){l=(o>>>0)/3|0;x=g+(l>>>5<<2)|0;f[x>>2]=1<<(l&31)|f[x>>2];x=f[i>>2]|0;if((x|0)==-1)y=-1;else y=f[(f[f[a>>2]>>2]|0)+(x<<2)>>2]|0;l=(f[k>>2]|0)+(y>>>5<<2)|0;z=1<<(y&31);A=f[l>>2]|0;if(!(z&A)){f[l>>2]=A|z;z=f[i>>2]|0;f[e>>2]=z;A=(z>>>0)/3|0;l=f[(f[(f[v>>2]|0)+96>>2]|0)+(A*12|0)+(z-(A*3|0)<<2)>>2]|0;A=f[n>>2]|0;f[d>>2]=l;z=f[A+4>>2]|0;A=z+4|0;B=f[A>>2]|0;if((B|0)==(f[z+8>>2]|0))Ng(z,d);else{f[B>>2]=l;f[A>>2]=B+4}B=f[q>>2]|0;A=B+4|0;l=f[A>>2]|0;if((l|0)==(f[B+8>>2]|0)){Ng(B,e);C=f[q>>2]|0}else{f[l>>2]=f[e>>2];f[A>>2]=l+4;C=B}B=C+24|0;f[(f[C+12>>2]|0)+(y<<2)>>2]=f[B>>2];f[B>>2]=(f[B>>2]|0)+1;D=f[i>>2]|0}else D=x;x=f[a>>2]|0;if((D|0)==-1){E=94;break}B=D+1|0;l=((B>>>0)%3|0|0)==0?D+-2|0:B;if((l|0)==-1)F=-1;else F=f[(f[x+12>>2]|0)+(l<<2)>>2]|0;l=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((l|0)==-1)G=-1;else G=f[(f[x+12>>2]|0)+(l<<2)>>2]|0;l=(F|0)==-1;B=l?-1:(F>>>0)/3|0;A=(G|0)==-1;z=A?-1:(G>>>0)/3|0;if(l)H=1;else H=(f[(f[t>>2]|0)+(B>>>5<<2)>>2]&1<<(B&31)|0)!=0;do if(A)if(H){E=94;break b}else E=82;else{if(f[(f[t>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)if(H){E=94;break b}else{E=82;break}B=f[(f[x>>2]|0)+(G<<2)>>2]|0;if(!(1<<(B&31)&f[(f[k>>2]|0)+(B>>>5<<2)>>2])){I=(f[r>>2]|0)+(B<<2)|0;B=f[I>>2]|0;f[I>>2]=B+1;J=(B|0)>0?1:2}else J=0;if(H?(J|0)<=(f[b>>2]|0):0){K=G;break}f[d>>2]=G;B=a+52+(J*12|0)+4|0;I=f[B>>2]|0;if((I|0)==(f[a+52+(J*12|0)+8>>2]|0))Ng(a+52+(J*12|0)|0,d);else{f[I>>2]=G;f[B>>2]=I+4}if((f[b>>2]|0)>(J|0))f[b>>2]=J;if(H){E=94;break b}else E=82}while(0);if((E|0)==82){E=0;if(l)L=-1;else L=f[(f[f[a>>2]>>2]|0)+(F<<2)>>2]|0;if(!(1<<(L&31)&f[(f[k>>2]|0)+(L>>>5<<2)>>2])){x=(f[r>>2]|0)+(L<<2)|0;z=f[x>>2]|0;f[x>>2]=z+1;M=(z|0)>0?1:2}else M=0;if((M|0)>(f[b>>2]|0))break;else K=F}f[i>>2]=K;o=K;g=f[t>>2]|0}if((E|0)==94){E=0;N=f[b>>2]|0;break}f[d>>2]=F;g=a+52+(M*12|0)+4|0;o=f[g>>2]|0;if((o|0)==(f[a+52+(M*12|0)+8>>2]|0))Ng(a+52+(M*12|0)|0,d);else{f[o>>2]=F;f[g>>2]=o+4}o=f[b>>2]|0;if((o|0)>(M|0)){f[b>>2]=M;O=M}else O=o;N=O}else N=j;while(0);if((N|0)<3)w=N;else break a}j=w}u=c;return 1}while(0);f[i>>2]=-1;u=c;return 1}function yb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0;c=u;u=u+32|0;d=c+16|0;e=c+4|0;g=c;f[a+36>>2]=b;h=a+24|0;i=a+28|0;j=f[h>>2]|0;k=(f[i>>2]|0)-j>>2;l=j;if(k>>>0>=b>>>0){if(k>>>0>b>>>0)f[i>>2]=l+(b<<2)}else Of(h,b-k|0,3732);f[d>>2]=0;k=d+4|0;f[k>>2]=0;l=d+8|0;f[l>>2]=0;if(b){if((b|0)<0)$n(d);j=((b+-1|0)>>>5)+1|0;m=wk(j<<2)|0;f[d>>2]=m;f[l>>2]=j;f[k>>2]=b;j=b>>>5;oh(m|0,0,j<<2|0)|0;n=b&31;o=m+(j<<2)|0;j=m;if(!n){p=b;q=j;r=m}else{f[o>>2]=f[o>>2]&~(-1>>>(32-n|0));p=b;q=j;r=m}}else{p=0;q=0;r=0}m=a+4|0;j=f[a>>2]|0;n=(f[m>>2]|0)-j|0;o=n>>2;f[e>>2]=0;s=e+4|0;f[s>>2]=0;t=e+8|0;f[t>>2]=0;do if(n){if((n|0)<0)$n(e);v=((o+-1|0)>>>5)+1|0;w=wk(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;oh(w|0,0,v<<2|0)|0;x=o&31;y=w+(v<<2)|0;if(x|0)f[y>>2]=f[y>>2]&~(-1>>>(32-x|0));if(o>>>0>2){x=a+32|0;y=a+12|0;v=a+52|0;w=a+56|0;z=a+48|0;A=b;B=j;C=0;D=q;E=r;a:while(1){F=B;G=C*3|0;H=f[F+(G<<2)>>2]|0;I=G+1|0;if((I|0)!=-1){J=f[F+(I<<2)>>2]|0;I=G+2|0;if((I|0)==-1){K=-1;L=J}else{M=J;N=I;O=22}}else{M=-1;N=0;O=22}if((O|0)==22){O=0;K=f[F+(N<<2)>>2]|0;L=M}if((H|0)!=(L|0)?!((H|0)==(K|0)|(L|0)==(K|0)):0){H=0;F=A;I=D;J=E;while(1){P=H+G|0;if(!(f[(f[e>>2]|0)+(P>>>5<<2)>>2]&1<<(P&31))){Q=f[(f[a>>2]|0)+(P<<2)>>2]|0;f[g>>2]=Q;R=Q>>>5;S=1<<(Q&31);b:do if(!(f[J+(R<<2)>>2]&S)){Q=f[d>>2]|0;T=Q+(R<<2)|0;f[T>>2]=f[T>>2]|S;T=Q;U=f[h>>2]|0;V=P;while(1){W=(f[e>>2]|0)+(V>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(V&31);f[U+(f[g>>2]<<2)>>2]=V;W=V+1|0;X=((W>>>0)%3|0|0)==0?V+-2|0:W;do if((X|0)==-1)Y=-1;else{W=f[(f[y>>2]|0)+(X<<2)>>2]|0;Z=W+1|0;if((W|0)==-1){Y=-1;break}Y=((Z>>>0)%3|0|0)==0?W+-2|0:Z}while(0);if((Y|0)==(P|0)){_=0;$=F;aa=T;ba=Q;O=50;break b}if((Y|0)==-1){ca=0;da=F;ea=T;fa=Q;O=51;break}else V=Y}}else{V=f[i>>2]|0;if((V|0)==(f[x>>2]|0))Ng(h,3732);else{f[V>>2]=-1;f[i>>2]=V+4}V=f[v>>2]|0;if((V|0)==(f[w>>2]|0))Ng(z,g);else{f[V>>2]=f[g>>2];f[v>>2]=V+4}V=f[k>>2]|0;Q=f[l>>2]|0;if((V|0)==(Q<<5|0)){if((V+1|0)<0){O=36;break a}T=Q<<6;Q=V+32&-32;vg(d,V>>>0<1073741823?(T>>>0>>0?Q:T):2147483647);ga=f[k>>2]|0}else ga=V;f[k>>2]=ga+1;V=(f[d>>2]|0)+(ga>>>5<<2)|0;f[V>>2]=f[V>>2]&~(1<<(ga&31));V=F+1|0;f[g>>2]=F;T=f[d>>2]|0;Q=T+(F>>>5<<2)|0;f[Q>>2]=f[Q>>2]|1<<(F&31);Q=T;U=f[h>>2]|0;X=f[a>>2]|0;Z=P;while(1){W=(f[e>>2]|0)+(Z>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(Z&31);W=f[g>>2]|0;f[U+(W<<2)>>2]=Z;f[X+(Z<<2)>>2]=W;W=Z+1|0;ha=((W>>>0)%3|0|0)==0?Z+-2|0:W;do if((ha|0)==-1)ia=-1;else{W=f[(f[y>>2]|0)+(ha<<2)>>2]|0;ja=W+1|0;if((W|0)==-1){ia=-1;break}ia=((ja>>>0)%3|0|0)==0?W+-2|0:ja}while(0);if((ia|0)==(P|0)){_=1;$=V;aa=Q;ba=T;O=50;break b}if((ia|0)==-1){ca=1;da=V;ea=Q;fa=T;O=51;break}else Z=ia}}while(0);if((O|0)==50){O=0;if((P|0)==-1){ca=_;da=$;ea=aa;fa=ba;O=51}else{ka=$;la=aa;ma=ba}}c:do if((O|0)==51){O=0;S=(((P>>>0)%3|0|0)==0?2:-1)+P|0;if(((S|0)!=-1?(R=f[(f[y>>2]|0)+(S<<2)>>2]|0,(R|0)!=-1):0)?(S=R+(((R>>>0)%3|0|0)==0?2:-1)|0,(S|0)!=-1):0)if(ca){R=f[a>>2]|0;Z=S;while(1){T=(f[e>>2]|0)+(Z>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(Z&31);f[R+(Z<<2)>>2]=f[g>>2];T=(((Z>>>0)%3|0|0)==0?2:-1)+Z|0;if((T|0)==-1){ka=da;la=ea;ma=fa;break c}Q=f[(f[y>>2]|0)+(T<<2)>>2]|0;if((Q|0)==-1){ka=da;la=ea;ma=fa;break c}Z=Q+(((Q>>>0)%3|0|0)==0?2:-1)|0;if((Z|0)==-1){ka=da;la=ea;ma=fa;break}}}else{Z=S;while(1){R=(f[e>>2]|0)+(Z>>>5<<2)|0;f[R>>2]=f[R>>2]|1<<(Z&31);R=(((Z>>>0)%3|0|0)==0?2:-1)+Z|0;if((R|0)==-1){ka=da;la=ea;ma=fa;break c}Q=f[(f[y>>2]|0)+(R<<2)>>2]|0;if((Q|0)==-1){ka=da;la=ea;ma=fa;break c}Z=Q+(((Q>>>0)%3|0|0)==0?2:-1)|0;if((Z|0)==-1){ka=da;la=ea;ma=fa;break}}}else{ka=da;la=ea;ma=fa}}while(0);na=ka;oa=la;pa=ma}else{na=F;oa=I;pa=J}H=H+1|0;if(H>>>0>=3){qa=na;ra=oa;sa=pa;break}else{F=na;I=oa;J=pa}}}else{qa=A;ra=D;sa=E}C=C+1|0;B=f[a>>2]|0;if(C>>>0>=(((f[m>>2]|0)-B>>2>>>0)/3|0)>>>0){O=17;break}else{A=qa;D=ra;E=sa}}if((O|0)==17){ta=ra;ua=f[k>>2]|0;break}else if((O|0)==36)$n(d)}else{ta=q;ua=p}}else{ta=q;ua=p}while(0);p=a+44|0;f[p>>2]=0;a=ta;q=ua>>>5;O=a+(q<<2)|0;k=ua&31;if(q|k|0){q=ta;ta=0;ua=a;a=0;while(1){if(!(f[ua>>2]&1<>2]=ra;va=ra}else va=a;ra=(ta|0)==31;q=ra?ua+4|0:q;ta=ra?0:ta+1|0;ua=q;if(!((O|0)!=(ua|0)|(ta|0)!=(k|0)))break;else a=va}}va=f[e>>2]|0;if(va|0)Ko(va);va=f[d>>2]|0;if(!va){u=c;return 1}Ko(va);u=c;return 1}function zb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=Ia,L=Ia,M=Ia,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+48|0;g=e+40|0;i=e+16|0;j=e;k=Ec(a,c)|0;if(k|0){l=f[a+4>>2]|0;m=f[k+4>>2]|0;o=l+-1|0;p=(o&l|0)==0;if(!p)if(m>>>0>>0)q=m;else q=(m>>>0)%(l>>>0)|0;else q=o&m;m=(f[a>>2]|0)+(q<<2)|0;r=f[m>>2]|0;while(1){s=f[r>>2]|0;if((s|0)==(k|0))break;else r=s}if((r|0)!=(a+8|0)){s=f[r+4>>2]|0;if(!p)if(s>>>0>>0)t=s;else t=(s>>>0)%(l>>>0)|0;else t=s&o;if((t|0)==(q|0))v=k;else w=15}else w=15;do if((w|0)==15){t=f[k>>2]|0;if(t|0){s=f[t+4>>2]|0;if(!p)if(s>>>0>>0)x=s;else x=(s>>>0)%(l>>>0)|0;else x=s&o;if((x|0)==(q|0)){v=k;break}}f[m>>2]=0;v=k}while(0);m=f[v>>2]|0;x=m;if(m){s=f[m+4>>2]|0;if(!p)if(s>>>0>>0)y=s;else y=(s>>>0)%(l>>>0)|0;else y=s&o;if((y|0)!=(q|0)){f[(f[a>>2]|0)+(y<<2)>>2]=r;z=f[k>>2]|0}else z=x}else z=x;f[r>>2]=z;f[v>>2]=0;v=a+12|0;f[v>>2]=(f[v>>2]|0)+-1;v=k+8|0;z=f[k+20>>2]|0;if(z|0){f[k+24>>2]=z;Ko(z)}if((b[v+11>>0]|0)<0)Ko(f[v>>2]|0);Ko(k)}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;v=(f[d+4>>2]|0)-(f[d>>2]|0)|0;Kg(j,v);Bf(f[j>>2]|0,f[d>>2]|0,v|0)|0;Yi(i,c);c=i+12|0;f[c>>2]=0;v=i+16|0;f[v>>2]=0;f[i+20>>2]=0;Kg(c,(f[k>>2]|0)-(f[j>>2]|0)|0);d=f[j>>2]|0;Bf(f[c>>2]|0,d|0,(f[k>>2]|0)-d|0)|0;d=i+11|0;z=b[d>>0]|0;r=z<<24>>24<0;x=r?f[i>>2]|0:i;y=r?f[i+4>>2]|0:z&255;if(y>>>0>3){z=x;r=y;q=y;while(1){o=W(h[z>>0]|h[z+1>>0]<<8|h[z+2>>0]<<16|h[z+3>>0]<<24,1540483477)|0;r=(W(o>>>24^o,1540483477)|0)^(W(r,1540483477)|0);q=q+-4|0;if(q>>>0<=3)break;else z=z+4|0}z=y+-4|0;q=z&-4;A=z-q|0;B=x+(q+4)|0;C=r}else{A=y;B=x;C=y}switch(A|0){case 3:{D=h[B+2>>0]<<16^C;w=40;break}case 2:{D=C;w=40;break}case 1:{E=C;w=41;break}default:F=C}if((w|0)==40){E=h[B+1>>0]<<8^D;w=41}if((w|0)==41)F=W(E^h[B>>0],1540483477)|0;B=W(F>>>13^F,1540483477)|0;F=B>>>15^B;B=a+4|0;E=f[B>>2]|0;D=(E|0)==0;a:do if(!D){C=E+-1|0;A=(C&E|0)==0;if(!A)if(F>>>0>>0)G=F;else G=(F>>>0)%(E>>>0)|0;else G=F&C;r=f[(f[a>>2]|0)+(G<<2)>>2]|0;if((r|0)!=0?(q=f[r>>2]|0,(q|0)!=0):0){r=(y|0)==0;if(A){if(r){A=q;while(1){z=f[A+4>>2]|0;if(!((z|0)==(F|0)|(z&C|0)==(G|0))){H=G;w=86;break a}z=b[A+8+11>>0]|0;if(!((z<<24>>24<0?f[A+12>>2]|0:z&255)|0))break a;A=f[A>>2]|0;if(!A){H=G;w=86;break a}}}A=q;while(1){z=f[A+4>>2]|0;if(!((z|0)==(F|0)|(z&C|0)==(G|0))){H=G;w=86;break a}z=A+8|0;o=b[z+11>>0]|0;s=o<<24>>24<0;l=o&255;do if(((s?f[A+12>>2]|0:l)|0)==(y|0)){o=f[z>>2]|0;if(s)if(!(Fi(o,x,y)|0))break a;else break;if((b[x>>0]|0)==(o&255)<<24>>24){o=z;p=l;m=x;do{p=p+-1|0;o=o+1|0;if(!p)break a;m=m+1|0}while((b[o>>0]|0)==(b[m>>0]|0))}}while(0);A=f[A>>2]|0;if(!A){H=G;w=86;break a}}}if(r){A=q;while(1){C=f[A+4>>2]|0;if((C|0)!=(F|0)){if(C>>>0>>0)I=C;else I=(C>>>0)%(E>>>0)|0;if((I|0)!=(G|0)){H=G;w=86;break a}}C=b[A+8+11>>0]|0;if(!((C<<24>>24<0?f[A+12>>2]|0:C&255)|0))break a;A=f[A>>2]|0;if(!A){H=G;w=86;break a}}}A=q;while(1){r=f[A+4>>2]|0;if((r|0)!=(F|0)){if(r>>>0>>0)J=r;else J=(r>>>0)%(E>>>0)|0;if((J|0)!=(G|0)){H=G;w=86;break a}}r=A+8|0;C=b[r+11>>0]|0;l=C<<24>>24<0;z=C&255;do if(((l?f[A+12>>2]|0:z)|0)==(y|0)){C=f[r>>2]|0;if(l)if(!(Fi(C,x,y)|0))break a;else break;if((b[x>>0]|0)==(C&255)<<24>>24){C=r;s=z;m=x;do{s=s+-1|0;C=C+1|0;if(!s)break a;m=m+1|0}while((b[C>>0]|0)==(b[m>>0]|0))}}while(0);A=f[A>>2]|0;if(!A){H=G;w=86;break}}}else{H=G;w=86}}else{H=0;w=86}while(0);if((w|0)==86){G=wk(32)|0;f[g>>2]=G;x=G+8|0;f[x>>2]=f[i>>2];f[x+4>>2]=f[i+4>>2];f[x+8>>2]=f[i+8>>2];f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;x=G+20|0;f[x>>2]=0;f[G+24>>2]=0;f[G+28>>2]=0;Kg(x,(f[v>>2]|0)-(f[c>>2]|0)|0);y=f[c>>2]|0;Bf(f[x>>2]|0,y|0,(f[v>>2]|0)-y|0)|0;f[G+4>>2]=F;f[G>>2]=0;y=a+12|0;K=_(((f[y>>2]|0)+1|0)>>>0);L=_(E>>>0);M=_(n[a+16>>2]);do if(D|_(M*L)>>0<3|(E+-1&E|0)!=0)&1;c=~~_(V(_(K/M)))>>>0;Xf(a,x>>>0>>0?c:x);x=f[B>>2]|0;c=x+-1|0;if(!(c&x)){N=x;O=c&F;break}if(F>>>0>>0){N=x;O=F}else{N=x;O=(F>>>0)%(x>>>0)|0}}else{N=E;O=H}while(0);H=(f[a>>2]|0)+(O<<2)|0;O=f[H>>2]|0;if(!O){E=a+8|0;f[G>>2]=f[E>>2];f[E>>2]=G;f[H>>2]=E;E=f[G>>2]|0;if(!E)P=g;else{H=f[E+4>>2]|0;E=N+-1|0;if(E&N)if(H>>>0>>0)Q=H;else Q=(H>>>0)%(N>>>0)|0;else Q=H&E;R=g;S=(f[a>>2]|0)+(Q<<2)|0;w=99}}else{f[G>>2]=f[O>>2];R=g;S=O;w=99}if((w|0)==99){f[S>>2]=G;P=R}f[y>>2]=(f[y>>2]|0)+1;f[P>>2]=0}P=f[i+12>>2]|0;if(P|0){f[v>>2]=P;Ko(P)}if((b[d>>0]|0)<0)Ko(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}f[k>>2]=i;Ko(i);u=e;return}function Ab(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=vl(o|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=l+q|0;q=0;while(1){d[g+(q<<1)>>1]=b[m>>0]|0;q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){r=l;break}else m=m+1|0}}else r=k;m=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 2:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=vl(o|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){d[g+(s<<1)>>1]=h[l>>0]|0;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){t=j;break}else l=l+1|0}}else t=q;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=vl(j|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=d[k>>1]|0;o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else k=k+2|0}}else u=s;k=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 4:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=Bk(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=vl(m|0,H|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=d[q>>1]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else q=q+2|0}}else v=o;q=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}case 5:{q=a+24|0;j=b[q>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;s=a+40|0;l=Bk(f[s>>2]|0,f[s+4>>2]|0,f[c>>2]|0,0)|0;s=a+48|0;m=vl(l|0,H|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=k+m|0;m=0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;k=b[q>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){w=k;break}else s=s+4|0}}else w=j;s=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 6:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;l=vl(k|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+l|0;l=0;while(1){d[g+(l<<1)>>1]=f[o>>2];l=l+1|0;q=b[s>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else o=o+4|0}}else x=m;o=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 7:{o=a+24|0;l=b[o>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){s=f[f[a>>2]>>2]|0;j=a+40|0;q=Bk(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=vl(q|0,H|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=s+k|0;k=0;while(1){d[g+(k<<1)>>1]=f[j>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){y=s;break}else j=j+8|0}}else y=l;j=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 8:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=vl(s|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+q|0;q=0;while(1){d[g+(q<<1)>>1]=f[m>>2];q=q+1|0;o=b[j>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else m=m+8|0}}else z=k;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 9:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=vl(o|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){j=~~_(n[l>>2])&65535;d[g+(s<<1)>>1]=j;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){A=j;break}else l=l+4|0}}else A=q;l=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 10:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=vl(j|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=~~+p[k>>3];o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else k=k+8|0}}else B=s;k=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=Bk(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=vl(m|0,H|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=h[q>>0]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){C=l;break}else q=q+1|0}}else C=o;q=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Bb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;m=a+40|0;o=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=vl(o|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=l+q|0;q=0;while(1){d[g+(q<<1)>>1]=b[m>>0]|0;q=q+1|0;l=b[j>>0]|0;if((q|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){r=l;break}else m=m+1|0}}else r=k;m=r<<24>>24;if(r<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 2:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=vl(o|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){d[g+(s<<1)>>1]=h[l>>0]|0;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){t=j;break}else l=l+1|0}}else t=q;l=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 3:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=vl(j|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=d[k>>1]|0;o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){u=m;break}else k=k+2|0}}else u=s;k=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 4:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=Bk(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=vl(m|0,H|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=d[q>>1]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else q=q+2|0}}else v=o;q=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}case 5:{q=a+24|0;j=b[q>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;s=a+40|0;l=Bk(f[s>>2]|0,f[s+4>>2]|0,f[c>>2]|0,0)|0;s=a+48|0;m=vl(l|0,H|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=k+m|0;m=0;while(1){d[g+(m<<1)>>1]=f[s>>2];m=m+1|0;k=b[q>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){w=k;break}else s=s+4|0}}else w=j;s=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(s<<1)|0,0,(e<<24>>24)-s<<1|0)|0;i=1;return i|0}case 6:{s=a+24|0;m=b[s>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;k=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;l=vl(k|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+l|0;l=0;while(1){d[g+(l<<1)>>1]=f[o>>2];l=l+1|0;q=b[s>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else o=o+4|0}}else x=m;o=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(o<<1)|0,0,(e<<24>>24)-o<<1|0)|0;i=1;return i|0}case 7:{o=a+24|0;l=b[o>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){s=f[f[a>>2]>>2]|0;j=a+40|0;q=Bk(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;k=vl(q|0,H|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=s+k|0;k=0;while(1){d[g+(k<<1)>>1]=f[j>>2];k=k+1|0;s=b[o>>0]|0;if((k|0)>=((s<<24>>24>e<<24>>24?e:s)<<24>>24|0)){y=s;break}else j=j+8|0}}else y=l;j=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(j<<1)|0,0,(e<<24>>24)-j<<1|0)|0;i=1;return i|0}case 8:{j=a+24|0;k=b[j>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;s=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;q=vl(s|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+q|0;q=0;while(1){d[g+(q<<1)>>1]=f[m>>2];q=q+1|0;o=b[j>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){z=o;break}else m=m+8|0}}else z=k;m=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<1)|0,0,(e<<24>>24)-m<<1|0)|0;i=1;return i|0}case 9:{m=a+24|0;q=b[m>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){j=f[f[a>>2]>>2]|0;l=a+40|0;o=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;s=vl(o|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=j+s|0;s=0;while(1){j=~~_(n[l>>2]);d[g+(s<<1)>>1]=j;s=s+1|0;j=b[m>>0]|0;if((s|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){A=j;break}else l=l+4|0}}else A=q;l=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(l<<1)|0,0,(e<<24>>24)-l<<1|0)|0;i=1;return i|0}case 10:{l=a+24|0;s=b[l>>0]|0;if((s<<24>>24>e<<24>>24?e:s)<<24>>24>0){m=f[f[a>>2]>>2]|0;k=a+40|0;j=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;o=vl(j|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=m+o|0;o=0;while(1){d[g+(o<<1)>>1]=~~+p[k>>3];o=o+1|0;m=b[l>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){B=m;break}else k=k+8|0}}else B=s;k=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(k<<1)|0,0,(e<<24>>24)-k<<1|0)|0;i=1;return i|0}case 11:{k=a+24|0;o=b[k>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){l=f[f[a>>2]>>2]|0;q=a+40|0;m=Bk(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;j=vl(m|0,H|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=l+j|0;j=0;while(1){d[g+(j<<1)>>1]=h[q>>0]|0;j=j+1|0;l=b[k>>0]|0;if((j|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){C=l;break}else q=q+1|0}}else C=o;q=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(q<<1)|0,0,(e<<24>>24)-q<<1|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Cb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=vl(q|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=vl(q|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=vl(k|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=Bk(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=vl(o|0,H|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=Bk(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=vl(m|0,H|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=Bk(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=vl(l|0,H|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=vl(r|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=vl(t|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=vl(q|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~_(n[m>>2])>>>0;f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=vl(k|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3]>>>0;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=Bk(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=vl(o|0,H|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Db(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=vl(q|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=vl(q|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=vl(k|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=Bk(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=vl(o|0,H|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=Bk(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=vl(m|0,H|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=Bk(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=vl(l|0,H|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=vl(r|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=vl(t|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=vl(q|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~_(n[m>>2]);f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=vl(k|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=Bk(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=vl(o|0,H|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Eb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=vl(m|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=k+o|0;o=0;while(1){b[g+o>>0]=b[l>>0]|0;o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){q=k;break}else l=l+1|0}}else q=j;l=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 2:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=vl(m|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){b[g+r>>0]=b[k>>0]|0;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){s=i;break}else k=k+1|0}}else s=o;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=Bk(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=vl(i|0,H|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=d[j>>1];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){t=l;break}else j=j+2|0}}else t=r;j=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 4:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=vl(l|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=d[o>>1];i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else o=o+2|0}}else u=m;o=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}case 5:{o=a+24|0;i=b[o>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){j=f[f[a>>2]>>2]|0;r=a+40|0;k=Bk(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;l=vl(k|0,H|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=j+l|0;l=0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;j=b[o>>0]|0;if((l|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){v=j;break}else r=r+4|0}}else v=i;r=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 6:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;j=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;k=vl(j|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+k|0;k=0;while(1){b[g+k>>0]=f[m>>2];k=k+1|0;o=b[r>>0]|0;if((k|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){w=o;break}else m=m+4|0}}else w=l;m=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 7:{m=a+24|0;k=b[m>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;i=a+40|0;o=Bk(f[i>>2]|0,f[i+4>>2]|0,f[c>>2]|0,0)|0;i=a+48|0;j=vl(o|0,H|0,f[i>>2]|0,f[i+4>>2]|0)|0;i=r+j|0;j=0;while(1){b[g+j>>0]=f[i>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){x=r;break}else i=i+8|0}}else x=k;i=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 8:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=vl(r|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=m+o|0;o=0;while(1){b[g+o>>0]=f[l>>2];o=o+1|0;m=b[i>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else l=l+8|0}}else y=j;l=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 9:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=vl(m|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){i=~~_(n[k>>2])&255;b[g+r>>0]=i;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){z=i;break}else k=k+4|0}}else z=o;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 10:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=Bk(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=vl(i|0,H|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=~~+p[j>>3];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else j=j+8|0}}else A=r;j=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 11:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=vl(l|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=b[o>>0]|0;i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else o=o+1|0}}else B=m;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function Fb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!g){h=0;return h|0}do switch(f[a+28>>2]|0){case 1:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){k=f[f[a>>2]>>2]|0;l=a+40|0;m=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=vl(m|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=k+o|0;o=0;while(1){b[g+o>>0]=b[l>>0]|0;o=o+1|0;k=b[i>>0]|0;if((o|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){q=k;break}else l=l+1|0}}else q=j;l=q<<24>>24;if(q<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 2:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=vl(m|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){b[g+r>>0]=b[k>>0]|0;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){s=i;break}else k=k+1|0}}else s=o;k=s<<24>>24;if(s<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 3:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=Bk(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=vl(i|0,H|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=d[j>>1];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){t=l;break}else j=j+2|0}}else t=r;j=t<<24>>24;if(t<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 4:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=vl(l|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=d[o>>1];i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else o=o+2|0}}else u=m;o=u<<24>>24;if(u<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}case 5:{o=a+24|0;i=b[o>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){j=f[f[a>>2]>>2]|0;r=a+40|0;k=Bk(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;l=vl(k|0,H|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=j+l|0;l=0;while(1){b[g+l>>0]=f[r>>2];l=l+1|0;j=b[o>>0]|0;if((l|0)>=((j<<24>>24>e<<24>>24?e:j)<<24>>24|0)){v=j;break}else r=r+4|0}}else v=i;r=v<<24>>24;if(v<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+r|0,0,(e<<24>>24)-r|0)|0;h=1;return h|0}case 6:{r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;m=a+40|0;j=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;k=vl(j|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=o+k|0;k=0;while(1){b[g+k>>0]=f[m>>2];k=k+1|0;o=b[r>>0]|0;if((k|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){w=o;break}else m=m+4|0}}else w=l;m=w<<24>>24;if(w<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+m|0,0,(e<<24>>24)-m|0)|0;h=1;return h|0}case 7:{m=a+24|0;k=b[m>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;i=a+40|0;o=Bk(f[i>>2]|0,f[i+4>>2]|0,f[c>>2]|0,0)|0;i=a+48|0;j=vl(o|0,H|0,f[i>>2]|0,f[i+4>>2]|0)|0;i=r+j|0;j=0;while(1){b[g+j>>0]=f[i>>2];j=j+1|0;r=b[m>>0]|0;if((j|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){x=r;break}else i=i+8|0}}else x=k;i=x<<24>>24;if(x<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+i|0,0,(e<<24>>24)-i|0)|0;h=1;return h|0}case 8:{i=a+24|0;j=b[i>>0]|0;if((j<<24>>24>e<<24>>24?e:j)<<24>>24>0){m=f[f[a>>2]>>2]|0;l=a+40|0;r=Bk(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;o=vl(r|0,H|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=m+o|0;o=0;while(1){b[g+o>>0]=f[l>>2];o=o+1|0;m=b[i>>0]|0;if((o|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){y=m;break}else l=l+8|0}}else y=j;l=y<<24>>24;if(y<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+l|0,0,(e<<24>>24)-l|0)|0;h=1;return h|0}case 9:{l=a+24|0;o=b[l>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){i=f[f[a>>2]>>2]|0;k=a+40|0;m=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=vl(m|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=i+r|0;r=0;while(1){i=~~_(n[k>>2]);b[g+r>>0]=i;r=r+1|0;i=b[l>>0]|0;if((r|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0)){z=i;break}else k=k+4|0}}else z=o;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+k|0,0,(e<<24>>24)-k|0)|0;h=1;return h|0}case 10:{k=a+24|0;r=b[k>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){l=f[f[a>>2]>>2]|0;j=a+40|0;i=Bk(f[j>>2]|0,f[j+4>>2]|0,f[c>>2]|0,0)|0;j=a+48|0;m=vl(i|0,H|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=l+m|0;m=0;while(1){b[g+m>>0]=~~+p[j>>3];m=m+1|0;l=b[k>>0]|0;if((m|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){A=l;break}else j=j+8|0}}else A=r;j=A<<24>>24;if(A<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+j|0,0,(e<<24>>24)-j|0)|0;h=1;return h|0}case 11:{j=a+24|0;m=b[j>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;l=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;i=vl(l|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+i|0;i=0;while(1){b[g+i>>0]=b[o>>0]|0;i=i+1|0;k=b[j>>0]|0;if((i|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else o=o+1|0}}else B=m;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){h=1;return h|0}oh(g+o|0,0,(e<<24>>24)-o|0)|0;h=1;return h|0}default:{h=0;return h|0}}while(0);return 0}function Gb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;h=a+4|0;i=f[(f[h>>2]|0)+44>>2]|0;j=a+8|0;k=f[j>>2]|0;l=((f[k+4>>2]|0)-(f[k>>2]|0)>>2>>>0)/3|0;k=i+96|0;m=i+100|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;i=f[k>>2]|0;n=((f[m>>2]|0)-i|0)/12|0;if(l>>>0<=n>>>0){if(l>>>0>>0)f[m>>2]=i+(l*12|0)}else lf(k,l-n|0,d);n=a+216|0;l=a+220|0;if((f[n>>2]|0)==(f[l>>2]|0)){k=f[h>>2]|0;i=f[k+44>>2]|0;m=f[i+100>>2]|0;o=f[i+96>>2]|0;if((m|0)!=(o|0)){i=d+4|0;p=d+8|0;q=o;r=(m-o|0)/12|0;o=0;do{f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;m=o*3|0;if((m|0)!=-1){s=f[(f[f[j>>2]>>2]|0)+(m<<2)>>2]|0;f[d>>2]=s;t=m+1|0;if((t|0)==-1){f[i>>2]=-1;v=0;w=s;x=77}else{y=t;z=s;x=76}}else{f[d>>2]=-1;y=0;z=-1;x=76}if((x|0)==76){x=0;f[i>>2]=f[(f[f[j>>2]>>2]|0)+(y<<2)>>2];s=m+2|0;if((s|0)==-1){A=-1;B=z}else{v=s;w=z;x=77}}if((x|0)==77){x=0;A=f[(f[f[j>>2]>>2]|0)+(v<<2)>>2]|0;B=w}f[p>>2]=A;f[q+(o*12|0)>>2]=B;f[q+(o*12|0)+4>>2]=f[i>>2];f[q+(o*12|0)+8>>2]=f[p>>2];o=o+1|0}while(o>>>0>>0)}f[(f[k+4>>2]|0)+80>>2]=b;C=1;u=c;return C|0}f[d>>2]=0;b=d+4|0;f[b>>2]=0;k=d+8|0;f[k>>2]=0;r=f[j>>2]|0;o=(f[r+4>>2]|0)-(f[r>>2]|0)|0;p=o>>2;f[e>>2]=0;q=e+4|0;f[q>>2]=0;i=e+8|0;f[i>>2]=0;do if(o|0)if(p>>>0>1073741823)$n(e);else{B=wk(o)|0;f[e>>2]=B;A=B+(p<<2)|0;f[i>>2]=A;oh(B|0,0,o|0)|0;f[q>>2]=A;break}while(0);a:do if(((f[r+28>>2]|0)-(f[r+24>>2]|0)|0)>0){o=a+120|0;i=0;p=r;while(1){A=f[(f[p+24>>2]|0)+(i<<2)>>2]|0;b:do if((A|0)!=-1){c:do if((f[(f[o>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0?(B=f[l>>2]|0,w=f[n>>2]|0,v=w,(B|0)!=(w|0)):0){z=(((A>>>0)%3|0|0)==0?2:-1)+A|0;y=p+12|0;s=(B-w|0)/144|0;if((z|0)==-1){w=0;while(1){B=f[(f[f[v+(w*144|0)+68>>2]>>2]|0)+(A<<2)>>2]|0;if(1<<(B&31)&f[(f[v+(w*144|0)+16>>2]|0)+(B>>>5<<2)>>2]|0){D=0;break a}w=w+1|0;if(w>>>0>=s>>>0){E=A;break c}}}w=0;while(1){B=f[(f[f[v+(w*144|0)+68>>2]>>2]|0)+(A<<2)>>2]|0;if(1<<(B&31)&f[(f[v+(w*144|0)+16>>2]|0)+(B>>>5<<2)>>2]|0){B=f[v+(w*144|0)+32>>2]|0;m=f[B+(A<<2)>>2]|0;t=f[y>>2]|0;F=f[t+(z<<2)>>2]|0;do if((F|0)!=-1)if(!((F>>>0)%3|0)){G=F+2|0;break}else{G=F+-1|0;break}else G=-1;while(0);if((G|0)!=(A|0)){F=G;while(1){if((F|0)==-1){D=0;break a}if((f[B+(F<<2)>>2]|0)!=(m|0)){E=F;break c}H=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if((H|0)!=-1){I=f[t+(H<<2)>>2]|0;if((I|0)==-1){J=-1;break}if(!((I>>>0)%3|0)){J=I+2|0;break}else{J=I+-1|0;break}}else J=-1;while(0);if((J|0)==(A|0))break;else F=J}}}w=w+1|0;if(w>>>0>=s>>>0){E=A;break}}}else E=A;while(0);s=f[b>>2]|0;f[(f[e>>2]|0)+(E<<2)>>2]=s-(f[d>>2]|0)>>2;f[g>>2]=E;w=s;if((f[k>>2]|0)>>>0>w>>>0){f[w>>2]=E;f[b>>2]=w+4;K=p}else{Ng(d,g);K=f[j>>2]|0}if((((E|0)!=-1?(w=(((E>>>0)%3|0|0)==0?2:-1)+E|0,(w|0)!=-1):0)?(s=f[(f[K+12>>2]|0)+(w<<2)>>2]|0,(s|0)!=-1):0)?(w=s+(((s>>>0)%3|0|0)==0?2:-1)|0,(w|0)!=-1&(w|0)!=(E|0)):0){s=E;z=w;w=K;while(1){y=f[l>>2]|0;v=f[n>>2]|0;F=v;d:do if((y|0)==(v|0))x=59;else{t=(y-v|0)/144|0;m=0;while(1){B=f[F+(m*144|0)+32>>2]|0;m=m+1|0;if((f[B+(z<<2)>>2]|0)!=(f[B+(s<<2)>>2]|0))break;if(m>>>0>=t>>>0){x=59;break d}}t=f[b>>2]|0;f[(f[e>>2]|0)+(z<<2)>>2]=t-(f[d>>2]|0)>>2;f[g>>2]=z;m=t;if((f[k>>2]|0)>>>0>m>>>0){f[m>>2]=z;f[b>>2]=m+4;L=w}else{Ng(d,g);L=f[j>>2]|0}M=L}while(0);if((x|0)==59){x=0;F=f[e>>2]|0;f[F+(z<<2)>>2]=f[F+(s<<2)>>2];M=w}if((z|0)==-1){N=M;break b}F=(((z>>>0)%3|0|0)==0?2:-1)+z|0;if((F|0)==-1){N=M;break b}v=f[(f[M+12>>2]|0)+(F<<2)>>2]|0;if((v|0)==-1){N=M;break b}F=v+(((v>>>0)%3|0|0)==0?2:-1)|0;if((F|0)!=-1&(F|0)!=(E|0)){v=z;z=F;w=M;s=v}else{N=M;break}}}else N=K}else N=p;while(0);i=i+1|0;if((i|0)>=((f[N+28>>2]|0)-(f[N+24>>2]|0)>>2|0)){x=65;break}else p=N}}else x=65;while(0);if((x|0)==65){x=f[h>>2]|0;h=f[x+44>>2]|0;N=f[h+100>>2]|0;K=f[h+96>>2]|0;if((N|0)!=(K|0)?(h=f[e>>2]|0,M=g+4|0,E=g+8|0,L=(N-K|0)/12|0,f[g>>2]=f[h>>2],f[g+4>>2]=f[h+4>>2],f[g+8>>2]=f[h+8>>2],N=K,f[N>>2]=f[g>>2],f[N+4>>2]=f[M>>2],f[N+8>>2]=f[E>>2],L>>>0>1):0){K=1;do{j=h+(K*3<<2)|0;f[g>>2]=f[j>>2];f[g+4>>2]=f[j+4>>2];f[g+8>>2]=f[j+8>>2];f[N+(K*12|0)>>2]=f[g>>2];f[N+(K*12|0)+4>>2]=f[M>>2];f[N+(K*12|0)+8>>2]=f[E>>2];K=K+1|0}while(K>>>0>>0)}f[(f[x+4>>2]|0)+80>>2]=(f[b>>2]|0)-(f[d>>2]|0)>>2;D=1}x=f[e>>2]|0;if(x|0){f[q>>2]=x;Ko(x)}x=f[d>>2]|0;if(x|0){f[b>>2]=x;Ko(x)}C=D;u=c;return C|0}function Hb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;f[l>>2]=k;m=k;k=a+64|0;if((f[k>>2]|0)==(m|0))Ng(i,b);else{f[m>>2]=g;f[l>>2]=m+4}m=f[a>>2]|0;g=f[b>>2]|0;n=g+1|0;do if((g|0)!=-1){o=f[m+28>>2]|0;p=f[o+((((n>>>0)%3|0|0)==0?g+-2|0:n)<<2)>>2]|0;if(!((g>>>0)%3|0)){q=p;r=g+2|0;s=o;break}else{q=p;r=g+-1|0;s=o;break}}else{o=f[m+28>>2]|0;q=f[o+-4>>2]|0;r=-1;s=o}while(0);m=f[s+(r<<2)>>2]|0;if((q|0)==-1|(m|0)==-1){h=0;u=c;return h|0}r=a+24|0;s=f[r>>2]|0;g=s+(q>>>5<<2)|0;n=1<<(q&31);o=f[g>>2]|0;if(!(o&n)){f[g>>2]=o|n;n=f[b>>2]|0;o=n+1|0;if((n|0)==-1)t=-1;else t=((o>>>0)%3|0|0)==0?n+-2|0:o;f[e>>2]=t;o=(t>>>0)/3|0;n=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(o*12|0)+(t-(o*3|0)<<2)>>2]|0;o=f[a+48>>2]|0;f[d>>2]=n;t=f[o+4>>2]|0;o=t+4|0;g=f[o>>2]|0;if((g|0)==(f[t+8>>2]|0))Ng(t,d);else{f[g>>2]=n;f[o>>2]=g+4}g=a+40|0;o=f[g>>2]|0;n=o+4|0;t=f[n>>2]|0;if((t|0)==(f[o+8>>2]|0)){Ng(o,e);v=f[g>>2]|0}else{f[t>>2]=f[e>>2];f[n>>2]=t+4;v=o}o=v+24|0;f[(f[v+12>>2]|0)+(q<<2)>>2]=f[o>>2];f[o>>2]=(f[o>>2]|0)+1;w=f[r>>2]|0}else w=s;s=w+(m>>>5<<2)|0;w=1<<(m&31);o=f[s>>2]|0;if(!(o&w)){f[s>>2]=o|w;w=f[b>>2]|0;do if((w|0)!=-1)if(!((w>>>0)%3|0)){x=w+2|0;break}else{x=w+-1|0;break}else x=-1;while(0);f[e>>2]=x;w=(x>>>0)/3|0;o=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(w*12|0)+(x-(w*3|0)<<2)>>2]|0;w=f[a+48>>2]|0;f[d>>2]=o;x=f[w+4>>2]|0;w=x+4|0;s=f[w>>2]|0;if((s|0)==(f[x+8>>2]|0))Ng(x,d);else{f[s>>2]=o;f[w>>2]=s+4}s=a+40|0;w=f[s>>2]|0;o=w+4|0;x=f[o>>2]|0;if((x|0)==(f[w+8>>2]|0)){Ng(w,e);y=f[s>>2]|0}else{f[x>>2]=f[e>>2];f[o>>2]=x+4;y=w}w=y+24|0;f[(f[y+12>>2]|0)+(m<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+1}w=f[l>>2]|0;if((f[i>>2]|0)==(w|0)){h=1;u=c;return h|0}m=a+44|0;y=a+48|0;x=a+40|0;o=w;a:while(1){w=o+-4|0;s=f[w>>2]|0;f[b>>2]=s;q=(s>>>0)/3|0;if((s|0)!=-1?(s=(f[j>>2]|0)+(q>>>5<<2)|0,v=1<<(q&31),q=f[s>>2]|0,(q&v|0)==0):0){f[s>>2]=q|v;v=f[a>>2]|0;q=f[b>>2]|0;s=f[(f[v+28>>2]|0)+(q<<2)>>2]|0;if((s|0)==-1){h=0;z=78;break}t=s;s=v;v=q;b:while(1){q=(f[r>>2]|0)+(t>>>5<<2)|0;n=1<<(t&31);g=f[q>>2]|0;if(!(g&n)){p=f[(f[s+40>>2]|0)+(t<<2)>>2]|0;if((p|0)==-1)A=1;else{B=f[(f[f[s+64>>2]>>2]|0)+(p<<2)>>2]|0;A=(1<<(B&31)&f[(f[s+12>>2]|0)+(B>>>5<<2)>>2]|0)!=0}f[q>>2]=g|n;n=f[b>>2]|0;f[e>>2]=n;g=(n>>>0)/3|0;q=f[(f[(f[m>>2]|0)+96>>2]|0)+(g*12|0)+(n-(g*3|0)<<2)>>2]|0;g=f[y>>2]|0;f[d>>2]=q;n=f[g+4>>2]|0;g=n+4|0;B=f[g>>2]|0;if((B|0)==(f[n+8>>2]|0))Ng(n,d);else{f[B>>2]=q;f[g>>2]=B+4}B=f[x>>2]|0;g=B+4|0;q=f[g>>2]|0;if((q|0)==(f[B+8>>2]|0)){Ng(B,e);C=f[x>>2]|0}else{f[q>>2]=f[e>>2];f[g>>2]=q+4;C=B}B=C+24|0;f[(f[C+12>>2]|0)+(t<<2)>>2]=f[B>>2];f[B>>2]=(f[B>>2]|0)+1;B=f[a>>2]|0;q=f[b>>2]|0;if(A){D=q;E=B;z=55}else{g=q+1|0;do if((q|0)==-1)F=-1;else{n=((g>>>0)%3|0|0)==0?q+-2|0:g;if((n|0)==-1){F=-1;break}if(f[(f[B>>2]|0)+(n>>>5<<2)>>2]&1<<(n&31)|0){F=-1;break}F=f[(f[(f[B+64>>2]|0)+12>>2]|0)+(n<<2)>>2]|0}while(0);f[b>>2]=F;G=(F>>>0)/3|0}}else{D=v;E=s;z=55}if((z|0)==55){z=0;B=D+1|0;if((D|0)==-1){z=59;break}g=((B>>>0)%3|0|0)==0?D+-2|0:B;if((g|0)!=-1?(f[(f[E>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0:0)H=f[(f[(f[E+64>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;else H=-1;f[d>>2]=H;g=(((D>>>0)%3|0|0)==0?2:-1)+D|0;do if((g|0)==-1)I=-1;else{if(f[(f[E>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0){I=-1;break}I=f[(f[(f[E+64>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}while(0);g=(H|0)==-1;B=(H>>>0)/3|0;q=g?-1:B;n=(I|0)==-1;p=(I>>>0)/3|0;J=n?-1:p;do if(!g){K=f[j>>2]|0;if(f[K+(q>>>5<<2)>>2]&1<<(q&31)|0){z=65;break}if(n){L=B;M=H;break}if(!(f[K+(J>>>5<<2)>>2]&1<<(J&31))){z=70;break b}else{L=B;M=H}}else z=65;while(0);if((z|0)==65){z=0;if(n){z=67;break}if(!(f[(f[j>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31))){L=p;M=I}else{z=67;break}}f[b>>2]=M;G=L}B=(f[j>>2]|0)+(G>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(G&31);s=f[a>>2]|0;v=f[b>>2]|0;t=f[(f[s+28>>2]|0)+(v<<2)>>2]|0;if((t|0)==-1){h=0;z=78;break a}}do if((z|0)==59){z=0;f[d>>2]=-1;z=67}else if((z|0)==70){z=0;t=f[l>>2]|0;f[t+-4>>2]=I;if((t|0)==(f[k>>2]|0)){Ng(i,d);break}else{f[t>>2]=f[d>>2];f[l>>2]=t+4;break}}while(0);if((z|0)==67){z=0;f[l>>2]=(f[l>>2]|0)+-4}}else f[l>>2]=w;o=f[l>>2]|0;if((f[i>>2]|0)==(o|0)){h=1;z=78;break}}if((z|0)==78){u=c;return h|0}return 0}function Ib(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){h=1;u=c;return h|0}i=(g>>>0)/3|0;j=a+12|0;if(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0){h=1;u=c;return h|0}i=a+56|0;k=f[i>>2]|0;l=a+60|0;f[l>>2]=k;m=k;k=a+64|0;if((f[k>>2]|0)==(m|0))Ng(i,b);else{f[m>>2]=g;f[l>>2]=m+4}m=f[a>>2]|0;g=f[b>>2]|0;n=g+1|0;if((g|0)==-1){h=0;u=c;return h|0}o=((n>>>0)%3|0|0)==0?g+-2|0:n;if((o|0)==-1)p=-1;else p=f[(f[m>>2]|0)+(o<<2)>>2]|0;o=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((o|0)==-1){h=0;u=c;return h|0}g=f[(f[m>>2]|0)+(o<<2)>>2]|0;if((p|0)==-1|(g|0)==-1){h=0;u=c;return h|0}o=a+24|0;m=f[o>>2]|0;n=m+(p>>>5<<2)|0;q=1<<(p&31);r=f[n>>2]|0;if(!(r&q)){f[n>>2]=r|q;q=f[b>>2]|0;r=q+1|0;if((q|0)==-1)s=-1;else s=((r>>>0)%3|0|0)==0?q+-2|0:r;f[e>>2]=s;r=(s>>>0)/3|0;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(r*12|0)+(s-(r*3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=q;s=f[r+4>>2]|0;r=s+4|0;n=f[r>>2]|0;if((n|0)==(f[s+8>>2]|0))Ng(s,d);else{f[n>>2]=q;f[r>>2]=n+4}n=a+40|0;r=f[n>>2]|0;q=r+4|0;s=f[q>>2]|0;if((s|0)==(f[r+8>>2]|0)){Ng(r,e);t=f[n>>2]|0}else{f[s>>2]=f[e>>2];f[q>>2]=s+4;t=r}r=t+24|0;f[(f[t+12>>2]|0)+(p<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1;v=f[o>>2]|0}else v=m;m=v+(g>>>5<<2)|0;v=1<<(g&31);r=f[m>>2]|0;if(!(r&v)){f[m>>2]=r|v;v=f[b>>2]|0;do if((v|0)!=-1)if(!((v>>>0)%3|0)){w=v+2|0;break}else{w=v+-1|0;break}else w=-1;while(0);f[e>>2]=w;v=(w>>>0)/3|0;r=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(v*12|0)+(w-(v*3|0)<<2)>>2]|0;v=f[a+48>>2]|0;f[d>>2]=r;w=f[v+4>>2]|0;v=w+4|0;m=f[v>>2]|0;if((m|0)==(f[w+8>>2]|0))Ng(w,d);else{f[m>>2]=r;f[v>>2]=m+4}m=a+40|0;v=f[m>>2]|0;r=v+4|0;w=f[r>>2]|0;if((w|0)==(f[v+8>>2]|0)){Ng(v,e);x=f[m>>2]|0}else{f[w>>2]=f[e>>2];f[r>>2]=w+4;x=v}v=x+24|0;f[(f[x+12>>2]|0)+(g<<2)>>2]=f[v>>2];f[v>>2]=(f[v>>2]|0)+1}v=f[l>>2]|0;if((f[i>>2]|0)==(v|0)){h=1;u=c;return h|0}g=a+44|0;x=a+48|0;w=a+40|0;r=v;a:while(1){v=r+-4|0;m=f[v>>2]|0;f[b>>2]=m;p=(m>>>0)/3|0;if((m|0)!=-1?(m=(f[j>>2]|0)+(p>>>5<<2)|0,t=1<<(p&31),p=f[m>>2]|0,(p&t|0)==0):0){f[m>>2]=p|t;t=f[b>>2]|0;if((t|0)==-1){h=0;y=79;break}p=t;b:while(1){t=f[a>>2]|0;m=f[(f[t>>2]|0)+(p<<2)>>2]|0;if((m|0)==-1){h=0;y=79;break a}s=(f[o>>2]|0)+(m>>>5<<2)|0;q=1<<(m&31);n=f[s>>2]|0;do if(!(n&q)){z=f[(f[t+24>>2]|0)+(m<<2)>>2]|0;A=z+1|0;do if((z|0)!=-1){B=((A>>>0)%3|0|0)==0?z+-2|0:A;if((B|0)==-1){y=46;break}C=f[(f[t+12>>2]|0)+(B<<2)>>2]|0;B=C+1|0;if((C|0)==-1){y=46;break}if(((((B>>>0)%3|0|0)==0?C+-2|0:B)|0)!=-1)D=0;else y=46}else y=46;while(0);if((y|0)==46){y=0;D=1}f[s>>2]=n|q;A=f[b>>2]|0;f[e>>2]=A;z=(A>>>0)/3|0;B=f[(f[(f[g>>2]|0)+96>>2]|0)+(z*12|0)+(A-(z*3|0)<<2)>>2]|0;z=f[x>>2]|0;f[d>>2]=B;A=f[z+4>>2]|0;z=A+4|0;C=f[z>>2]|0;if((C|0)==(f[A+8>>2]|0))Ng(A,d);else{f[C>>2]=B;f[z>>2]=C+4}C=f[w>>2]|0;z=C+4|0;B=f[z>>2]|0;if((B|0)==(f[C+8>>2]|0)){Ng(C,e);E=f[w>>2]|0}else{f[B>>2]=f[e>>2];f[z>>2]=B+4;E=C}C=E+24|0;f[(f[E+12>>2]|0)+(m<<2)>>2]=f[C>>2];f[C>>2]=(f[C>>2]|0)+1;C=f[a>>2]|0;B=f[b>>2]|0;if(D)if((B|0)==-1){y=61;break b}else{F=B;G=C;y=59;break}do if((B|0)==-1)H=-1;else{z=B+1|0;A=((z>>>0)%3|0|0)==0?B+-2|0:z;if((A|0)==-1){H=-1;break}H=f[(f[C+12>>2]|0)+(A<<2)>>2]|0}while(0);f[b>>2]=H;I=(H>>>0)/3|0}else{F=p;G=t;y=59}while(0);if((y|0)==59){y=0;t=F+1|0;m=((t>>>0)%3|0|0)==0?F+-2|0:t;if((m|0)==-1)J=-1;else J=f[(f[G+12>>2]|0)+(m<<2)>>2]|0;f[d>>2]=J;m=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((m|0)==-1)K=-1;else K=f[(f[G+12>>2]|0)+(m<<2)>>2]|0;m=(J|0)==-1;t=(J>>>0)/3|0;q=m?-1:t;n=(K|0)==-1;s=(K>>>0)/3|0;C=n?-1:s;do if(!m){B=f[j>>2]|0;if(f[B+(q>>>5<<2)>>2]&1<<(q&31)|0){y=66;break}if(n){L=t;M=J;break}if(!(f[B+(C>>>5<<2)>>2]&1<<(C&31))){y=71;break b}else{L=t;M=J}}else y=66;while(0);if((y|0)==66){y=0;if(n){y=68;break}if(!(f[(f[j>>2]|0)+(C>>>5<<2)>>2]&1<<(C&31))){L=s;M=K}else{y=68;break}}f[b>>2]=M;I=L}t=(f[j>>2]|0)+(I>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(I&31);p=f[b>>2]|0;if((p|0)==-1){h=0;y=79;break a}}do if((y|0)==61){y=0;f[d>>2]=-1;y=68}else if((y|0)==71){y=0;p=f[l>>2]|0;f[p+-4>>2]=K;if((p|0)==(f[k>>2]|0)){Ng(i,d);break}else{f[p>>2]=f[d>>2];f[l>>2]=p+4;break}}while(0);if((y|0)==68){y=0;f[l>>2]=(f[l>>2]|0)+-4}}else f[l>>2]=v;r=f[l>>2]|0;if((f[i>>2]|0)==(r|0)){h=1;y=79;break}}if((y|0)==79){u=c;return h|0}return 0}function Jb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=f[c>>2]|0;c=m+1|0;if((m|0)!=-1){n=((c>>>0)%3|0|0)==0?m+-2|0:c;c=(((m>>>0)%3|0|0)==0?2:-1)+m|0;m=f[a+32>>2]|0;if((n|0)==-1)o=-1;else o=f[(f[m>>2]|0)+(n<<2)>>2]|0;if((c|0)==-1){p=o;q=-1}else{p=o;q=f[(f[m>>2]|0)+(c<<2)>>2]|0}}else{p=-1;q=-1}c=f[a+36>>2]|0;m=f[c>>2]|0;o=(f[c+4>>2]|0)-m>>2;if(o>>>0<=p>>>0)$n(c);n=m;m=f[n+(p<<2)>>2]|0;if(o>>>0<=q>>>0)$n(c);c=f[n+(q<<2)>>2]|0;q=(m|0)<(e|0);do if(q&(c|0)<(e|0)){n=m<<1;o=f[d+(n<<2)>>2]|0;p=((o|0)<0)<<31>>31;r=f[d+((n|1)<<2)>>2]|0;n=((r|0)<0)<<31>>31;s=c<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(o|0)|(v|0)!=(r|0))){f[a+8>>2]=o;f[a+12>>2]=r;w=1;u=g;return w|0}s=a+4|0;x=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else z=x;f[i>>2]=z;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];wb(y,h,x,j)|0;x=f[(f[s>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else A=x;f[i>>2]=A;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];wb(y,h,x,k)|0;x=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))B=f[(f[s+68>>2]|0)+(x<<2)>>2]|0;else B=x;f[i>>2]=B;x=b[s+24>>0]|0;f[h>>2]=f[i>>2];wb(s,h,x,l)|0;x=l;s=k;y=f[s>>2]|0;C=f[s+4>>2]|0;s=wl(f[x>>2]|0,f[x+4>>2]|0,y|0,C|0)|0;x=H;D=l+8|0;E=k+8|0;F=f[E>>2]|0;G=f[E+4>>2]|0;E=wl(f[D>>2]|0,f[D+4>>2]|0,F|0,G|0)|0;D=H;I=l+16|0;J=k+16|0;K=f[J>>2]|0;L=f[J+4>>2]|0;J=wl(f[I>>2]|0,f[I+4>>2]|0,K|0,L|0)|0;I=H;M=Bk(s|0,x|0,s|0,x|0)|0;N=H;O=Bk(E|0,D|0,E|0,D|0)|0;P=vl(O|0,H|0,M|0,N|0)|0;N=H;M=Bk(J|0,I|0,J|0,I|0)|0;O=vl(P|0,N|0,M|0,H|0)|0;M=H;if((O|0)==0&(M|0)==0)break;N=j;P=wl(f[N>>2]|0,f[N+4>>2]|0,y|0,C|0)|0;C=H;y=j+8|0;N=wl(f[y>>2]|0,f[y+4>>2]|0,F|0,G|0)|0;G=H;F=j+16|0;y=wl(f[F>>2]|0,f[F+4>>2]|0,K|0,L|0)|0;L=H;K=Bk(P|0,C|0,s|0,x|0)|0;F=H;Q=Bk(N|0,G|0,E|0,D|0)|0;R=vl(Q|0,H|0,K|0,F|0)|0;F=H;K=Bk(y|0,L|0,J|0,I|0)|0;Q=vl(R|0,F|0,K|0,H|0)|0;K=H;F=wl(t|0,((t|0)<0)<<31>>31|0,o|0,p|0)|0;t=H;R=wl(v|0,((v|0)<0)<<31>>31|0,r|0,n|0)|0;v=H;S=Bk(O|0,M|0,o|0,p|0)|0;p=H;o=Bk(O|0,M|0,r|0,n|0)|0;n=H;r=Bk(Q|0,K|0,F|0,t|0)|0;T=H;U=Bk(Q|0,K|0,R|0,v|0)|0;V=H;W=vl(r|0,T|0,S|0,p|0)|0;p=H;S=vl(U|0,V|0,o|0,n|0)|0;n=H;o=Bk(Q|0,K|0,s|0,x|0)|0;x=H;s=Bk(Q|0,K|0,E|0,D|0)|0;D=H;E=Bk(Q|0,K|0,J|0,I|0)|0;I=H;J=ni(o|0,x|0,O|0,M|0)|0;x=H;o=ni(s|0,D|0,O|0,M|0)|0;D=H;s=ni(E|0,I|0,O|0,M|0)|0;I=H;E=wl(P|0,C|0,J|0,x|0)|0;x=H;J=wl(N|0,G|0,o|0,D|0)|0;D=H;o=wl(y|0,L|0,s|0,I|0)|0;I=H;s=Bk(E|0,x|0,E|0,x|0)|0;x=H;E=Bk(J|0,D|0,J|0,D|0)|0;D=vl(E|0,H|0,s|0,x|0)|0;x=H;s=Bk(o|0,I|0,o|0,I|0)|0;I=vl(D|0,x|0,s|0,H|0)|0;s=H;x=wl(0,0,F|0,t|0)|0;t=H;F=Bk(I|0,s|0,O|0,M|0)|0;s=H;switch(F|0){case 0:{if(!s){X=F;Y=s}else Z=23;break}case 1:{if(!s){_=F;$=s;Z=25}else Z=23;break}default:Z=23}if((Z|0)==23){I=1;D=0;o=F;E=s;while(1){J=rl(I|0,D|0,1)|0;L=H;y=o;o=xl(o|0,E|0,2)|0;if(!(E>>>0>0|(E|0)==0&y>>>0>7)){_=J;$=L;Z=25;break}else{I=J;D=L;E=H}}}if((Z|0)==25){E=_;D=$;while(1){I=ln(F|0,s|0,E|0,D|0)|0;o=vl(I|0,H|0,E|0,D|0)|0;I=xl(o|0,H|0,1)|0;o=H;L=Bk(I|0,o|0,I|0,o|0)|0;J=H;if(J>>>0>s>>>0|(J|0)==(s|0)&L>>>0>F>>>0){E=I;D=o}else{X=I;Y=o;break}}}D=Bk(X|0,Y|0,R|0,v|0)|0;E=H;F=Bk(X|0,Y|0,x|0,t|0)|0;s=H;o=a+20|0;I=f[o>>2]|0;if(!I)aa=0;else{L=I+-1|0;I=(f[(f[a+16>>2]|0)+(L>>>5<<2)>>2]&1<<(L&31)|0)==0;f[o>>2]=L;L=wl(0,0,F|0,s|0)|0;o=vl(S|0,n|0,(I?L:F)|0,(I?H:s)|0)|0;s=H;F=wl(0,0,D|0,E|0)|0;L=vl(W|0,p|0,(I?F:D)|0,(I?H:E)|0)|0;E=ni(L|0,H|0,O|0,M|0)|0;L=ni(o|0,s|0,O|0,M|0)|0;f[a+8>>2]=E;f[a+12>>2]=L;aa=1}w=aa;u=g;return w|0}while(0);do if(q)ba=m<<1;else{if((e|0)>0){ba=(e<<1)+-2|0;break}aa=a+8|0;f[aa>>2]=0;f[aa+4>>2]=0;w=1;u=g;return w|0}while(0);f[a+8>>2]=f[d+(ba<<2)>>2];f[a+12>>2]=f[d+(ba+1<<2)>>2];w=1;u=g;return w|0}function Kb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;do if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;if(!((n>>>0)%3|0)){p=n+2|0;q=o;break}else{p=n+-1|0;q=o;break}}else{p=-1;q=-1}while(0);n=f[(f[m>>2]|0)+28>>2]|0;m=f[n+(q<<2)>>2]|0;q=f[n+(p<<2)>>2]|0;p=f[a+36>>2]|0;n=f[p>>2]|0;c=(f[p+4>>2]|0)-n>>2;if(c>>>0<=m>>>0)$n(p);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=q>>>0)$n(p);p=f[o+(q<<2)>>2]|0;q=(n|0)<(e|0);do if(q&(p|0)<(e|0)){o=n<<1;c=f[d+(o<<2)>>2]|0;m=((c|0)<0)<<31>>31;r=f[d+((o|1)<<2)>>2]|0;o=((r|0)<0)<<31>>31;s=p<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(c|0)|(v|0)!=(r|0))){f[a+8>>2]=c;f[a+12>>2]=r;w=1;u=g;return w|0}s=a+4|0;x=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))z=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else z=x;f[i>>2]=z;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];wb(y,h,x,j)|0;x=f[(f[s>>2]|0)+(n<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;y=f[a>>2]|0;if(!(b[y+84>>0]|0))A=f[(f[y+68>>2]|0)+(x<<2)>>2]|0;else A=x;f[i>>2]=A;x=b[y+24>>0]|0;f[h>>2]=f[i>>2];wb(y,h,x,k)|0;x=f[(f[s>>2]|0)+(p<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))B=f[(f[s+68>>2]|0)+(x<<2)>>2]|0;else B=x;f[i>>2]=B;x=b[s+24>>0]|0;f[h>>2]=f[i>>2];wb(s,h,x,l)|0;x=l;s=k;y=f[s>>2]|0;C=f[s+4>>2]|0;s=wl(f[x>>2]|0,f[x+4>>2]|0,y|0,C|0)|0;x=H;D=l+8|0;E=k+8|0;F=f[E>>2]|0;G=f[E+4>>2]|0;E=wl(f[D>>2]|0,f[D+4>>2]|0,F|0,G|0)|0;D=H;I=l+16|0;J=k+16|0;K=f[J>>2]|0;L=f[J+4>>2]|0;J=wl(f[I>>2]|0,f[I+4>>2]|0,K|0,L|0)|0;I=H;M=Bk(s|0,x|0,s|0,x|0)|0;N=H;O=Bk(E|0,D|0,E|0,D|0)|0;P=vl(O|0,H|0,M|0,N|0)|0;N=H;M=Bk(J|0,I|0,J|0,I|0)|0;O=vl(P|0,N|0,M|0,H|0)|0;M=H;if((O|0)==0&(M|0)==0)break;N=j;P=wl(f[N>>2]|0,f[N+4>>2]|0,y|0,C|0)|0;C=H;y=j+8|0;N=wl(f[y>>2]|0,f[y+4>>2]|0,F|0,G|0)|0;G=H;F=j+16|0;y=wl(f[F>>2]|0,f[F+4>>2]|0,K|0,L|0)|0;L=H;K=Bk(P|0,C|0,s|0,x|0)|0;F=H;Q=Bk(N|0,G|0,E|0,D|0)|0;R=vl(Q|0,H|0,K|0,F|0)|0;F=H;K=Bk(y|0,L|0,J|0,I|0)|0;Q=vl(R|0,F|0,K|0,H|0)|0;K=H;F=wl(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=H;R=wl(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=H;S=Bk(O|0,M|0,c|0,m|0)|0;m=H;c=Bk(O|0,M|0,r|0,o|0)|0;o=H;r=Bk(Q|0,K|0,F|0,t|0)|0;T=H;U=Bk(Q|0,K|0,R|0,v|0)|0;V=H;W=vl(r|0,T|0,S|0,m|0)|0;m=H;S=vl(U|0,V|0,c|0,o|0)|0;o=H;c=Bk(Q|0,K|0,s|0,x|0)|0;x=H;s=Bk(Q|0,K|0,E|0,D|0)|0;D=H;E=Bk(Q|0,K|0,J|0,I|0)|0;I=H;J=ni(c|0,x|0,O|0,M|0)|0;x=H;c=ni(s|0,D|0,O|0,M|0)|0;D=H;s=ni(E|0,I|0,O|0,M|0)|0;I=H;E=wl(P|0,C|0,J|0,x|0)|0;x=H;J=wl(N|0,G|0,c|0,D|0)|0;D=H;c=wl(y|0,L|0,s|0,I|0)|0;I=H;s=Bk(E|0,x|0,E|0,x|0)|0;x=H;E=Bk(J|0,D|0,J|0,D|0)|0;D=vl(E|0,H|0,s|0,x|0)|0;x=H;s=Bk(c|0,I|0,c|0,I|0)|0;I=vl(D|0,x|0,s|0,H|0)|0;s=H;x=wl(0,0,F|0,t|0)|0;t=H;F=Bk(I|0,s|0,O|0,M|0)|0;s=H;switch(F|0){case 0:{if(!s){X=F;Y=s}else Z=22;break}case 1:{if(!s){_=F;$=s;Z=24}else Z=22;break}default:Z=22}if((Z|0)==22){I=1;D=0;c=F;E=s;while(1){J=rl(I|0,D|0,1)|0;L=H;y=c;c=xl(c|0,E|0,2)|0;if(!(E>>>0>0|(E|0)==0&y>>>0>7)){_=J;$=L;Z=24;break}else{I=J;D=L;E=H}}}if((Z|0)==24){E=_;D=$;while(1){I=ln(F|0,s|0,E|0,D|0)|0;c=vl(I|0,H|0,E|0,D|0)|0;I=xl(c|0,H|0,1)|0;c=H;L=Bk(I|0,c|0,I|0,c|0)|0;J=H;if(J>>>0>s>>>0|(J|0)==(s|0)&L>>>0>F>>>0){E=I;D=c}else{X=I;Y=c;break}}}D=Bk(X|0,Y|0,R|0,v|0)|0;E=H;F=Bk(X|0,Y|0,x|0,t|0)|0;s=H;c=a+20|0;I=f[c>>2]|0;if(!I)aa=0;else{L=I+-1|0;I=(f[(f[a+16>>2]|0)+(L>>>5<<2)>>2]&1<<(L&31)|0)==0;f[c>>2]=L;L=wl(0,0,F|0,s|0)|0;c=vl(S|0,o|0,(I?L:F)|0,(I?H:s)|0)|0;s=H;F=wl(0,0,D|0,E|0)|0;L=vl(W|0,m|0,(I?F:D)|0,(I?H:E)|0)|0;E=ni(L|0,H|0,O|0,M|0)|0;L=ni(c|0,s|0,O|0,M|0)|0;f[a+8>>2]=E;f[a+12>>2]=L;aa=1}w=aa;u=g;return w|0}while(0);do if(q)ba=n<<1;else{if((e|0)>0){ba=(e<<1)+-2|0;break}aa=a+8|0;f[aa>>2]=0;f[aa+4>>2]=0;w=1;u=g;return w|0}while(0);f[a+8>>2]=f[d+(ba<<2)>>2];f[a+12>>2]=f[d+(ba+1<<2)>>2];w=1;u=g;return w|0}function Lb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=Ia,ca=Ia,da=Ia;c=u;u=u+32|0;d=c+12|0;e=c;g=a+60|0;if((f[g>>2]|0)==(f[a+64>>2]|0)?(f[a+48>>2]|0)==(f[a+52>>2]|0):0){h=1;u=c;return h|0}if((Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0)<=0){h=1;u=c;return h|0}i=d+4|0;j=d+8|0;k=a+36|0;l=d+8|0;m=d+4|0;o=e+4|0;p=e+8|0;q=d+11|0;r=d+4|0;s=0;t=0;v=0;a:while(1){w=La[f[(f[a>>2]|0)+20>>2]&127](a,v)|0;x=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;y=f[(f[(f[x>>2]|0)+8>>2]|0)+(w<<2)>>2]|0;w=y+28|0;b:do switch(f[w>>2]|0){case 1:case 3:case 5:{x=y+24|0;z=b[x>>0]|0;A=z<<24>>24;f[d>>2]=0;f[i>>2]=0;f[j>>2]=0;if(!(z<<24>>24))B=0;else{if(z<<24>>24<0){C=8;break a}z=A<<2;D=wk(z)|0;f[d>>2]=D;E=D+(A<<2)|0;f[j>>2]=E;oh(D|0,0,z|0)|0;f[i>>2]=E;B=b[x>>0]|0}E=B<<24>>24;f[e>>2]=0;f[o>>2]=0;f[p>>2]=0;if(B<<24>>24){if(B<<24>>24<0){C=12;break a}z=E<<2;D=wk(z)|0;f[e>>2]=D;A=D+(E<<2)|0;f[p>>2]=A;oh(D|0,0,z|0)|0;f[o>>2]=A}switch(f[w>>2]|0){case 5:{if(pe(a,y,t)|0)C=18;else{F=1;G=t}break}case 3:{if(oe(a,y,t)|0)C=18;else{F=1;G=t}break}case 1:{if(yd(a,y,t)|0)C=18;else{F=1;G=t}break}default:C=18}if((C|0)==18){C=0;F=0;G=t+(b[x>>0]|0)|0}x=f[e>>2]|0;if(x|0){f[o>>2]=x;Ko(x)}x=f[d>>2]|0;if(x|0){f[i>>2]=x;Ko(x)}if(!F){I=s;J=G}else{h=0;C=64;break a}break}case 9:{x=f[(f[g>>2]|0)+(s<<2)>>2]|0;A=f[k>>2]|0;z=s+1|0;D=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;E=f[D>>2]|0;D=f[y+56>>2]|0;K=wk(32)|0;f[d>>2]=K;f[l>>2]=-2147483616;f[m>>2]=24;L=K;M=11931;N=L+24|0;do{b[L>>0]=b[M>>0]|0;L=L+1|0;M=M+1|0}while((L|0)<(N|0));b[K+24>>0]=0;M=E+16|0;L=f[M>>2]|0;c:do if(L){N=M;O=L;do{P=(f[O+16>>2]|0)<(D|0);N=P?N:O;O=f[(P?O+4|0:O)>>2]|0}while((O|0)!=0);if(((N|0)!=(M|0)?(D|0)>=(f[N+16>>2]|0):0)?(O=N+20|0,P=f[N+24>>2]|0,(P|0)!=0):0){Q=P;while(1){P=Q+16|0;R=b[P+11>>0]|0;S=R<<24>>24<0;T=S?f[Q+20>>2]|0:R&255;R=T>>>0<24;U=R?T:24;V=(U|0)==0;if(!V?(W=S?f[P>>2]|0:P,X=Fi(K,W,U)|0,(X|0)!=0):0)if((X|0)<0)C=35;else{Y=W;C=38}else if(T>>>0<=24)if(V)C=39;else{Y=S?f[P>>2]|0:P;C=38}else C=35;if((C|0)==35){C=0;Z=Q}else if((C|0)==38){C=0;P=Fi(Y,K,U)|0;if(P)if((P|0)<0)C=41;else break;else C=39}if((C|0)==39){C=0;if(R)C=41;else break}if((C|0)==41){C=0;Z=Q+4|0}Q=f[Z>>2]|0;if(!Q){C=44;break c}}$=ci(O,d,0)|0}else C=44}else C=44;while(0);if((C|0)==44){C=0;$=ci(E,d,0)|0}if((b[q>>0]|0)<0)Ko(f[d>>2]|0);if($){ge(y,x);I=z;J=t;break b}K=f[A+(s*24|0)+4>>2]|0;D=b[y+24>>0]|0;M=D<<24>>24;L=M<<2;aa=Ho(M>>>0>1073741823?-1:M<<2)|0;dn(d);if(!(qk(d,_(n[A+(s*24|0)+20>>2]),(1<>2]>>2]|0)+(f[x+48>>2]|0)|0;Q=x+80|0;d:do if(f[Q>>2]|0){N=y+64|0;R=A+(s*24|0)+8|0;if(D<<24>>24<=0){P=0;U=0;while(1){Bf((f[f[N>>2]>>2]|0)+U|0,aa|0,L|0)|0;P=P+1|0;if(P>>>0>=(f[Q>>2]|0)>>>0)break d;else U=U+L|0}}U=0;P=0;O=0;while(1){S=f[R>>2]|0;V=0;T=O;while(1){W=f[K+(T<<2)>>2]|0;if((W|0)>-1){ba=_(W|0);ca=_(_(n[r>>2])*ba);da=_(ca*_(n[d>>2]))}else{X=wl(0,0,W|0,((W|0)<0)<<31>>31|0)|0;ca=_(+(X>>>0)+4294967296.0*+(H|0));ba=_(_(n[r>>2])*ca);da=_(-_(ba*_(n[d>>2])))}ba=_(da+_(n[S+(V<<2)>>2]));n[aa+(V<<2)>>2]=ba;V=V+1|0;if((V|0)==(M|0))break;else T=T+1|0}Bf((f[f[N>>2]>>2]|0)+P|0,aa|0,L|0)|0;U=U+1|0;if(U>>>0>=(f[Q>>2]|0)>>>0)break;else{P=P+L|0;O=O+M|0}}}while(0);Io(aa);I=z;J=t;break}default:{I=s;J=t}}while(0);v=v+1|0;if((v|0)>=(Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0)){h=1;C=64;break}else{s=I;t=J}}if((C|0)==8)$n(d);else if((C|0)==12)$n(e);else if((C|0)==63){Io(aa);h=0;u=c;return h|0}else if((C|0)==64){u=c;return h|0}return 0}function Mb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=(o|0)==-1;if(p)q=-1;else q=f[(f[n>>2]|0)+(o<<2)>>2]|0;n=a+20|0;r=f[n>>2]|0;s=f[r>>2]|0;if((f[r+4>>2]|0)-s>>2>>>0<=q>>>0)$n(r);r=a+8|0;t=f[(f[r>>2]|0)+(f[s+(q<<2)>>2]<<2)>>2]|0;q=a+4|0;s=f[q>>2]|0;if(!(b[s+84>>0]|0))v=f[(f[s+68>>2]|0)+(t<<2)>>2]|0;else v=t;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=v;v=b[s+24>>0]|0;f[g>>2]=f[h>>2];wb(s,g,v,j)|0;v=a+28|0;a=(f[v>>2]|0)==0;do if(!p){s=o+1|0;t=((s>>>0)%3|0|0)==0?o+-2|0:s;s=k+8|0;w=j+8|0;x=k+16|0;y=j+16|0;z=l+8|0;A=l+16|0;B=o+(((o>>>0)%3|0|0)==0?2:-1)|0;C=0;D=0;E=0;F=0;G=0;I=0;J=a;K=o;while(1){do if(!J){L=K+1|0;M=((L>>>0)%3|0|0)==0?K+-2|0:L;if(!((K>>>0)%3|0)){N=K+2|0;O=M;break}else{N=K+-1|0;O=M;break}}else{N=B;O=t}while(0);if((O|0)==-1)P=-1;else P=f[(f[f[m>>2]>>2]|0)+(O<<2)>>2]|0;Q=f[n>>2]|0;M=f[Q>>2]|0;if((f[Q+4>>2]|0)-M>>2>>>0<=P>>>0){R=16;break}L=f[(f[r>>2]|0)+(f[M+(P<<2)>>2]<<2)>>2]|0;M=f[q>>2]|0;if(!(b[M+84>>0]|0))S=f[(f[M+68>>2]|0)+(L<<2)>>2]|0;else S=L;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=S;L=b[M+24>>0]|0;f[g>>2]=f[h>>2];wb(M,g,L,k)|0;if((N|0)==-1)T=-1;else T=f[(f[f[m>>2]>>2]|0)+(N<<2)>>2]|0;U=f[n>>2]|0;L=f[U>>2]|0;if((f[U+4>>2]|0)-L>>2>>>0<=T>>>0){R=22;break}M=f[(f[r>>2]|0)+(f[L+(T<<2)>>2]<<2)>>2]|0;L=f[q>>2]|0;if(!(b[L+84>>0]|0))V=f[(f[L+68>>2]|0)+(M<<2)>>2]|0;else V=M;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=V;M=b[L+24>>0]|0;f[g>>2]=f[h>>2];wb(L,g,M,l)|0;M=k;L=j;W=f[L>>2]|0;X=f[L+4>>2]|0;L=wl(f[M>>2]|0,f[M+4>>2]|0,W|0,X|0)|0;M=H;Y=s;Z=w;_=f[Z>>2]|0;$=f[Z+4>>2]|0;Z=wl(f[Y>>2]|0,f[Y+4>>2]|0,_|0,$|0)|0;Y=H;aa=x;ba=y;ca=f[ba>>2]|0;da=f[ba+4>>2]|0;ba=wl(f[aa>>2]|0,f[aa+4>>2]|0,ca|0,da|0)|0;aa=H;ea=l;fa=wl(f[ea>>2]|0,f[ea+4>>2]|0,W|0,X|0)|0;X=H;W=z;ea=wl(f[W>>2]|0,f[W+4>>2]|0,_|0,$|0)|0;$=H;_=A;W=wl(f[_>>2]|0,f[_+4>>2]|0,ca|0,da|0)|0;da=H;ca=Bk(W|0,da|0,Z|0,Y|0)|0;_=H;ga=Bk(ea|0,$|0,ba|0,aa|0)|0;ha=H;ia=Bk(fa|0,X|0,ba|0,aa|0)|0;aa=H;ba=Bk(W|0,da|0,L|0,M|0)|0;da=H;W=Bk(ea|0,$|0,L|0,M|0)|0;M=H;L=Bk(fa|0,X|0,Z|0,Y|0)|0;Y=H;Z=wl(C|0,D|0,ga|0,ha|0)|0;C=vl(Z|0,H|0,ca|0,_|0)|0;D=H;_=vl(ia|0,aa|0,E|0,F|0)|0;E=wl(_|0,H|0,ba|0,da|0)|0;F=H;da=wl(G|0,I|0,L|0,Y|0)|0;G=vl(da|0,H|0,W|0,M|0)|0;I=H;Tf(i);K=f[c>>2]|0;J=(f[v>>2]|0)==0;if((K|0)==-1){R=26;break}}if((R|0)==16)$n(Q);else if((R|0)==22)$n(U);else if((R|0)==26){K=wl(0,0,C|0,D|0)|0;if((D|0)>-1|(D|0)==-1&C>>>0>4294967295){ja=J;ka=C;la=D;ma=E;na=F;oa=G;pa=I;R=27;break}else{qa=J;ra=F;sa=E;ta=I;ua=G;va=K;wa=H;xa=C;ya=D;break}}}else{ja=a;ka=0;la=0;ma=0;na=0;oa=0;pa=0;R=27}while(0);if((R|0)==27){qa=ja;ra=na;sa=ma;ta=pa;ua=oa;va=ka;wa=la;xa=ka;ya=la}la=(ra|0)>-1|(ra|0)==-1&sa>>>0>4294967295;ka=wl(0,0,sa|0,ra|0)|0;oa=la?ra:H;pa=(ta|0)>-1|(ta|0)==-1&ua>>>0>4294967295;ma=wl(0,0,ua|0,ta|0)|0;na=vl((la?sa:ka)|0,oa|0,(pa?ua:ma)|0,(pa?ta:H)|0)|0;pa=vl(na|0,H|0,va|0,wa|0)|0;wa=H;if(qa){if((pa|0)<=536870912){za=xa;Aa=sa;Ba=ua;f[d>>2]=za;Ca=d+4|0;f[Ca>>2]=Aa;Da=d+8|0;f[Da>>2]=Ba;u=e;return}qa=xl(pa|0,wa|0,29)|0;va=qa&7;qa=ni(xa|0,ya|0,va|0,0)|0;na=ni(sa|0,ra|0,va|0,0)|0;ma=ni(ua|0,ta|0,va|0,0)|0;za=qa;Aa=na;Ba=ma;f[d>>2]=za;Ca=d+4|0;f[Ca>>2]=Aa;Da=d+8|0;f[Da>>2]=Ba;u=e;return}else{if(!((wa|0)>0|(wa|0)==0&pa>>>0>536870912)){za=xa;Aa=sa;Ba=ua;f[d>>2]=za;Ca=d+4|0;f[Ca>>2]=Aa;Da=d+8|0;f[Da>>2]=Ba;u=e;return}ma=xl(pa|0,wa|0,29)|0;wa=H;pa=ni(xa|0,ya|0,ma|0,wa|0)|0;ya=ni(sa|0,ra|0,ma|0,wa|0)|0;ra=ni(ua|0,ta|0,ma|0,wa|0)|0;za=pa;Aa=ya;Ba=ra;f[d>>2]=za;Ca=d+4|0;f[Ca>>2]=Aa;Da=d+8|0;f[Da>>2]=Ba;u=e;return}}function Nb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;d=u;u=u+32|0;e=d+20|0;g=d+8|0;i=d+4|0;j=d;k=a+4|0;do if((h[(f[k>>2]|0)+36>>0]<<8&65535)<512){l=c+8|0;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=vl(p|0,f[o+4>>2]|0,4,0)|0;o=H;if((n|0)<(o|0)|(n|0)==(o|0)&m>>>0>>0){r=-1;u=d;return r|0}else{m=(f[c>>2]|0)+p|0;p=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;f[e>>2]=p;m=l;f[m>>2]=q;f[m+4>>2]=o;s=p;break}}else if(zh(e,c)|0){s=f[e>>2]|0;break}else{r=-1;u=d;return r|0}while(0);a:do if(s|0){p=f[a+8>>2]|0;if(s>>>0>(((f[p+4>>2]|0)-(f[p>>2]|0)>>2>>>0)/3|0)>>>0){r=-1;u=d;return r|0}p=f[k>>2]|0;if(((h[p+36>>0]<<8|h[p+37>>0])&65535)<258){p=c+8|0;o=c+16|0;m=g+4|0;q=g+8|0;l=a+40|0;n=a+44|0;t=a+36|0;v=0;w=s;while(1){x=p;y=f[x>>2]|0;z=f[x+4>>2]|0;x=o;A=f[x>>2]|0;B=f[x+4>>2]|0;x=vl(A|0,B|0,4,0)|0;C=H;if((z|0)<(C|0)|(z|0)==(C|0)&y>>>0>>0)break;D=f[c>>2]|0;E=D+A|0;f[g>>2]=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24;E=o;f[E>>2]=x;f[E+4>>2]=C;C=vl(A|0,B|0,8,0)|0;E=H;if((z|0)<(E|0)|(z|0)==(E|0)&y>>>0>>0)break;F=D+x|0;f[m>>2]=h[F>>0]|h[F+1>>0]<<8|h[F+2>>0]<<16|h[F+3>>0]<<24;F=o;f[F>>2]=C;f[F+4>>2]=E;if(!((z|0)>(E|0)|(z|0)==(E|0)&y>>>0>C>>>0))break;y=b[D+C>>0]|0;C=vl(A|0,B|0,9,0)|0;B=o;f[B>>2]=C;f[B+4>>2]=H;b[q>>0]=b[q>>0]&-2|y&1;y=f[l>>2]|0;if((y|0)==(f[n>>2]|0)){yg(t,g);G=f[e>>2]|0}else{f[y>>2]=f[g>>2];f[y+4>>2]=f[g+4>>2];f[y+8>>2]=f[g+8>>2];f[l>>2]=(f[l>>2]|0)+12;G=w}v=v+1|0;if(v>>>0>=G>>>0)break a;else w=G}r=-1;u=d;return r|0}w=g+4|0;v=a+40|0;l=a+44|0;t=a+36|0;n=0;q=0;do{zh(i,c)|0;f[w>>2]=(f[i>>2]|0)+q;zh(i,c)|0;o=f[i>>2]|0;q=f[w>>2]|0;if(q>>>0>>0){I=36;break}f[g>>2]=q-o;o=f[v>>2]|0;if((o|0)==(f[l>>2]|0))yg(t,g);else{f[o>>2]=f[g>>2];f[o+4>>2]=f[g+4>>2];f[o+8>>2]=f[g+8>>2];f[v>>2]=(f[v>>2]|0)+12}n=n+1|0}while(n>>>0<(f[e>>2]|0)>>>0);if((I|0)==36){r=-1;u=d;return r|0}vf(c,0,0)|0;n=f[e>>2]|0;if(n|0){v=c+36|0;t=a+36|0;l=c+32|0;q=c+24|0;w=c+28|0;o=0;m=0;while(1){p=f[k>>2]|0;y=(b[v>>0]|0)==0;if(((h[p+36>>0]<<8|h[p+37>>0])&65535)<514)if(!y){p=f[l>>2]|0;B=f[q>>2]|0;C=f[w>>2]|0;A=B+(p>>>3)|0;if(A>>>0>>0){D=(h[A>>0]|0)>>>(p&7)&1;E=p+1|0;f[l>>2]=E;J=D;K=B+(E>>>3)|0;L=E}else{J=0;K=A;L=p}if(K>>>0>>0){f[l>>2]=L+1;M=J}else M=J}else M=m;else if(!y){y=f[l>>2]|0;C=(f[q>>2]|0)+(y>>>3)|0;if(C>>>0<(f[w>>2]|0)>>>0){p=(h[C>>0]|0)>>>(y&7)&1;f[l>>2]=y+1;M=p}else M=0}else M=m;p=(f[t>>2]|0)+(o*12|0)+8|0;b[p>>0]=b[p>>0]&-2|M&1;o=o+1|0;if(o>>>0>=n>>>0)break;else m=M}}Cj(c)}while(0);f[g>>2]=0;M=f[k>>2]|0;J=(h[M+36>>0]<<8|h[M+37>>0])&65535;if((J&65535)<512){M=c+8|0;L=f[M>>2]|0;K=f[M+4>>2]|0;M=c+16|0;e=M;G=f[e>>2]|0;s=vl(G|0,f[e+4>>2]|0,4,0)|0;e=H;if((K|0)<(e|0)|(K|0)==(e|0)&L>>>0>>0)N=-1;else{L=(f[c>>2]|0)+G|0;G=h[L>>0]|h[L+1>>0]<<8|h[L+2>>0]<<16|h[L+3>>0]<<24;f[g>>2]=G;L=M;f[L>>2]=s;f[L+4>>2]=e;O=G;I=43}}else if(J<<16>>16==512)if(zh(g,c)|0){O=f[g>>2]|0;I=43}else N=-1;else I=57;b:do if((I|0)==43)if(!O)I=57;else{J=f[k>>2]|0;if(((h[J+36>>0]<<8|h[J+37>>0])&65535)>=258){J=a+52|0;G=a+56|0;e=a+48|0;L=0;s=0;while(1){f[i>>2]=0;zh(j,c)|0;s=(f[j>>2]|0)+s|0;f[i>>2]=s;M=f[J>>2]|0;if((M|0)==(f[G>>2]|0))Ng(e,i);else{f[M>>2]=s;f[J>>2]=M+4}L=L+1|0;if(L>>>0>=(f[g>>2]|0)>>>0){I=57;break b}}}L=c+8|0;J=c+16|0;s=a+52|0;e=a+56|0;G=a+48|0;M=0;while(1){f[i>>2]=0;K=L;m=f[K>>2]|0;n=f[K+4>>2]|0;K=J;o=f[K>>2]|0;t=vl(o|0,f[K+4>>2]|0,4,0)|0;K=H;if((n|0)<(K|0)|(n|0)==(K|0)&m>>>0>>0)break;m=(f[c>>2]|0)+o|0;o=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;f[i>>2]=o;m=J;f[m>>2]=t;f[m+4>>2]=K;K=f[s>>2]|0;if((K|0)==(f[e>>2]|0))Ng(G,i);else{f[K>>2]=o;f[s>>2]=K+4}M=M+1|0;if(M>>>0>=(f[g>>2]|0)>>>0){I=57;break b}}N=-1}while(0);if((I|0)==57)N=f[c+16>>2]|0;r=N;u=d;return r|0}function Ob(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=f[(f[n+28>>2]|0)+(o<<2)>>2]|0;n=a+20|0;q=f[n>>2]|0;r=f[q>>2]|0;if((f[q+4>>2]|0)-r>>2>>>0<=p>>>0)$n(q);q=a+8|0;s=f[(f[q>>2]|0)+(f[r+(p<<2)>>2]<<2)>>2]|0;p=a+4|0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))t=f[(f[r+68>>2]|0)+(s<<2)>>2]|0;else t=s;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=t;t=b[r+24>>0]|0;f[g>>2]=f[h>>2];wb(r,g,t,j)|0;t=a+28|0;a=(f[t>>2]|0)==0;do if((o|0)!=-1){r=o+1|0;s=((r>>>0)%3|0|0)==0?o+-2|0:r;r=k+8|0;v=j+8|0;w=k+16|0;x=j+16|0;y=l+8|0;z=l+16|0;A=o+(((o>>>0)%3|0|0)==0?2:-1)|0;B=0;C=0;D=0;E=0;F=0;G=0;I=a;J=o;while(1){do if(!I){K=J+1|0;L=((K>>>0)%3|0|0)==0?J+-2|0:K;if(!((J>>>0)%3|0)){M=J+2|0;N=L;break}else{M=J+-1|0;N=L;break}}else{M=A;N=s}while(0);L=f[(f[(f[m>>2]|0)+28>>2]|0)+(N<<2)>>2]|0;O=f[n>>2]|0;K=f[O>>2]|0;if((f[O+4>>2]|0)-K>>2>>>0<=L>>>0){P=12;break}Q=f[(f[q>>2]|0)+(f[K+(L<<2)>>2]<<2)>>2]|0;L=f[p>>2]|0;if(!(b[L+84>>0]|0))R=f[(f[L+68>>2]|0)+(Q<<2)>>2]|0;else R=Q;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=R;Q=b[L+24>>0]|0;f[g>>2]=f[h>>2];wb(L,g,Q,k)|0;Q=f[(f[(f[m>>2]|0)+28>>2]|0)+(M<<2)>>2]|0;S=f[n>>2]|0;L=f[S>>2]|0;if((f[S+4>>2]|0)-L>>2>>>0<=Q>>>0){P=16;break}K=f[(f[q>>2]|0)+(f[L+(Q<<2)>>2]<<2)>>2]|0;Q=f[p>>2]|0;if(!(b[Q+84>>0]|0))T=f[(f[Q+68>>2]|0)+(K<<2)>>2]|0;else T=K;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=T;K=b[Q+24>>0]|0;f[g>>2]=f[h>>2];wb(Q,g,K,l)|0;K=k;Q=j;L=f[Q>>2]|0;U=f[Q+4>>2]|0;Q=wl(f[K>>2]|0,f[K+4>>2]|0,L|0,U|0)|0;K=H;V=r;W=v;X=f[W>>2]|0;Y=f[W+4>>2]|0;W=wl(f[V>>2]|0,f[V+4>>2]|0,X|0,Y|0)|0;V=H;Z=w;_=x;$=f[_>>2]|0;aa=f[_+4>>2]|0;_=wl(f[Z>>2]|0,f[Z+4>>2]|0,$|0,aa|0)|0;Z=H;ba=l;ca=wl(f[ba>>2]|0,f[ba+4>>2]|0,L|0,U|0)|0;U=H;L=y;ba=wl(f[L>>2]|0,f[L+4>>2]|0,X|0,Y|0)|0;Y=H;X=z;L=wl(f[X>>2]|0,f[X+4>>2]|0,$|0,aa|0)|0;aa=H;$=Bk(L|0,aa|0,W|0,V|0)|0;X=H;da=Bk(ba|0,Y|0,_|0,Z|0)|0;ea=H;fa=Bk(ca|0,U|0,_|0,Z|0)|0;Z=H;_=Bk(L|0,aa|0,Q|0,K|0)|0;aa=H;L=Bk(ba|0,Y|0,Q|0,K|0)|0;K=H;Q=Bk(ca|0,U|0,W|0,V|0)|0;V=H;W=wl(B|0,C|0,da|0,ea|0)|0;B=vl(W|0,H|0,$|0,X|0)|0;C=H;X=vl(fa|0,Z|0,D|0,E|0)|0;D=wl(X|0,H|0,_|0,aa|0)|0;E=H;aa=wl(F|0,G|0,Q|0,V|0)|0;F=vl(aa|0,H|0,L|0,K|0)|0;G=H;kf(i);J=f[c>>2]|0;I=(f[t>>2]|0)==0;if((J|0)==-1){P=20;break}}if((P|0)==12)$n(O);else if((P|0)==16)$n(S);else if((P|0)==20){J=wl(0,0,B|0,C|0)|0;if((C|0)>-1|(C|0)==-1&B>>>0>4294967295){ga=I;ha=B;ia=C;ja=D;ka=E;la=F;ma=G;P=21;break}else{na=I;oa=E;pa=D;qa=G;ra=F;sa=J;ta=H;ua=B;va=C;break}}}else{ga=a;ha=0;ia=0;ja=0;ka=0;la=0;ma=0;P=21}while(0);if((P|0)==21){na=ga;oa=ka;pa=ja;qa=ma;ra=la;sa=ha;ta=ia;ua=ha;va=ia}ia=(oa|0)>-1|(oa|0)==-1&pa>>>0>4294967295;ha=wl(0,0,pa|0,oa|0)|0;la=ia?oa:H;ma=(qa|0)>-1|(qa|0)==-1&ra>>>0>4294967295;ja=wl(0,0,ra|0,qa|0)|0;ka=vl((ia?pa:ha)|0,la|0,(ma?ra:ja)|0,(ma?qa:H)|0)|0;ma=vl(ka|0,H|0,sa|0,ta|0)|0;ta=H;if(na){if((ma|0)<=536870912){wa=ua;xa=pa;ya=ra;f[d>>2]=wa;za=d+4|0;f[za>>2]=xa;Aa=d+8|0;f[Aa>>2]=ya;u=e;return}na=xl(ma|0,ta|0,29)|0;sa=na&7;na=ni(ua|0,va|0,sa|0,0)|0;ka=ni(pa|0,oa|0,sa|0,0)|0;ja=ni(ra|0,qa|0,sa|0,0)|0;wa=na;xa=ka;ya=ja;f[d>>2]=wa;za=d+4|0;f[za>>2]=xa;Aa=d+8|0;f[Aa>>2]=ya;u=e;return}else{if(!((ta|0)>0|(ta|0)==0&ma>>>0>536870912)){wa=ua;xa=pa;ya=ra;f[d>>2]=wa;za=d+4|0;f[za>>2]=xa;Aa=d+8|0;f[Aa>>2]=ya;u=e;return}ja=xl(ma|0,ta|0,29)|0;ta=H;ma=ni(ua|0,va|0,ja|0,ta|0)|0;va=ni(pa|0,oa|0,ja|0,ta|0)|0;oa=ni(ra|0,qa|0,ja|0,ta|0)|0;wa=ma;xa=va;ya=oa;f[d>>2]=wa;za=d+4|0;f[za>>2]=xa;Aa=d+8|0;f[Aa>>2]=ya;u=e;return}}function Pb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[d>>2]|0;j=(f[h>>2]|0)-i>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0)f[h>>2]=i+(e<<2)}else Eg(d,e-j|0);j=e>>>0>1073741823?-1:e<<2;d=Ho(j)|0;oh(d|0,0,j|0)|0;i=Ho(j)|0;oh(i|0,0,j|0)|0;j=f[g>>2]|0;if((j|0)>0){h=a+16|0;k=a+32|0;l=a+12|0;m=0;do{n=f[d+(m<<2)>>2]|0;o=f[h>>2]|0;do if((n|0)<=(o|0)){p=f[l>>2]|0;q=f[k>>2]|0;r=q+(m<<2)|0;if((n|0)<(p|0)){f[r>>2]=p;s=q;break}else{f[r>>2]=n;s=q;break}}else{q=f[k>>2]|0;f[q+(m<<2)>>2]=o;s=q}while(0);m=m+1|0;t=f[g>>2]|0}while((m|0)<(t|0));if((t|0)>0){m=a+20|0;k=0;do{o=(f[b+(k<<2)>>2]|0)+(f[s+(k<<2)>>2]|0)|0;n=c+(k<<2)|0;f[n>>2]=o;if((o|0)<=(f[h>>2]|0)){if((o|0)<(f[l>>2]|0)){u=(f[m>>2]|0)+o|0;v=19}}else{u=o-(f[m>>2]|0)|0;v=19}if((v|0)==19){v=0;f[n>>2]=u}k=k+1|0;n=f[g>>2]|0}while((k|0)<(n|0));w=n}else w=t}else w=j;j=f[a+48>>2]|0;t=f[a+56>>2]|0;k=f[t>>2]|0;u=(f[t+4>>2]|0)-k|0;m=u>>2;if((u|0)<=4){Io(i);Io(d);return 1}u=f[a+52>>2]|0;l=k;k=(e|0)>0;h=j+12|0;s=a+16|0;n=a+32|0;o=a+12|0;q=a+20|0;a=e<<2;r=1;p=w;while(1){if(m>>>0<=r>>>0){v=25;break}w=f[l+(r<<2)>>2]|0;if(k)oh(d|0,0,a|0)|0;if((w|0)!=-1){x=f[h>>2]|0;y=0;z=w;while(1){A=f[x+(z<<2)>>2]|0;if((A|0)!=-1){B=f[j>>2]|0;C=f[u>>2]|0;D=f[C+(f[B+(A<<2)>>2]<<2)>>2]|0;E=A+1|0;F=((E>>>0)%3|0|0)==0?A+-2|0:E;if((F|0)==-1)G=-1;else G=f[B+(F<<2)>>2]|0;F=f[C+(G<<2)>>2]|0;E=(((A>>>0)%3|0|0)==0?2:-1)+A|0;if((E|0)==-1)H=-1;else H=f[B+(E<<2)>>2]|0;E=f[C+(H<<2)>>2]|0;if((D|0)<(r|0)&(F|0)<(r|0)&(E|0)<(r|0)){C=W(D,e)|0;D=W(F,e)|0;F=W(E,e)|0;if(k){E=0;do{f[i+(E<<2)>>2]=(f[c+(E+F<<2)>>2]|0)+(f[c+(E+D<<2)>>2]|0)-(f[c+(E+C<<2)>>2]|0);E=E+1|0}while((E|0)!=(e|0));if(k){E=0;do{C=d+(E<<2)|0;f[C>>2]=(f[C>>2]|0)+(f[i+(E<<2)>>2]|0);E=E+1|0}while((E|0)!=(e|0))}}I=y+1|0}else I=y}else I=y;E=(((z>>>0)%3|0|0)==0?2:-1)+z|0;do if((E|0)!=-1?(C=f[x+(E<<2)>>2]|0,(C|0)!=-1):0)if(!((C>>>0)%3|0)){J=C+2|0;break}else{J=C+-1|0;break}else J=-1;while(0);z=(J|0)==(w|0)?-1:J;if((z|0)==-1)break;else y=I}y=W(r,e)|0;if(I){if(k){z=0;do{w=d+(z<<2)|0;f[w>>2]=(f[w>>2]|0)/(I|0)|0;z=z+1|0}while((z|0)!=(e|0))}z=b+(y<<2)|0;w=c+(y<<2)|0;if((p|0)>0){x=0;do{E=f[d+(x<<2)>>2]|0;C=f[s>>2]|0;do if((E|0)<=(C|0)){D=f[o>>2]|0;F=f[n>>2]|0;B=F+(x<<2)|0;if((E|0)<(D|0)){f[B>>2]=D;K=F;break}else{f[B>>2]=E;K=F;break}}else{F=f[n>>2]|0;f[F+(x<<2)>>2]=C;K=F}while(0);x=x+1|0;L=f[g>>2]|0}while((x|0)<(L|0));if((L|0)>0){x=0;do{C=(f[z+(x<<2)>>2]|0)+(f[K+(x<<2)>>2]|0)|0;E=w+(x<<2)|0;f[E>>2]=C;if((C|0)<=(f[s>>2]|0)){if((C|0)<(f[o>>2]|0)){M=(f[q>>2]|0)+C|0;v=83}}else{M=C-(f[q>>2]|0)|0;v=83}if((v|0)==83){v=0;f[E>>2]=M}x=x+1|0;E=f[g>>2]|0}while((x|0)<(E|0));N=E}else N=L}else N=p}else{O=y;v=51}}else{O=W(r,e)|0;v=51}if((v|0)==51){v=0;x=c+((W(r+-1|0,e)|0)<<2)|0;w=b+(O<<2)|0;z=c+(O<<2)|0;if((p|0)>0){E=0;do{C=f[x+(E<<2)>>2]|0;F=f[s>>2]|0;do if((C|0)<=(F|0)){B=f[o>>2]|0;D=f[n>>2]|0;A=D+(E<<2)|0;if((C|0)<(B|0)){f[A>>2]=B;P=D;break}else{f[A>>2]=C;P=D;break}}else{D=f[n>>2]|0;f[D+(E<<2)>>2]=F;P=D}while(0);E=E+1|0;Q=f[g>>2]|0}while((E|0)<(Q|0));if((Q|0)>0){E=0;do{x=(f[w+(E<<2)>>2]|0)+(f[P+(E<<2)>>2]|0)|0;y=z+(E<<2)|0;f[y>>2]=x;if((x|0)<=(f[s>>2]|0)){if((x|0)<(f[o>>2]|0)){R=(f[q>>2]|0)+x|0;v=65}}else{R=x-(f[q>>2]|0)|0;v=65}if((v|0)==65){v=0;f[y>>2]=R}E=E+1|0;y=f[g>>2]|0}while((E|0)<(y|0));N=y}else N=Q}else N=p}r=r+1|0;if((r|0)>=(m|0)){v=23;break}else p=N}if((v|0)==23){Io(i);Io(d);return 1}else if((v|0)==25)$n(t);return 0}function Qb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[d>>2]|0;j=(f[h>>2]|0)-i>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0)f[h>>2]=i+(e<<2)}else Eg(d,e-j|0);j=e>>>0>1073741823?-1:e<<2;d=Ho(j)|0;oh(d|0,0,j|0)|0;i=Ho(j)|0;oh(i|0,0,j|0)|0;j=f[g>>2]|0;if((j|0)>0){h=a+16|0;k=a+32|0;l=a+12|0;m=0;do{n=f[d+(m<<2)>>2]|0;o=f[h>>2]|0;do if((n|0)<=(o|0)){p=f[l>>2]|0;q=f[k>>2]|0;r=q+(m<<2)|0;if((n|0)<(p|0)){f[r>>2]=p;s=q;break}else{f[r>>2]=n;s=q;break}}else{q=f[k>>2]|0;f[q+(m<<2)>>2]=o;s=q}while(0);m=m+1|0;t=f[g>>2]|0}while((m|0)<(t|0));if((t|0)>0){m=a+20|0;k=0;do{o=(f[b+(k<<2)>>2]|0)+(f[s+(k<<2)>>2]|0)|0;n=c+(k<<2)|0;f[n>>2]=o;if((o|0)<=(f[h>>2]|0)){if((o|0)<(f[l>>2]|0)){u=(f[m>>2]|0)+o|0;v=19}}else{u=o-(f[m>>2]|0)|0;v=19}if((v|0)==19){v=0;f[n>>2]=u}k=k+1|0;n=f[g>>2]|0}while((k|0)<(n|0));w=n}else w=t}else w=j;j=f[a+48>>2]|0;t=f[a+56>>2]|0;k=f[t>>2]|0;u=(f[t+4>>2]|0)-k|0;m=u>>2;if((u|0)<=4){Io(i);Io(d);return 1}u=f[a+52>>2]|0;l=k;k=(e|0)>0;h=j+64|0;s=j+28|0;n=a+16|0;o=a+32|0;q=a+12|0;r=a+20|0;a=e<<2;p=1;x=w;while(1){if(m>>>0<=p>>>0){v=25;break}w=f[l+(p<<2)>>2]|0;if(k)oh(d|0,0,a|0)|0;if((w|0)!=-1){y=f[j>>2]|0;z=0;A=w;while(1){if(((f[y+(A>>>5<<2)>>2]&1<<(A&31)|0)==0?(B=f[(f[(f[h>>2]|0)+12>>2]|0)+(A<<2)>>2]|0,(B|0)!=-1):0)?(C=f[s>>2]|0,D=f[u>>2]|0,E=f[D+(f[C+(B<<2)>>2]<<2)>>2]|0,F=B+1|0,G=f[D+(f[C+((((F>>>0)%3|0|0)==0?B+-2|0:F)<<2)>>2]<<2)>>2]|0,F=f[D+(f[C+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(E|0)<(p|0)&(G|0)<(p|0)&(F|0)<(p|0)):0){B=W(E,e)|0;E=W(G,e)|0;G=W(F,e)|0;if(k){F=0;do{f[i+(F<<2)>>2]=(f[c+(F+G<<2)>>2]|0)+(f[c+(F+E<<2)>>2]|0)-(f[c+(F+B<<2)>>2]|0);F=F+1|0}while((F|0)!=(e|0));if(k){F=0;do{B=d+(F<<2)|0;f[B>>2]=(f[B>>2]|0)+(f[i+(F<<2)>>2]|0);F=F+1|0}while((F|0)!=(e|0))}}H=z+1|0}else H=z;F=(((A>>>0)%3|0|0)==0?2:-1)+A|0;do if(((F|0)!=-1?(f[y+(F>>>5<<2)>>2]&1<<(F&31)|0)==0:0)?(B=f[(f[(f[h>>2]|0)+12>>2]|0)+(F<<2)>>2]|0,(B|0)!=-1):0)if(!((B>>>0)%3|0)){I=B+2|0;break}else{I=B+-1|0;break}else I=-1;while(0);A=(I|0)==(w|0)?-1:I;if((A|0)==-1)break;else z=H}z=W(p,e)|0;if(H){if(k){A=0;do{w=d+(A<<2)|0;f[w>>2]=(f[w>>2]|0)/(H|0)|0;A=A+1|0}while((A|0)!=(e|0))}A=b+(z<<2)|0;w=c+(z<<2)|0;if((x|0)>0){y=0;do{F=f[d+(y<<2)>>2]|0;B=f[n>>2]|0;do if((F|0)<=(B|0)){E=f[q>>2]|0;G=f[o>>2]|0;C=G+(y<<2)|0;if((F|0)<(E|0)){f[C>>2]=E;J=G;break}else{f[C>>2]=F;J=G;break}}else{G=f[o>>2]|0;f[G+(y<<2)>>2]=B;J=G}while(0);y=y+1|0;K=f[g>>2]|0}while((y|0)<(K|0));if((K|0)>0){y=0;do{B=(f[A+(y<<2)>>2]|0)+(f[J+(y<<2)>>2]|0)|0;F=w+(y<<2)|0;f[F>>2]=B;if((B|0)<=(f[n>>2]|0)){if((B|0)<(f[q>>2]|0)){L=(f[r>>2]|0)+B|0;v=81}}else{L=B-(f[r>>2]|0)|0;v=81}if((v|0)==81){v=0;f[F>>2]=L}y=y+1|0;F=f[g>>2]|0}while((y|0)<(F|0));M=F}else M=K}else M=x}else{N=z;v=49}}else{N=W(p,e)|0;v=49}if((v|0)==49){v=0;y=c+((W(p+-1|0,e)|0)<<2)|0;w=b+(N<<2)|0;A=c+(N<<2)|0;if((x|0)>0){F=0;do{B=f[y+(F<<2)>>2]|0;G=f[n>>2]|0;do if((B|0)<=(G|0)){C=f[q>>2]|0;E=f[o>>2]|0;D=E+(F<<2)|0;if((B|0)<(C|0)){f[D>>2]=C;O=E;break}else{f[D>>2]=B;O=E;break}}else{E=f[o>>2]|0;f[E+(F<<2)>>2]=G;O=E}while(0);F=F+1|0;P=f[g>>2]|0}while((F|0)<(P|0));if((P|0)>0){F=0;do{y=(f[w+(F<<2)>>2]|0)+(f[O+(F<<2)>>2]|0)|0;z=A+(F<<2)|0;f[z>>2]=y;if((y|0)<=(f[n>>2]|0)){if((y|0)<(f[q>>2]|0)){Q=(f[r>>2]|0)+y|0;v=63}}else{Q=y-(f[r>>2]|0)|0;v=63}if((v|0)==63){v=0;f[z>>2]=Q}F=F+1|0;z=f[g>>2]|0}while((F|0)<(z|0));M=z}else M=P}else M=x}p=p+1|0;if((p|0)>=(m|0)){v=23;break}else x=M}if((v|0)==23){Io(i);Io(d);return 1}else if((v|0)==25)$n(t);return 0}function Rb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;if(!a)return;b=a+-8|0;c=f[4076]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((f[4077]|0)==(h|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=i;n=h;break}f[4074]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[4072]=f[4072]&~(1<>2]=j;f[j+8>>2]=g;l=h;m=i;n=h;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}o=s;p=t;while(1){k=o+20|0;q=f[k>>2]|0;if(!q){u=o+16|0;v=f[u>>2]|0;if(!v)break;else{w=v;x=u}}else{w=q;x=k}o=w;p=x}f[p>>2]=0;r=o}else{k=f[h+8>>2]|0;f[k+12>>2]=j;f[j+8>>2]=k;r=j}while(0);if(g){j=f[h+28>>2]|0;k=16592+(j<<2)|0;if((f[k>>2]|0)==(h|0)){f[k>>2]=r;if(!r){f[4073]=f[4073]&~(1<>2]|0)==(h|0)?j:g+20|0)>>2]=r;if(!r){l=h;m=i;n=h;break}}f[r+24>>2]=g;j=h+16|0;k=f[j>>2]|0;if(k|0){f[r+16>>2]=k;f[k+24>>2]=r}k=f[j+4>>2]|0;if(k){f[r+20>>2]=k;f[k+24>>2]=r;l=h;m=i;n=h}else{l=h;m=i;n=h}}else{l=h;m=i;n=h}}else{l=b;m=a;n=b}while(0);if(n>>>0>=e>>>0)return;b=e+4|0;a=f[b>>2]|0;if(!(a&1))return;if(!(a&2)){if((f[4078]|0)==(e|0)){r=(f[4075]|0)+m|0;f[4075]=r;f[4078]=l;f[l+4>>2]=r|1;if((l|0)!=(f[4077]|0))return;f[4077]=0;f[4074]=0;return}if((f[4077]|0)==(e|0)){r=(f[4074]|0)+m|0;f[4074]=r;f[4077]=n;f[l+4>>2]=r|1;f[n+r>>2]=r;return}r=(a&-8)+m|0;x=a>>>3;do if(a>>>0<256){w=f[e+8>>2]|0;t=f[e+12>>2]|0;if((t|0)==(w|0)){f[4072]=f[4072]&~(1<>2]=t;f[t+8>>2]=w;break}}else{w=f[e+24>>2]|0;t=f[e+12>>2]|0;do if((t|0)==(e|0)){s=e+16|0;c=s+4|0;d=f[c>>2]|0;if(!d){k=f[s>>2]|0;if(!k){y=0;break}else{z=k;A=s}}else{z=d;A=c}c=z;d=A;while(1){s=c+20|0;k=f[s>>2]|0;if(!k){j=c+16|0;q=f[j>>2]|0;if(!q)break;else{B=q;C=j}}else{B=k;C=s}c=B;d=C}f[d>>2]=0;y=c}else{o=f[e+8>>2]|0;f[o+12>>2]=t;f[t+8>>2]=o;y=t}while(0);if(w|0){t=f[e+28>>2]|0;h=16592+(t<<2)|0;if((f[h>>2]|0)==(e|0)){f[h>>2]=y;if(!y){f[4073]=f[4073]&~(1<>2]|0)==(e|0)?t:w+20|0)>>2]=y;if(!y)break}f[y+24>>2]=w;t=e+16|0;h=f[t>>2]|0;if(h|0){f[y+16>>2]=h;f[h+24>>2]=y}h=f[t+4>>2]|0;if(h|0){f[y+20>>2]=h;f[h+24>>2]=y}}}while(0);f[l+4>>2]=r|1;f[n+r>>2]=r;if((l|0)==(f[4077]|0)){f[4074]=r;return}else D=r}else{f[b>>2]=a&-2;f[l+4>>2]=m|1;f[n+m>>2]=m;D=m}m=D>>>3;if(D>>>0<256){n=16328+(m<<1<<2)|0;a=f[4072]|0;b=1<>2]|0;F=b}f[F>>2]=l;f[E+12>>2]=l;f[l+8>>2]=E;f[l+12>>2]=n;return}n=D>>>8;if(n)if(D>>>0>16777215)G=31;else{E=(n+1048320|0)>>>16&8;F=n<>>16&4;b=F<>>16&2;a=14-(n|E|F)+(b<>>15)|0;G=D>>>(a+7|0)&1|a<<1}else G=0;a=16592+(G<<2)|0;f[l+28>>2]=G;f[l+20>>2]=0;f[l+16>>2]=0;F=f[4073]|0;b=1<>2]=l;f[l+24>>2]=a;f[l+12>>2]=l;f[l+8>>2]=l}else{E=f[a>>2]|0;b:do if((f[E+4>>2]&-8|0)==(D|0))H=E;else{n=D<<((G|0)==31?0:25-(G>>>1)|0);m=E;while(1){I=m+16+(n>>>31<<2)|0;r=f[I>>2]|0;if(!r)break;if((f[r+4>>2]&-8|0)==(D|0)){H=r;break b}else{n=n<<1;m=r}}f[I>>2]=l;f[l+24>>2]=m;f[l+12>>2]=l;f[l+8>>2]=l;break a}while(0);E=H+8|0;w=f[E>>2]|0;f[w+12>>2]=l;f[E>>2]=l;f[l+8>>2]=w;f[l+12>>2]=H;f[l+24>>2]=0}while(0);l=(f[4080]|0)+-1|0;f[4080]=l;if(l|0)return;l=16744;while(1){H=f[l>>2]|0;if(!H)break;else l=H+8|0}f[4080]=-1;return}function Sb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+176|0;e=d+136|0;g=d+32|0;i=d;j=d+104|0;k=d+100|0;l=a+4|0;m=f[l>>2]|0;n=f[m+32>>2]|0;o=n+8|0;p=f[o>>2]|0;q=f[o+4>>2]|0;o=n+16|0;r=o;s=f[r>>2]|0;t=f[r+4>>2]|0;if(!((q|0)>(t|0)|(q|0)==(t|0)&p>>>0>s>>>0)){v=0;u=d;return v|0}r=f[n>>2]|0;n=b[r+s>>0]|0;w=vl(s|0,t|0,1,0)|0;x=H;y=o;f[y>>2]=w;f[y+4>>2]=x;if(!((q|0)>(x|0)|(q|0)==(x|0)&p>>>0>w>>>0)){v=0;u=d;return v|0}x=b[r+w>>0]|0;w=vl(s|0,t|0,2,0)|0;y=H;z=o;f[z>>2]=w;f[z+4>>2]=y;if(n<<24>>24>-1){z=n<<24>>24;A=f[a+216>>2]|0;if((((f[a+220>>2]|0)-A|0)/144|0)>>>0<=z>>>0){v=0;u=d;return v|0}B=A+(z*144|0)|0;if((f[B>>2]|0)>-1){v=0;u=d;return v|0}else C=B}else{B=a+212|0;if((f[B>>2]|0)>-1){v=0;u=d;return v|0}else C=B}f[C>>2]=c;do if((((h[m+36>>0]|0)<<8|(h[m+37>>0]|0))&65535)>257)if((q|0)>(y|0)|(q|0)==(y|0)&p>>>0>w>>>0){C=b[r+w>>0]|0;B=vl(s|0,t|0,3,0)|0;z=o;f[z>>2]=B;f[z+4>>2]=H;D=C&255;break}else{v=0;u=d;return v|0}else D=0;while(0);o=f[m+44>>2]|0;if(!(x<<24>>24)){if(n<<24>>24<0)E=a+184|0;else{x=n<<24>>24;m=f[a+216>>2]|0;b[m+(x*144|0)+100>>0]=0;E=m+(x*144|0)+104|0}switch((D&255)<<24>>24){case 0:{Qc(e,a,E);F=f[e>>2]|0;break}case 1:{xd(e,a,E);F=f[e>>2]|0;break}default:{v=0;u=d;return v|0}}if(!F){v=0;u=d;return v|0}else G=F}else{if(n<<24>>24<0|(D|0)!=0){v=0;u=d;return v|0}D=wk(88)|0;F=n<<24>>24;n=f[a+216>>2]|0;a=n+(F*144|0)+104|0;f[D+4>>2]=0;f[D>>2]=3292;E=D+12|0;f[E>>2]=3316;x=D+64|0;f[x>>2]=0;f[D+68>>2]=0;f[D+72>>2]=0;m=D+16|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));f[D+76>>2]=o;f[D+80>>2]=a;f[D+84>>2]=0;s=g+4|0;f[s>>2]=3316;w=g+56|0;f[w>>2]=0;r=g+60|0;f[r>>2]=0;f[g+64>>2]=0;m=g+8|0;t=m+44|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(t|0));m=n+(F*144|0)+4|0;f[i>>2]=3316;t=i+4|0;p=t+4|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[t>>2]=m;t=f[n+(F*144|0)+68>>2]|0;F=((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;Gf(i+8|0,F,e);Pa[f[(f[i>>2]|0)+8>>2]&127](i);je(j,i);je(e,j);f[g>>2]=f[e+4>>2];F=g+4|0;He(F,e)|0;f[e>>2]=3316;t=f[e+20>>2]|0;if(t|0)Ko(t);t=f[e+8>>2]|0;if(t|0)Ko(t);f[g+36>>2]=m;f[g+40>>2]=a;f[g+44>>2]=o;f[g+48>>2]=D;f[j>>2]=3316;o=f[j+20>>2]|0;if(o|0)Ko(o);o=f[j+8>>2]|0;if(o|0)Ko(o);f[D+8>>2]=f[g>>2];He(E,F)|0;F=D+44|0;E=g+36|0;f[F>>2]=f[E>>2];f[F+4>>2]=f[E+4>>2];f[F+8>>2]=f[E+8>>2];f[F+12>>2]=f[E+12>>2];b[F+16>>0]=b[E+16>>0]|0;df(x,f[w>>2]|0,f[r>>2]|0);f[i>>2]=3316;x=f[i+20>>2]|0;if(x|0)Ko(x);x=f[i+8>>2]|0;if(x|0)Ko(x);x=f[w>>2]|0;if(x|0){f[r>>2]=x;Ko(x)}f[s>>2]=3316;s=f[g+24>>2]|0;if(s|0)Ko(s);s=f[g+12>>2]|0;if(s|0)Ko(s);G=D}D=wk(64)|0;f[k>>2]=G;Zi(D,k);G=D;s=f[k>>2]|0;f[k>>2]=0;if(s|0)Pa[f[(f[s>>2]|0)+4>>2]&127](s);s=f[l>>2]|0;if((c|0)<0){Pa[f[(f[D>>2]|0)+4>>2]&127](D);v=0;u=d;return v|0}D=s+8|0;l=s+12|0;s=f[l>>2]|0;k=f[D>>2]|0;g=s-k>>2;do if((g|0)<=(c|0)){x=c+1|0;r=s;if(x>>>0>g>>>0){Se(D,x-g|0);break}if(x>>>0>>0){w=k+(x<<2)|0;if((w|0)!=(r|0)){x=r;do{x=x+-4|0;r=f[x>>2]|0;f[x>>2]=0;if(r|0)Pa[f[(f[r>>2]|0)+4>>2]&127](r)}while((x|0)!=(w|0))}f[l>>2]=w}}while(0);l=(f[D>>2]|0)+(c<<2)|0;c=f[l>>2]|0;f[l>>2]=G;if(!c){v=1;u=d;return v|0}Pa[f[(f[c>>2]|0)+4>>2]&127](c);v=1;u=d;return v|0}function Tb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=u;u=u+736|0;e=d+716|0;g=d;h=d+64|0;if((j[c+38>>1]|0)<515){i=1;u=d;return i|0}k=c+8|0;l=f[k+4>>2]|0;m=c+16|0;n=m;o=f[n>>2]|0;p=f[n+4>>2]|0;if(!((l|0)>(p|0)|((l|0)==(p|0)?(f[k>>2]|0)>>>0>o>>>0:0))){i=0;u=d;return i|0}k=b[(f[c>>2]|0)+o>>0]|0;l=vl(o|0,p|0,1,0)|0;p=m;f[p>>2]=l;f[p+4>>2]=H;p=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;l=f[(f[p>>2]|0)+80>>2]|0;p=Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0;f[e>>2]=0;m=e+4|0;f[m>>2]=0;o=e+8|0;f[o>>2]=0;do if(p|0)if(p>>>0>214748364)$n(e);else{n=p*20|0;q=wk(n)|0;f[e>>2]=q;f[o>>2]=q+(p*20|0);oh(q|0,0,n|0)|0;f[m>>2]=q+n;break}while(0);p=a+52|0;o=a+56|0;n=a+48|0;q=a+64|0;r=a+68|0;s=a+60|0;t=0;v=0;a:while(1){if((v|0)>=(Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0)){w=35;break}x=La[f[(f[a>>2]|0)+20>>2]&127](a,v)|0;y=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;z=f[(f[(f[y>>2]|0)+8>>2]|0)+(x<<2)>>2]|0;Fh(z,l)|0;b[z+84>>0]=1;f[z+72>>2]=f[z+68>>2];switch(f[z+28>>2]|0){case 2:case 4:case 6:{A=z;break}case 1:case 3:case 5:{x=z+24|0;y=b[x>>0]|0;if(y<<24>>24>0){B=0;C=y;while(1){f[g>>2]=0;y=f[p>>2]|0;if(y>>>0<(f[o>>2]|0)>>>0){f[y>>2]=0;f[p>>2]=y+4;D=C}else{Ng(n,g);D=b[x>>0]|0}B=B+1|0;if((B|0)>=(D<<24>>24|0))break;else C=D}}A=z;break}case 9:{C=b[z+24>>0]|0;oj(g);B=f[z+56>>2]|0;x=W(Bj(6)|0,C<<24>>24)|0;Ih(g,B,0,C,6,0,x,((x|0)<0)<<31>>31,0,0);x=wk(96)|0;$i(x,g);f[h>>2]=x;b[x+84>>0]=1;f[x+72>>2]=f[x+68>>2];Fh(x,l)|0;x=f[q>>2]|0;if(x>>>0<(f[r>>2]|0)>>>0){C=f[h>>2]|0;f[h>>2]=0;f[x>>2]=C;C=x+4|0;f[q>>2]=C;E=C}else{Rd(s,h);E=f[q>>2]|0}C=f[E+-4>>2]|0;x=f[h>>2]|0;f[h>>2]=0;if(x|0){B=x+88|0;y=f[B>>2]|0;f[B>>2]=0;if(y|0){B=f[y+8>>2]|0;if(B|0){f[y+12>>2]=B;Ko(B)}Ko(y)}y=f[x+68>>2]|0;if(y|0){f[x+72>>2]=y;Ko(y)}y=x+64|0;B=f[y>>2]|0;f[y>>2]=0;if(B|0){y=f[B>>2]|0;if(y|0){f[B+4>>2]=y;Ko(y)}Ko(B)}Ko(x)}A=C;break}default:{F=0;break a}}C=A;x=f[C+28>>2]|0;B=Bj(x)|0;y=b[C+24>>0]|0;C=f[e>>2]|0;f[C+(v*20|0)>>2]=A;f[C+(v*20|0)+4>>2]=t;f[C+(v*20|0)+8>>2]=x;f[C+(v*20|0)+12>>2]=(B|0)>0?B:0;f[C+(v*20|0)+16>>2]=y;t=t+y|0;v=v+1|0}if((w|0)==35){$e(g,e);switch(k<<24>>24){case 0:{ve(h,t);k=Xd(h,c,g)|0;Cf(h);if(k)w=43;else G=0;break}case 1:{ve(h,t);k=Wd(h,c,g)|0;Cf(h);if(k)w=43;else G=0;break}case 2:{we(h,t);k=Zd(h,c,g)|0;Lf(h);if(k)w=43;else G=0;break}case 3:{we(h,t);k=Yd(h,c,g)|0;Lf(h);if(k)w=43;else G=0;break}case 4:{re(h,t);k=Ud(h,c,g)|0;jg(h);if(k)w=43;else G=0;break}case 5:{re(h,t);k=Td(h,c,g)|0;jg(h);if(k)w=43;else G=0;break}case 6:{re(h,t);t=Sd(h,c,g)|0;jg(h);if(t)w=43;else G=0;break}default:G=0}if((w|0)==43)G=1;w=f[g+16>>2]|0;if(w|0){f[g+20>>2]=w;Ko(w)}w=f[g>>2]|0;if(w|0){f[g+4>>2]=w;Ko(w)}F=G}G=f[e>>2]|0;if(G|0){f[m>>2]=G;Ko(G)}i=F;u=d;return i|0}function Ub(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;if(!b){h=0;u=c;return h|0}i=a+12|0;j=a+4|0;k=(f[j>>2]|0)-(f[a>>2]|0)>>2;l=a+16|0;m=f[i>>2]|0;n=(f[l>>2]|0)-m>>2;if(k>>>0<=n>>>0)if(k>>>0>>0){f[l>>2]=m+(k<<2);o=k}else o=k;else{Of(i,k-n|0,3732);o=(f[j>>2]|0)-(f[a>>2]|0)>>2}f[d>>2]=0;n=d+4|0;f[n>>2]=0;f[d+8>>2]=0;Wh(d,o);o=f[j>>2]|0;k=f[a>>2]|0;m=k;if((o|0)==(k|0)){p=0;q=0;r=m;s=m;t=m;v=m;w=m;x=o;y=k}else{l=f[d>>2]|0;z=l;A=z;B=0;C=m;D=m;E=m;F=m;G=m;H=o;o=z;z=m;m=l;l=k;while(1){k=f[z+(B<<2)>>2]|0;I=(f[n>>2]|0)-m>>2;if(k>>>0>>0){J=l;K=A;L=C;M=D;N=E;O=F;P=G;Q=o;R=l;S=H}else{T=k+1|0;f[e>>2]=0;if(T>>>0<=I>>>0)if(T>>>0>>0){f[n>>2]=m+(T<<2);U=A;V=H;W=l}else{U=A;V=H;W=l}else{Of(d,T-I|0,e);U=f[d>>2]|0;V=f[j>>2]|0;W=f[a>>2]|0}I=W;J=I;K=U;L=I;M=I;N=I;O=I;P=I;Q=U;R=W;S=V}I=Q+(k<<2)|0;f[I>>2]=(f[I>>2]|0)+1;B=B+1|0;I=S-R|0;k=I>>2;if(B>>>0>=k>>>0){p=k;q=I;r=L;s=M;t=N;v=O;w=P;x=S;y=R;break}else{A=K;C=L;D=M;E=N;F=O;G=P;H=S;o=Q;z=J;m=Q;l=R}}}f[e>>2]=0;R=e+4|0;f[R>>2]=0;l=e+8|0;f[l>>2]=0;do if(q)if(p>>>0>536870911)$n(e);else{Q=wk(q<<1)|0;f[e>>2]=Q;f[l>>2]=Q+(p<<3);m=p<<3;oh(Q|0,-1,m|0)|0;f[R>>2]=Q+m;X=Q;Y=Q;break}else{X=0;Y=0}while(0);p=f[d>>2]|0;l=(f[n>>2]|0)-p|0;q=l>>2;f[g>>2]=0;Q=g+4|0;f[Q>>2]=0;m=g+8|0;f[m>>2]=0;J=p;if(!l){Z=0;_=0}else{if(q>>>0>1073741823)$n(g);p=wk(l)|0;f[g>>2]=p;g=p+(q<<2)|0;f[m>>2]=g;oh(p|0,0,l|0)|0;f[Q>>2]=g;g=0;l=0;while(1){f[p+(l<<2)>>2]=g;m=l+1|0;if(m>>>0>>0){g=(f[J+(l<<2)>>2]|0)+g|0;l=m}else{Z=p;_=p;break}}}if((x|0)!=(y|0)){p=a+40|0;a=x-y>>2;x=y;y=X;l=0;g=v;v=t;t=s;s=r;r=w;while(1){w=f[r+(l<<2)>>2]|0;m=l+1|0;z=((m>>>0)%3|0|0)==0?l+-2|0:m;if((z|0)==-1)$=-1;else $=f[g+(z<<2)>>2]|0;z=((l>>>0)%3|0|0)==0;o=(z?2:-1)+l|0;if((o|0)==-1)aa=-1;else aa=f[v+(o<<2)>>2]|0;if(z?(z=f[t+(l<<2)>>2]|0,($|0)==(aa|0)|((z|0)==($|0)|(z|0)==(aa|0))):0){f[p>>2]=(f[p>>2]|0)+1;ba=y;ca=l+3|0}else da=41;a:do if((da|0)==41){da=0;z=f[J+(aa<<2)>>2]|0;b:do if((z|0)>0){o=0;S=f[Z+(aa<<2)>>2]|0;while(1){ea=y+(S<<3)|0;H=f[ea>>2]|0;if((H|0)==-1)break b;if((H|0)==($|0)){fa=f[y+(S<<3)+4>>2]|0;if((fa|0)==-1)ga=-1;else ga=f[s+(fa<<2)>>2]|0;if((w|0)!=(ga|0))break}H=o+1|0;if((H|0)<(z|0)){o=H;S=S+1|0}else break b}H=o+1|0;c:do if((H|0)<(z|0)){P=H;G=S;while(1){O=G;G=G+1|0;F=y+(G<<3)|0;N=f[F>>2]|0;E=y+(O<<3)|0;f[E>>2]=N;f[y+(O<<3)+4>>2]=f[y+(G<<3)+4>>2];if((N|0)==-1){ha=E;break c}P=P+1|0;if((P|0)>=(z|0)){ha=F;break}}}else ha=ea;while(0);f[ha>>2]=-1;if((fa|0)!=-1){S=f[i>>2]|0;f[S+(l<<2)>>2]=fa;f[S+(fa<<2)>>2]=l;ba=y;ca=m;break a}}while(0);z=f[J+($<<2)>>2]|0;if((z|0)>0){S=0;H=f[Z+($<<2)>>2]|0;while(1){ia=X+(H<<3)|0;if((f[ia>>2]|0)==-1)break;S=S+1|0;if((S|0)>=(z|0)){ba=X;ca=m;break a}else H=H+1|0}f[ia>>2]=aa;f[X+(H<<3)+4>>2]=l;ba=X;ca=m}else{ba=y;ca=m}}while(0);if(ca>>>0>>0){y=ba;l=ca;g=x;v=x;t=x;s=x;r=x}else break}}f[b>>2]=q;if(!Z){ja=X;ka=Y}else{f[Q>>2]=Z;Ko(_);_=f[e>>2]|0;ja=_;ka=_}if(ja|0){f[R>>2]=ja;Ko(ka)}ka=f[d>>2]|0;if(ka|0){f[n>>2]=ka;Ko(ka)}h=1;u=c;return h|0}function Vb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=u;u=u+16|0;e=d;g=a+144|0;i=f[g>>2]|0;k=Ka[f[(f[i>>2]|0)+32>>2]&127](i)|0;do if((((h[k+36>>0]|0)<<8|(h[k+37>>0]|0))&65535)<514){i=a+40|0;l=i;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if(vf(i,1,e)|0){l=a;m=i;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i=e;o=f[i>>2]|0;p=f[i+4>>2]|0;i=a+8|0;q=a+16|0;r=q;s=f[r>>2]|0;t=f[r+4>>2]|0;r=wl(f[i>>2]|0,f[i+4>>2]|0,s|0,t|0)|0;i=H;if(!(p>>>0>i>>>0|(p|0)==(i|0)&o>>>0>r>>>0)){r=vl(s|0,t|0,o|0,p|0)|0;p=q;f[p>>2]=r;f[p+4>>2]=H;break}}v=0;u=d;return v|0}while(0);do if((j[a+38>>1]|0)>=514){if(!(rd(a+80|0,a)|0)){v=0;u=d;return v|0}}else{k=a+96|0;l=k;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if(vf(k,1,e)|0){l=a;m=k;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));k=e;p=f[k>>2]|0;r=f[k+4>>2]|0;k=a+8|0;q=a+16|0;o=q;t=f[o>>2]|0;s=f[o+4>>2]|0;o=wl(f[k>>2]|0,f[k+4>>2]|0,t|0,s|0)|0;k=H;if(!(r>>>0>k>>>0|(r|0)==(k|0)&p>>>0>o>>>0)){o=vl(t|0,s|0,p|0,r|0)|0;r=q;f[r>>2]=o;f[r+4>>2]=H;break}}v=0;u=d;return v|0}while(0);if(!(Jg(a)|0)){v=0;u=d;return v|0}l=c;m=a;n=l+40|0;do{f[l>>2]=f[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));m=f[g>>2]|0;l=Ka[f[(f[m>>2]|0)+32>>2]&127](m)|0;do if((((h[l+36>>0]|0)<<8|(h[l+37>>0]|0))&65535)<514){m=f[g>>2]|0;n=(Ka[f[(f[m>>2]|0)+32>>2]&127](m)|0)+36|0;if(((h[n>>0]|0)<<8&65535)<512){n=c+8|0;m=f[n>>2]|0;r=f[n+4>>2]|0;n=c+16|0;o=n;q=f[o>>2]|0;p=vl(q|0,f[o+4>>2]|0,4,0)|0;o=H;if(!((r|0)<(o|0)|(r|0)==(o|0)&m>>>0

>>0)){m=(f[c>>2]|0)+q|0;q=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;f[e>>2]=q;m=n;f[m>>2]=p;f[m+4>>2]=o;w=q;x=19}}else if(zh(e,c)|0){w=f[e>>2]|0;x=19}if((((x|0)==19?(q=f[a+152>>2]|0,w>>>0>>0):0)?(o=c+8|0,m=f[o+4>>2]|0,p=c+16|0,n=p,r=f[n>>2]|0,s=f[n+4>>2]|0,(m|0)>(s|0)|((m|0)==(s|0)?(f[o>>2]|0)>>>0>r>>>0:0)):0)?(o=b[(f[c>>2]|0)+r>>0]|0,m=vl(r|0,s|0,1,0)|0,s=p,f[s>>2]=m,f[s+4>>2]=H,o<<24>>24==0):0){f[a+176>>2]=2;f[a+180>>2]=7;y=q;break}v=0;u=d;return v|0}else{f[a+176>>2]=2;f[a+180>>2]=7;y=f[a+152>>2]|0}while(0);if((y|0)<0){v=0;u=d;return v|0}w=a+156|0;f[e>>2]=0;x=a+160|0;g=f[w>>2]|0;l=(f[x>>2]|0)-g>>2;if(y>>>0<=l>>>0)if(y>>>0>>0){f[x>>2]=g+(y<<2);z=2;A=7}else{z=2;A=7}else{Of(w,y-l|0,e);z=f[a+176>>2]|0;A=f[a+180>>2]|0}l=A-z+1|0;z=a+184|0;A=a+188|0;y=f[A>>2]|0;w=f[z>>2]|0;g=(y-w|0)/12|0;x=w;w=y;if(l>>>0<=g>>>0)if(l>>>0>>0){q=x+(l*12|0)|0;if((q|0)!=(w|0)){x=w;do{w=x;x=x+-12|0;o=f[x>>2]|0;if(o|0){f[w+-8>>2]=o;Ko(o)}}while((x|0)!=(q|0))}f[A>>2]=q;B=q}else B=y;else{Ie(z,l-g|0);B=f[A>>2]|0}g=a+196|0;l=f[z>>2]|0;y=(B-l|0)/12|0;q=a+200|0;a=f[g>>2]|0;x=(f[q>>2]|0)-a>>2;if(y>>>0<=x>>>0)if(y>>>0>>0){f[q>>2]=a+(y<<2);C=B;D=l}else{C=B;D=l}else{Eg(g,y-x|0);C=f[A>>2]|0;D=f[z>>2]|0}if((C|0)==(D|0)){v=1;u=d;return v|0}D=0;do{zh(e,c)|0;C=f[e>>2]|0;if(C|0){x=f[z>>2]|0;y=x+(D*12|0)|0;l=x+(D*12|0)+4|0;B=f[y>>2]|0;a=(f[l>>2]|0)-B>>2;if(C>>>0<=a>>>0)if(C>>>0>>0){f[l>>2]=B+(C<<2);E=x;F=C}else{E=x;F=C}else{Eg(y,C-a|0);E=f[z>>2]|0;F=f[e>>2]|0}kh(F,1,c,f[E+(D*12|0)>>2]|0)|0;f[(f[g>>2]|0)+(D<<2)>>2]=f[e>>2]}D=D+1|0}while(D>>>0<(((f[A>>2]|0)-(f[z>>2]|0)|0)/12|0)>>>0);v=1;u=d;return v|0}function Wb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=Ia,E=Ia,F=Ia,G=0,H=0,I=0,J=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;e=i;j=i;while(1){k=W(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;e=(W(k>>>24^k,1540483477)|0)^(W(e,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else d=d+4|0}d=i+-4|0;j=d&-4;l=d-j|0;m=g+(j+4)|0;o=e}else{l=i;m=g;o=i}switch(l|0){case 3:{p=h[m+2>>0]<<16^o;q=7;break}case 2:{p=o;q=7;break}case 1:{r=o;q=8;break}default:s=o}if((q|0)==7){r=h[m+1>>0]<<8^p;q=8}if((q|0)==8)s=W(r^h[m>>0],1540483477)|0;m=W(s>>>13^s,1540483477)|0;s=m>>>15^m;m=a+4|0;r=f[m>>2]|0;p=(r|0)==0;a:do if(!p){o=r+-1|0;l=(o&r|0)==0;if(!l)if(s>>>0>>0)t=s;else t=(s>>>0)%(r>>>0)|0;else t=s&o;e=f[(f[a>>2]|0)+(t<<2)>>2]|0;if((e|0)!=0?(j=f[e>>2]|0,(j|0)!=0):0){e=(i|0)==0;if(l){if(e){l=j;while(1){d=f[l+4>>2]|0;if(!((d|0)==(s|0)|(d&o|0)==(t|0))){u=t;break a}d=b[l+8+11>>0]|0;if(!((d<<24>>24<0?f[l+12>>2]|0:d&255)|0)){v=l;break}l=f[l>>2]|0;if(!l){u=t;break a}}w=v+20|0;return w|0}l=j;b:while(1){d=f[l+4>>2]|0;if(!((d|0)==(s|0)|(d&o|0)==(t|0))){u=t;break a}d=l+8|0;k=b[d+11>>0]|0;x=k<<24>>24<0;y=k&255;do if(((x?f[l+12>>2]|0:y)|0)==(i|0)){k=f[d>>2]|0;if(x)if(!(Fi(k,g,i)|0)){v=l;q=68;break b}else break;if((b[g>>0]|0)==(k&255)<<24>>24){k=d;z=y;A=g;do{z=z+-1|0;k=k+1|0;if(!z){v=l;q=68;break b}A=A+1|0}while((b[k>>0]|0)==(b[A>>0]|0))}}while(0);l=f[l>>2]|0;if(!l){u=t;break a}}if((q|0)==68){w=v+20|0;return w|0}}if(e){l=j;while(1){o=f[l+4>>2]|0;if((o|0)!=(s|0)){if(o>>>0>>0)B=o;else B=(o>>>0)%(r>>>0)|0;if((B|0)!=(t|0)){u=t;break a}}o=b[l+8+11>>0]|0;if(!((o<<24>>24<0?f[l+12>>2]|0:o&255)|0)){v=l;break}l=f[l>>2]|0;if(!l){u=t;break a}}w=v+20|0;return w|0}l=j;c:while(1){e=f[l+4>>2]|0;if((e|0)!=(s|0)){if(e>>>0>>0)C=e;else C=(e>>>0)%(r>>>0)|0;if((C|0)!=(t|0)){u=t;break a}}e=l+8|0;o=b[e+11>>0]|0;y=o<<24>>24<0;d=o&255;do if(((y?f[l+12>>2]|0:d)|0)==(i|0)){o=f[e>>2]|0;if(y)if(!(Fi(o,g,i)|0)){v=l;q=68;break c}else break;if((b[g>>0]|0)==(o&255)<<24>>24){o=e;x=d;A=g;do{x=x+-1|0;o=o+1|0;if(!x){v=l;q=68;break c}A=A+1|0}while((b[o>>0]|0)==(b[A>>0]|0))}}while(0);l=f[l>>2]|0;if(!l){u=t;break a}}if((q|0)==68){w=v+20|0;return w|0}}else u=t}else u=0;while(0);t=wk(24)|0;Yi(t+8|0,c);f[t+20>>2]=0;f[t+4>>2]=s;f[t>>2]=0;c=a+12|0;D=_(((f[c>>2]|0)+1|0)>>>0);E=_(r>>>0);F=_(n[a+16>>2]);do if(p|_(F*E)>>0<3|(r+-1&r|0)!=0)&1;i=~~_(V(_(D/F)))>>>0;Xf(a,g>>>0>>0?i:g);g=f[m>>2]|0;i=g+-1|0;if(!(i&g)){G=g;H=i&s;break}if(s>>>0>>0){G=g;H=s}else{G=g;H=(s>>>0)%(g>>>0)|0}}else{G=r;H=u}while(0);u=(f[a>>2]|0)+(H<<2)|0;H=f[u>>2]|0;if(!H){r=a+8|0;f[t>>2]=f[r>>2];f[r>>2]=t;f[u>>2]=r;r=f[t>>2]|0;if(r|0){u=f[r+4>>2]|0;r=G+-1|0;if(r&G)if(u>>>0>>0)I=u;else I=(u>>>0)%(G>>>0)|0;else I=u&r;J=(f[a>>2]|0)+(I<<2)|0;q=66}}else{f[t>>2]=f[H>>2];J=H;q=66}if((q|0)==66)f[J>>2]=t;f[c>>2]=(f[c>>2]|0)+1;v=t;w=v+20|0;return w|0}function Xb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[d>>2]|0;j=(f[h>>2]|0)-i>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0)f[h>>2]=i+(e<<2)}else Eg(d,e-j|0);j=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;h=Ho(i)|0;oh(h|0,0,i|0)|0;i=f[g>>2]|0;if((i|0)>0){k=a+16|0;l=a+32|0;m=a+12|0;n=0;do{o=f[h+(n<<2)>>2]|0;p=f[k>>2]|0;do if((o|0)<=(p|0)){q=f[m>>2]|0;r=f[l>>2]|0;s=r+(n<<2)|0;if((o|0)<(q|0)){f[s>>2]=q;t=r;break}else{f[s>>2]=o;t=r;break}}else{r=f[l>>2]|0;f[r+(n<<2)>>2]=p;t=r}while(0);n=n+1|0;u=f[g>>2]|0}while((n|0)<(u|0));if((u|0)>0){n=a+20|0;l=0;do{p=(f[b+(l<<2)>>2]|0)+(f[t+(l<<2)>>2]|0)|0;o=c+(l<<2)|0;f[o>>2]=p;if((p|0)<=(f[k>>2]|0)){if((p|0)<(f[m>>2]|0)){v=(f[n>>2]|0)+p|0;w=19}}else{v=p-(f[n>>2]|0)|0;w=19}if((w|0)==19){w=0;f[o>>2]=v}l=l+1|0;o=f[g>>2]|0}while((l|0)<(o|0));x=o}else x=u}else x=i;i=f[a+56>>2]|0;u=f[i>>2]|0;l=(f[i+4>>2]|0)-u|0;v=l>>2;if((l|0)<=4){Io(h);return 1}l=u;u=j+12|0;n=a+16|0;m=a+32|0;k=a+12|0;t=(e|0)>0;o=a+20|0;a=1;p=x;while(1){if(v>>>0<=a>>>0){w=25;break}x=f[l+(a<<2)>>2]|0;r=W(a,e)|0;if((x|0)!=-1?(s=f[(f[u>>2]|0)+(x<<2)>>2]|0,(s|0)!=-1):0){x=f[j>>2]|0;q=f[d>>2]|0;y=f[q+(f[x+(s<<2)>>2]<<2)>>2]|0;z=s+1|0;A=((z>>>0)%3|0|0)==0?s+-2|0:z;if((A|0)==-1)B=-1;else B=f[x+(A<<2)>>2]|0;A=f[q+(B<<2)>>2]|0;z=(((s>>>0)%3|0|0)==0?2:-1)+s|0;if((z|0)==-1)C=-1;else C=f[x+(z<<2)>>2]|0;z=f[q+(C<<2)>>2]|0;if((y|0)<(a|0)&(A|0)<(a|0)&(z|0)<(a|0)){q=W(y,e)|0;y=W(A,e)|0;A=W(z,e)|0;if(t){z=0;do{f[h+(z<<2)>>2]=(f[c+(z+A<<2)>>2]|0)+(f[c+(z+y<<2)>>2]|0)-(f[c+(z+q<<2)>>2]|0);z=z+1|0}while((z|0)!=(e|0))}z=b+(r<<2)|0;q=c+(r<<2)|0;if((p|0)>0){y=0;do{A=f[h+(y<<2)>>2]|0;x=f[n>>2]|0;do if((A|0)<=(x|0)){s=f[k>>2]|0;D=f[m>>2]|0;E=D+(y<<2)|0;if((A|0)<(s|0)){f[E>>2]=s;F=D;break}else{f[E>>2]=A;F=D;break}}else{D=f[m>>2]|0;f[D+(y<<2)>>2]=x;F=D}while(0);y=y+1|0;G=f[g>>2]|0}while((y|0)<(G|0));if((G|0)>0){y=0;do{x=(f[z+(y<<2)>>2]|0)+(f[F+(y<<2)>>2]|0)|0;A=q+(y<<2)|0;f[A>>2]=x;if((x|0)<=(f[n>>2]|0)){if((x|0)<(f[k>>2]|0)){H=(f[o>>2]|0)+x|0;w=66}}else{H=x-(f[o>>2]|0)|0;w=66}if((w|0)==66){w=0;f[A>>2]=H}y=y+1|0;A=f[g>>2]|0}while((y|0)<(A|0));I=A}else I=G}else I=p}else w=36}else w=36;if((w|0)==36){w=0;y=c+((W(a+-1|0,e)|0)<<2)|0;q=b+(r<<2)|0;z=c+(r<<2)|0;if((p|0)>0){A=0;do{x=f[y+(A<<2)>>2]|0;D=f[n>>2]|0;do if((x|0)<=(D|0)){E=f[k>>2]|0;s=f[m>>2]|0;J=s+(A<<2)|0;if((x|0)<(E|0)){f[J>>2]=E;K=s;break}else{f[J>>2]=x;K=s;break}}else{s=f[m>>2]|0;f[s+(A<<2)>>2]=D;K=s}while(0);A=A+1|0;L=f[g>>2]|0}while((A|0)<(L|0));if((L|0)>0){A=0;do{y=(f[q+(A<<2)>>2]|0)+(f[K+(A<<2)>>2]|0)|0;r=z+(A<<2)|0;f[r>>2]=y;if((y|0)<=(f[n>>2]|0)){if((y|0)<(f[k>>2]|0)){M=(f[o>>2]|0)+y|0;w=50}}else{M=y-(f[o>>2]|0)|0;w=50}if((w|0)==50){w=0;f[r>>2]=M}A=A+1|0;r=f[g>>2]|0}while((A|0)<(r|0));I=r}else I=L}else I=p}a=a+1|0;if((a|0)>=(v|0)){w=23;break}else p=I}if((w|0)==23){Io(h);return 1}else if((w|0)==25)$n(i);return 0}function Yb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=a+8|0;f[g>>2]=e;d=a+32|0;h=a+36|0;i=f[d>>2]|0;j=(f[h>>2]|0)-i>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0)f[h>>2]=i+(e<<2)}else Eg(d,e-j|0);j=f[a+48>>2]|0;d=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;h=Ho(i)|0;oh(h|0,0,i|0)|0;i=f[g>>2]|0;if((i|0)>0){k=a+16|0;l=a+32|0;m=a+12|0;n=0;do{o=f[h+(n<<2)>>2]|0;p=f[k>>2]|0;do if((o|0)<=(p|0)){q=f[m>>2]|0;r=f[l>>2]|0;s=r+(n<<2)|0;if((o|0)<(q|0)){f[s>>2]=q;t=r;break}else{f[s>>2]=o;t=r;break}}else{r=f[l>>2]|0;f[r+(n<<2)>>2]=p;t=r}while(0);n=n+1|0;u=f[g>>2]|0}while((n|0)<(u|0));if((u|0)>0){n=a+20|0;l=0;do{p=(f[b+(l<<2)>>2]|0)+(f[t+(l<<2)>>2]|0)|0;o=c+(l<<2)|0;f[o>>2]=p;if((p|0)<=(f[k>>2]|0)){if((p|0)<(f[m>>2]|0)){v=(f[n>>2]|0)+p|0;w=19}}else{v=p-(f[n>>2]|0)|0;w=19}if((w|0)==19){w=0;f[o>>2]=v}l=l+1|0;o=f[g>>2]|0}while((l|0)<(o|0));x=o}else x=u}else x=i;i=f[a+56>>2]|0;u=f[i>>2]|0;l=(f[i+4>>2]|0)-u|0;v=l>>2;if((l|0)<=4){Io(h);return 1}l=u;u=a+16|0;n=a+32|0;m=a+12|0;k=j+64|0;t=j+28|0;o=(e|0)>0;p=a+20|0;a=1;r=x;while(1){if(v>>>0<=a>>>0){w=25;break}x=f[l+(a<<2)>>2]|0;s=W(a,e)|0;if((((x|0)!=-1?(f[(f[j>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0)==0:0)?(q=f[(f[(f[k>>2]|0)+12>>2]|0)+(x<<2)>>2]|0,(q|0)!=-1):0)?(x=f[t>>2]|0,y=f[d>>2]|0,z=f[y+(f[x+(q<<2)>>2]<<2)>>2]|0,A=q+1|0,B=f[y+(f[x+((((A>>>0)%3|0|0)==0?q+-2|0:A)<<2)>>2]<<2)>>2]|0,A=f[y+(f[x+((((q>>>0)%3|0|0)==0?2:-1)+q<<2)>>2]<<2)>>2]|0,(z|0)<(a|0)&(B|0)<(a|0)&(A|0)<(a|0)):0){q=W(z,e)|0;z=W(B,e)|0;B=W(A,e)|0;if(o){A=0;do{f[h+(A<<2)>>2]=(f[c+(A+B<<2)>>2]|0)+(f[c+(A+z<<2)>>2]|0)-(f[c+(A+q<<2)>>2]|0);A=A+1|0}while((A|0)!=(e|0))}A=b+(s<<2)|0;q=c+(s<<2)|0;if((r|0)>0){z=0;do{B=f[h+(z<<2)>>2]|0;x=f[u>>2]|0;do if((B|0)<=(x|0)){y=f[m>>2]|0;C=f[n>>2]|0;D=C+(z<<2)|0;if((B|0)<(y|0)){f[D>>2]=y;E=C;break}else{f[D>>2]=B;E=C;break}}else{C=f[n>>2]|0;f[C+(z<<2)>>2]=x;E=C}while(0);z=z+1|0;F=f[g>>2]|0}while((z|0)<(F|0));if((F|0)>0){z=0;do{x=(f[A+(z<<2)>>2]|0)+(f[E+(z<<2)>>2]|0)|0;B=q+(z<<2)|0;f[B>>2]=x;if((x|0)<=(f[u>>2]|0)){if((x|0)<(f[m>>2]|0)){G=(f[p>>2]|0)+x|0;w=63}}else{G=x-(f[p>>2]|0)|0;w=63}if((w|0)==63){w=0;f[B>>2]=G}z=z+1|0;B=f[g>>2]|0}while((z|0)<(B|0));H=B}else H=F}else H=r}else{z=c+((W(a+-1|0,e)|0)<<2)|0;q=b+(s<<2)|0;A=c+(s<<2)|0;if((r|0)>0){B=0;do{x=f[z+(B<<2)>>2]|0;C=f[u>>2]|0;do if((x|0)<=(C|0)){D=f[m>>2]|0;y=f[n>>2]|0;I=y+(B<<2)|0;if((x|0)<(D|0)){f[I>>2]=D;J=y;break}else{f[I>>2]=x;J=y;break}}else{y=f[n>>2]|0;f[y+(B<<2)>>2]=C;J=y}while(0);B=B+1|0;K=f[g>>2]|0}while((B|0)<(K|0));if((K|0)>0){B=0;do{z=(f[q+(B<<2)>>2]|0)+(f[J+(B<<2)>>2]|0)|0;s=A+(B<<2)|0;f[s>>2]=z;if((z|0)<=(f[u>>2]|0)){if((z|0)<(f[m>>2]|0)){L=(f[p>>2]|0)+z|0;w=47}}else{L=z-(f[p>>2]|0)|0;w=47}if((w|0)==47){w=0;f[s>>2]=L}B=B+1|0;s=f[g>>2]|0}while((B|0)<(s|0));H=s}else H=K}else H=r}a=a+1|0;if((a|0)>=(v|0)){w=23;break}else r=H}if((w|0)==23){Io(h);return 1}else if((w|0)==25)$n(i);return 0}function Zb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;c=u;u=u+16|0;d=c;e=f[b>>2]|0;b=a+8|0;g=e+1|0;if((e|0)!=-1){h=((g>>>0)%3|0|0)==0?e+-2|0:g;g=e+(((e>>>0)%3|0|0)==0?2:-1)|0;i=a+216|0;j=a+220|0;k=a+368|0;if((f[(f[(f[b>>2]|0)+12>>2]|0)+(e<<2)>>2]|0)!=-1){l=f[j>>2]|0;m=f[i>>2]|0;n=m;if((l|0)==(m|0)){o=g;p=d;q=d;r=n;s=n;t=h;v=l;w=l;x=k;y=i;z=j;A=i}else{l=0;do{if(pi((f[k>>2]|0)+(l<<4)|0)|0){n=f[i>>2]|0;f[d>>2]=e;m=n+(l*144|0)+136|0;B=f[m>>2]|0;if(B>>>0<(f[n+(l*144|0)+140>>2]|0)>>>0){f[B>>2]=e;f[m>>2]=B+4}else Ng(n+(l*144|0)+132|0,d)}l=l+1|0;C=f[j>>2]|0;D=f[i>>2]|0}while(l>>>0<((C-D|0)/144|0)>>>0);l=D;o=g;p=d;q=d;r=l;s=l;t=h;v=C;w=D;x=k;y=i;z=j;A=i}}else{E=d;F=k;G=d;H=i;I=g;J=h;K=j;L=i;M=4}}else{i=a+216|0;E=d;F=a+368|0;G=d;H=i;I=-1;J=-1;K=a+220|0;L=i;M=4}if((M|0)==4){M=f[K>>2]|0;i=f[L>>2]|0;a=i;if((M|0)==(i|0)){o=I;p=E;q=G;r=a;s=a;t=J;v=M;w=M;x=F;y=H;z=K;A=L}else{j=0;h=a;g=a;k=M;M=a;a=i;while(1){f[d>>2]=e;i=M+(j*144|0)+136|0;D=f[i>>2]|0;if(D>>>0<(f[M+(j*144|0)+140>>2]|0)>>>0){f[D>>2]=e;f[i>>2]=D+4;N=a;O=h;P=g;Q=a;R=k}else{Ng(M+(j*144|0)+132|0,d);D=f[L>>2]|0;i=D;N=i;O=i;P=i;Q=D;R=f[K>>2]|0}j=j+1|0;if(j>>>0>=((R-Q|0)/144|0)>>>0){o=I;p=E;q=G;r=O;s=P;t=J;v=R;w=Q;x=F;y=H;z=K;A=L;break}else{h=O;g=P;k=R;M=N;a=Q}}}}if((t|0)!=-1?(f[(f[(f[b>>2]|0)+12>>2]|0)+(t<<2)>>2]|0)!=-1:0)if((v|0)==(w|0)){S=w;T=w;U=r}else{Q=0;do{if(pi((f[x>>2]|0)+(Q<<4)|0)|0){a=f[y>>2]|0;f[d>>2]=t;N=a+(Q*144|0)+136|0;M=f[N>>2]|0;if(M>>>0<(f[a+(Q*144|0)+140>>2]|0)>>>0){f[M>>2]=t;f[N>>2]=M+4}else Ng(a+(Q*144|0)+132|0,d)}Q=Q+1|0;V=f[z>>2]|0;W=f[A>>2]|0}while(Q>>>0<((V-W|0)/144|0)>>>0);S=V;T=W;U=W}else if((v|0)==(w|0)){S=w;T=w;U=r}else{W=0;V=w;w=r;r=v;v=s;while(1){f[d>>2]=t;s=v+(W*144|0)+136|0;Q=f[s>>2]|0;if(Q>>>0<(f[v+(W*144|0)+140>>2]|0)>>>0){f[Q>>2]=t;f[s>>2]=Q+4;X=V;Y=V;Z=r;_=w}else{Ng(v+(W*144|0)+132|0,d);Q=f[A>>2]|0;s=Q;X=s;Y=Q;Z=f[z>>2]|0;_=s}W=W+1|0;if(W>>>0>=((Z-Y|0)/144|0)>>>0){S=Z;T=Y;U=_;break}else{V=Y;w=_;r=Z;v=X}}}if((o|0)!=-1?(f[(f[(f[b>>2]|0)+12>>2]|0)+(o<<2)>>2]|0)!=-1:0){if((S|0)==(T|0)){u=c;return 1}b=0;do{if(pi((f[x>>2]|0)+(b<<4)|0)|0){X=f[y>>2]|0;f[d>>2]=o;v=X+(b*144|0)+136|0;Z=f[v>>2]|0;if(Z>>>0<(f[X+(b*144|0)+140>>2]|0)>>>0){f[Z>>2]=o;f[v>>2]=Z+4}else Ng(X+(b*144|0)+132|0,d)}b=b+1|0}while(b>>>0<(((f[z>>2]|0)-(f[A>>2]|0)|0)/144|0)>>>0);u=c;return 1}if((S|0)==(T|0)){u=c;return 1}b=0;y=U;U=T;T=S;while(1){f[d>>2]=o;S=y+(b*144|0)+136|0;x=f[S>>2]|0;if(x>>>0<(f[y+(b*144|0)+140>>2]|0)>>>0){f[x>>2]=o;f[S>>2]=x+4;$=U;aa=T}else{Ng(y+(b*144|0)+132|0,d);$=f[A>>2]|0;aa=f[z>>2]|0}b=b+1|0;if(b>>>0>=((aa-$|0)/144|0)>>>0)break;else{y=$;U=$;T=aa}}u=c;return 1}function _b(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;d=u;u=u+16|0;e=d+12|0;g=d;h=d+8|0;i=d+4|0;j=a+8+(b*12|0)|0;k=a+8+(b*12|0)+4|0;f[k>>2]=f[j>>2];l=f[c>>2]|0;m=a+4|0;f[g>>2]=(l|0)==-1?-1:(l>>>0)/3|0;n=a+56|0;o=a+8+(b*12|0)+8|0;p=0;q=l;r=l;while(1){l=(p|0)==1;if(l){s=(q|0)==-1;do if(!s)if(!((q>>>0)%3|0)){t=q+2|0;break}else{t=q+-1|0;break}else t=-1;while(0);f[h>>2]=t;f[e>>2]=f[h>>2];if((af(a,e)|0)==-1){v=q;break}w=q+1|0;if(s){x=10;break}y=((w>>>0)%3|0|0)==0?q+-2|0:w;f[c>>2]=y;w=y+1|0;if((y|0)==-1){z=q;x=14;break}A=((w>>>0)%3|0|0)==0?y+-2|0:w;if((A|0)==-1){z=q;x=14;break}w=f[(f[(f[m>>2]|0)+12>>2]|0)+(A<<2)>>2]|0;A=w+1|0;if((w|0)==-1){z=q;x=14;break}y=((A>>>0)%3|0|0)==0?w+-2|0:A;f[c>>2]=y;if((y|0)==-1){v=q;break}A=(y>>>0)/3|0;f[g>>2]=A;B=y;C=A}else{B=r;C=f[g>>2]|0}A=(f[n>>2]|0)+(C>>>5<<2)|0;y=1<<(C&31);w=f[A>>2]|0;if(!(y&w)){a:do if(l){D=0;E=q;F=y;G=w;H=A;I=B;while(1){f[H>>2]=G|F;J=f[k>>2]|0;if((J|0)==(f[o>>2]|0))Ng(j,g);else{f[J>>2]=f[g>>2];f[k>>2]=J+4}J=D+1|0;if(!D){K=E;L=I}else{M=(I|0)==-1;do if(!(J&1))if(!M)if(!((I>>>0)%3|0)){N=I+2|0;O=I;break}else{N=I+-1|0;O=I;break}else{N=-1;O=I}else{P=I+1|0;if(M){N=-1;O=E}else{N=((P>>>0)%3|0|0)==0?I+-2|0:P;O=E}}while(0);f[c>>2]=N;K=O;L=N}f[i>>2]=L;f[e>>2]=f[i>>2];M=af(a,e)|0;f[c>>2]=M;if((M|0)==-1){Q=J;R=K;S=-1;break a}P=(M>>>0)/3|0;f[g>>2]=P;H=(f[n>>2]|0)+(P>>>5<<2)|0;F=1<<(P&31);G=f[H>>2]|0;if(F&G|0){Q=J;R=K;S=M;break}else{D=J;E=K;I=M}}}else{I=0;E=B;D=y;G=w;F=A;while(1){f[F>>2]=G|D;H=f[k>>2]|0;if((H|0)==(f[o>>2]|0))Ng(j,g);else{f[H>>2]=f[g>>2];f[k>>2]=H+4}H=I+1|0;if(!I)T=E;else{M=(E|0)==-1;do if(!(H&1))if(!M)if(!((E>>>0)%3|0)){U=E+2|0;break}else{U=E+-1|0;break}else U=-1;else{P=E+1|0;if(M)U=-1;else U=((P>>>0)%3|0|0)==0?E+-2|0:P}while(0);f[c>>2]=U;T=U}f[i>>2]=T;f[e>>2]=f[i>>2];M=af(a,e)|0;f[c>>2]=M;if((M|0)==-1){Q=H;R=q;S=-1;break a}J=(M>>>0)/3|0;f[g>>2]=J;F=(f[n>>2]|0)+(J>>>5<<2)|0;D=1<<(J&31);G=f[F>>2]|0;if(D&G|0){Q=H;R=q;S=M;break}else{I=H;E=M}}}while(0);if((Q&1|0)==0|l^1){V=R;W=S}else{A=(f[k>>2]|0)+-4|0;w=f[A>>2]|0;y=(f[n>>2]|0)+(w>>>5<<2)|0;f[y>>2]=f[y>>2]&~(1<<(w&31));f[k>>2]=A;V=R;W=S}}else{V=q;W=B}p=p+1|0;if(p>>>0>=2){v=V;break}else{q=V;r=W}}if((x|0)==10){f[c>>2]=-1;z=-1;x=14}if((x|0)==14){f[c>>2]=-1;v=z}f[a+44+(b<<2)>>2]=v;v=f[k>>2]|0;k=f[j>>2]|0;j=k;if((v|0)==(k|0)){u=d;return}b=f[n>>2]|0;n=v-k>>2;k=0;do{v=f[j+(k<<2)>>2]|0;a=b+(v>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(v&31));k=k+1|0}while(k>>>0>>0);u=d;return}function $b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;e=u;u=u+672|0;g=e;i=e+656|0;j=e+4|0;k=c+8|0;l=k;m=f[l>>2]|0;n=f[l+4>>2]|0;l=c+16|0;o=l;p=f[o>>2]|0;q=vl(p|0,f[o+4>>2]|0,4,0)|0;o=H;if((n|0)<(o|0)|(n|0)==(o|0)&m>>>0>>0){r=0;u=e;return r|0}q=(f[c>>2]|0)+p|0;p=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;b[a>>0]=p;b[a+1>>0]=p>>8;b[a+2>>0]=p>>16;b[a+3>>0]=p>>24;q=l;m=f[q>>2]|0;o=f[q+4>>2]|0;q=vl(m|0,o|0,4,0)|0;n=l;f[n>>2]=q;f[n+4>>2]=H;if(p>>>0>31){r=0;u=e;return r|0}p=k;n=f[p>>2]|0;s=f[p+4>>2]|0;p=vl(m|0,o|0,8,0)|0;o=H;if((s|0)<(o|0)|(s|0)==(o|0)&n>>>0

>>0){r=0;u=e;return r|0}p=a+4|0;n=(f[c>>2]|0)+q|0;q=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;q=l;p=f[q>>2]|0;n=f[q+4>>2]|0;q=vl(p|0,n|0,4,0)|0;o=l;f[o>>2]=q;f[o+4>>2]=H;o=a+12|0;s=k;m=f[s>>2]|0;t=f[s+4>>2]|0;s=vl(p|0,n|0,8,0)|0;n=H;if((t|0)<(n|0)|(t|0)==(n|0)&m>>>0>>0){r=0;u=e;return r|0}s=(f[c>>2]|0)+q|0;q=h[s>>0]|h[s+1>>0]<<8|h[s+2>>0]<<16|h[s+3>>0]<<24;b[o>>0]=q;b[o+1>>0]=q>>8;b[o+2>>0]=q>>16;b[o+3>>0]=q>>24;s=l;m=f[s>>2]|0;n=f[s+4>>2]|0;s=vl(m|0,n|0,4,0)|0;t=l;f[t>>2]=s;f[t+4>>2]=H;t=a+16|0;a=k;k=f[a>>2]|0;p=f[a+4>>2]|0;a=vl(m|0,n|0,8,0)|0;n=H;if((p|0)<(n|0)|(p|0)==(n|0)&k>>>0>>0){r=0;u=e;return r|0}a=(f[c>>2]|0)+s|0;s=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;b[t>>0]=s;b[t+1>>0]=s>>8;b[t+2>>0]=s>>16;b[t+3>>0]=s>>24;a=l;k=vl(f[a>>2]|0,f[a+4>>2]|0,4,0)|0;a=l;f[a>>2]=k;f[a+4>>2]=H;if(s>>>0>6){f[g>>2]=s;kl(13491,g)|0;r=0;u=e;return r|0}f[i>>2]=d;a:do if(!q)v=17;else{Tg(d,q);switch(f[t>>2]|0){case 0:{ve(j,3);Kd(j,c,i)|0;Cf(j);v=17;break a;break}case 1:{ve(j,3);Jd(j,c,i)|0;Cf(j);v=17;break a;break}case 2:{we(j,3);Md(j,c,i)|0;Lf(j);v=17;break a;break}case 3:{we(j,3);Ld(j,c,i)|0;Lf(j);v=17;break a;break}case 4:{re(j,3);Id(j,c,i)|0;jg(j);v=17;break a;break}case 5:{re(j,3);Hd(j,c,i)|0;jg(j);v=17;break a;break}case 6:{re(j,3);Gd(j,c,i)|0;jg(j);v=17;break a;break}default:{w=0;break a}}}while(0);if((v|0)==17)w=(((f[d+4>>2]|0)-(f[d>>2]|0)|0)/12|0|0)==(f[o>>2]|0);r=w;u=e;return r|0}function ac(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=Ia,y=Ia,z=Ia,A=Ia,B=0,C=0,D=0,E=Ia,F=Ia,G=Ia,H=Ia,J=Ia,L=Ia,M=Ia,N=Ia,O=Ia,P=Ia,Q=Ia,R=0,S=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=o+2|0;r=p;break}else{q=o+-1|0;r=p;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(r<<2)>>2]|0;r=f[o+(q<<2)>>2]|0;q=f[a+52>>2]|0;o=f[q>>2]|0;c=(f[q+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)$n(q);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=r>>>0)$n(q);q=f[p+(r<<2)>>2]|0;r=(o|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r){p=a+72|0;c=f[p>>2]|0;t=W(c,o)|0;v=p;w=c}else{if((e|0)>0){c=a+72|0;p=f[c>>2]|0;t=W(p,e+-1|0)|0;v=c;w=p;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+68>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[p>>2]|0));u=g;return}while(0);if((w|0)<=0){u=g;return}w=f[a+68>>2]|0;r=0;do{f[w+(r<<2)>>2]=f[d+(r+t<<2)>>2];r=r+1|0}while((r|0)<(f[v>>2]|0));u=g;return}v=f[a+72>>2]|0;r=W(v,o)|0;x=_(f[d+(r<<2)>>2]|0);y=_(f[d+(r+1<<2)>>2]|0);r=W(v,q)|0;z=_(f[d+(r<<2)>>2]|0);A=_(f[d+(r+1<<2)>>2]|0);if(!(z!=x|A!=y)){r=f[a+68>>2]|0;f[r>>2]=~~z;f[r+4>>2]=~~A;u=g;return}r=a+64|0;d=f[(f[r>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;e=a+60|0;v=f[e>>2]|0;if(!(b[v+84>>0]|0))B=f[(f[v+68>>2]|0)+(d<<2)>>2]|0;else B=d;f[i>>2]=B;B=b[v+24>>0]|0;f[h>>2]=f[i>>2];ob(v,h,B,j)|0;B=f[(f[r>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[e>>2]|0;if(!(b[o+84>>0]|0))C=f[(f[o+68>>2]|0)+(B<<2)>>2]|0;else C=B;f[i>>2]=C;C=b[o+24>>0]|0;f[h>>2]=f[i>>2];ob(o,h,C,k)|0;C=f[(f[r>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[e>>2]|0;if(!(b[q+84>>0]|0))D=f[(f[q+68>>2]|0)+(C<<2)>>2]|0;else D=C;f[i>>2]=D;D=b[q+24>>0]|0;f[h>>2]=f[i>>2];ob(q,h,D,l)|0;E=_(n[l>>2]);F=_(n[k>>2]);G=_(E-F);E=_(n[l+4>>2]);H=_(n[k+4>>2]);J=_(E-H);E=_(n[l+8>>2]);L=_(n[k+8>>2]);M=_(E-L);E=_(_(n[j>>2])-F);F=_(_(n[j+4>>2])-H);H=_(_(n[j+8>>2])-L);L=_(_(_(_(G*G)+_(0.0))+_(J*J))+_(M*M));if(L>_(0.0)?1:(f[a+88>>2]|0)<258){N=_(_(_(_(_(G*E)+_(0.0))+_(J*F))+_(M*H))/L);O=_(E-_(G*N));G=_(F-_(J*N));J=_(H-_(M*N));P=N;Q=_(K(_(_(_(J*J)+_(_(G*G)+_(_(O*O)+_(0.0))))/L)))}else{P=_(0.0);Q=_(0.0)}L=_(z-x);z=_(A-y);A=_(_(L*P)+x);x=_(L*Q);L=_(_(z*P)+y);y=_(z*Q);j=a+80|0;k=(f[j>>2]|0)+-1|0;l=(1<<(k&31)&f[(f[a+76>>2]|0)+(k>>>5<<2)>>2]|0)==0;f[j>>2]=k;Q=_(-y);z=_(A+(l?y:Q));Q=_(-x);y=_(L+(l?Q:x));if(((n[s>>2]=z,f[s>>2]|0)&2147483647)>>>0>2139095040){l=f[a+68>>2]|0;f[l>>2]=-2147483648;R=l}else{l=~~+I(+(+z+.5));k=f[a+68>>2]|0;f[k>>2]=l;R=k}if(((n[s>>2]=y,f[s>>2]|0)&2147483647)>>>0>2139095040)S=-2147483648;else S=~~+I(+(+y+.5));f[R+4>>2]=S;u=g;return}function bc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=Ia,y=Ia,z=Ia,A=Ia,B=0,C=0,D=0,E=Ia,F=Ia,G=Ia,H=Ia,J=Ia,L=Ia,M=Ia,N=Ia,O=Ia,P=Ia,Q=Ia,R=0,S=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=f[c>>2]|0;c=m+1|0;if((m|0)!=-1){o=((c>>>0)%3|0|0)==0?m+-2|0:c;c=(((m>>>0)%3|0|0)==0?2:-1)+m|0;m=f[a+48>>2]|0;if((o|0)==-1)p=-1;else p=f[(f[m>>2]|0)+(o<<2)>>2]|0;if((c|0)==-1){q=-1;r=p}else{q=f[(f[m>>2]|0)+(c<<2)>>2]|0;r=p}}else{q=-1;r=-1}p=f[a+52>>2]|0;c=f[p>>2]|0;m=(f[p+4>>2]|0)-c>>2;if(m>>>0<=r>>>0)$n(p);o=c;c=f[o+(r<<2)>>2]|0;if(m>>>0<=q>>>0)$n(p);p=f[o+(q<<2)>>2]|0;q=(c|0)<(e|0);if(!(q&(p|0)<(e|0))){do if(q){o=a+72|0;m=f[o>>2]|0;t=W(m,c)|0;v=o;w=m}else{if((e|0)>0){m=a+72|0;o=f[m>>2]|0;t=W(o,e+-1|0)|0;v=m;w=o;break}o=a+72|0;if((f[o>>2]|0)<=0){u=g;return}m=f[a+68>>2]|0;r=0;do{f[m+(r<<2)>>2]=0;r=r+1|0}while((r|0)<(f[o>>2]|0));u=g;return}while(0);if((w|0)<=0){u=g;return}w=f[a+68>>2]|0;q=0;do{f[w+(q<<2)>>2]=f[d+(q+t<<2)>>2];q=q+1|0}while((q|0)<(f[v>>2]|0));u=g;return}v=f[a+72>>2]|0;q=W(v,c)|0;x=_(f[d+(q<<2)>>2]|0);y=_(f[d+(q+1<<2)>>2]|0);q=W(v,p)|0;z=_(f[d+(q<<2)>>2]|0);A=_(f[d+(q+1<<2)>>2]|0);if(!(z!=x|A!=y)){q=f[a+68>>2]|0;f[q>>2]=~~z;f[q+4>>2]=~~A;u=g;return}q=a+64|0;d=f[(f[q>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;e=a+60|0;v=f[e>>2]|0;if(!(b[v+84>>0]|0))B=f[(f[v+68>>2]|0)+(d<<2)>>2]|0;else B=d;f[i>>2]=B;B=b[v+24>>0]|0;f[h>>2]=f[i>>2];ob(v,h,B,j)|0;B=f[(f[q>>2]|0)+(c<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;c=f[e>>2]|0;if(!(b[c+84>>0]|0))C=f[(f[c+68>>2]|0)+(B<<2)>>2]|0;else C=B;f[i>>2]=C;C=b[c+24>>0]|0;f[h>>2]=f[i>>2];ob(c,h,C,k)|0;C=f[(f[q>>2]|0)+(p<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;p=f[e>>2]|0;if(!(b[p+84>>0]|0))D=f[(f[p+68>>2]|0)+(C<<2)>>2]|0;else D=C;f[i>>2]=D;D=b[p+24>>0]|0;f[h>>2]=f[i>>2];ob(p,h,D,l)|0;E=_(n[l>>2]);F=_(n[k>>2]);G=_(E-F);E=_(n[l+4>>2]);H=_(n[k+4>>2]);J=_(E-H);E=_(n[l+8>>2]);L=_(n[k+8>>2]);M=_(E-L);E=_(_(n[j>>2])-F);F=_(_(n[j+4>>2])-H);H=_(_(n[j+8>>2])-L);L=_(_(_(_(G*G)+_(0.0))+_(J*J))+_(M*M));if(L>_(0.0)?1:(f[a+88>>2]|0)<258){N=_(_(_(_(_(G*E)+_(0.0))+_(J*F))+_(M*H))/L);O=_(E-_(G*N));G=_(F-_(J*N));J=_(H-_(M*N));P=N;Q=_(K(_(_(_(J*J)+_(_(G*G)+_(_(O*O)+_(0.0))))/L)))}else{P=_(0.0);Q=_(0.0)}L=_(z-x);z=_(A-y);A=_(_(L*P)+x);x=_(L*Q);L=_(_(z*P)+y);y=_(z*Q);j=a+80|0;k=(f[j>>2]|0)+-1|0;l=(1<<(k&31)&f[(f[a+76>>2]|0)+(k>>>5<<2)>>2]|0)==0;f[j>>2]=k;Q=_(-y);z=_(A+(l?y:Q));Q=_(-x);y=_(L+(l?Q:x));if(((n[s>>2]=z,f[s>>2]|0)&2147483647)>>>0>2139095040){l=f[a+68>>2]|0;f[l>>2]=-2147483648;R=l}else{l=~~+I(+(+z+.5));k=f[a+68>>2]|0;f[k>>2]=l;R=k}if(((n[s>>2]=y,f[s>>2]|0)&2147483647)>>>0>2139095040)S=-2147483648;else S=~~+I(+(+y+.5));f[R+4>>2]=S;u=g;return}function cc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;b=u;u=u+32|0;c=b+4|0;d=b;e=a+16|0;g=f[e>>2]|0;if(g>>>0>340){f[e>>2]=g+-341;g=a+4|0;e=f[g>>2]|0;h=f[e>>2]|0;i=e+4|0;f[g>>2]=i;e=a+8|0;j=f[e>>2]|0;k=a+12|0;l=f[k>>2]|0;m=l;do if((j|0)==(l|0)){n=i;o=f[a>>2]|0;p=o;if(i>>>0>o>>>0){q=((n-p>>2)+1|0)/-2|0;r=i+(q<<2)|0;s=j-n|0;if(!s)t=r;else{Rj(r|0,i|0,s|0)|0;t=(f[g>>2]|0)+(q<<2)|0}q=r+(s>>2<<2)|0;f[e>>2]=q;f[g>>2]=t;v=q;break}q=m-p|0;p=(q|0)==0?1:q>>1;q=p>>>2;do if(p)if(p>>>0>1073741823){s=qa(8)|0;Dm(s,13552);f[s>>2]=4908;ta(s|0,1128,105)}else{w=wk(p<<2)|0;break}else w=0;while(0);s=w;r=w+(q<<2)|0;x=r;y=w+(p<<2)|0;if((i|0)==(j|0)){z=x;A=o}else{B=((j+-4-n|0)>>>2)+1|0;C=r;r=i;while(1){f[C>>2]=f[r>>2];r=r+4|0;if((r|0)==(j|0))break;else C=C+4|0}z=w+(B+q<<2)|0;A=f[a>>2]|0}f[a>>2]=s;f[g>>2]=x;f[e>>2]=z;f[k>>2]=y;if(!A)v=z;else{Ko(A);v=f[e>>2]|0}}else v=j;while(0);f[v>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}e=a+8|0;h=f[e>>2]|0;v=a+4|0;j=h-(f[v>>2]|0)>>2;A=a+12|0;z=f[A>>2]|0;k=z-(f[a>>2]|0)|0;if(j>>>0>=k>>2>>>0){g=(k|0)==0?1:k>>1;k=c+12|0;f[k>>2]=0;f[c+16>>2]=a+12;do if(g)if(g>>>0>1073741823){w=qa(8)|0;Dm(w,13552);f[w>>2]=4908;ta(w|0,1128,105)}else{D=wk(g<<2)|0;break}else D=0;while(0);f[c>>2]=D;w=D+(j<<2)|0;j=c+8|0;f[j>>2]=w;i=c+4|0;f[i>>2]=w;f[k>>2]=D+(g<<2);g=wk(4092)|0;f[d>>2]=g;Ke(c,d);d=f[e>>2]|0;g=f[v>>2]|0;if((d|0)==(g|0)){E=g;F=d}else{g=d;do{g=g+-4|0;ue(c,g);G=f[v>>2]|0}while((g|0)!=(G|0));E=G;F=f[e>>2]|0}G=E;g=f[a>>2]|0;f[a>>2]=f[c>>2];f[c>>2]=g;f[v>>2]=f[i>>2];f[i>>2]=G;f[e>>2]=f[j>>2];f[j>>2]=F;i=f[A>>2]|0;f[A>>2]=f[k>>2];f[k>>2]=i;i=F;if((E|0)!=(i|0))f[j>>2]=i+(~((i+-4-G|0)>>>2)<<2);if(g|0)Ko(g);u=b;return}if((z|0)!=(h|0)){h=wk(4092)|0;f[c>>2]=h;Ke(a,c);u=b;return}h=wk(4092)|0;f[c>>2]=h;ue(a,c);c=f[v>>2]|0;h=f[c>>2]|0;z=c+4|0;f[v>>2]=z;c=f[e>>2]|0;g=f[A>>2]|0;G=g;do if((c|0)==(g|0)){i=z;j=f[a>>2]|0;E=j;if(z>>>0>j>>>0){F=((i-E>>2)+1|0)/-2|0;k=z+(F<<2)|0;d=c-i|0;if(!d)H=k;else{Rj(k|0,z|0,d|0)|0;H=(f[v>>2]|0)+(F<<2)|0}F=k+(d>>2<<2)|0;f[e>>2]=F;f[v>>2]=H;I=F;break}F=G-E|0;E=(F|0)==0?1:F>>1;F=E>>>2;do if(E)if(E>>>0>1073741823){d=qa(8)|0;Dm(d,13552);f[d>>2]=4908;ta(d|0,1128,105)}else{J=wk(E<<2)|0;break}else J=0;while(0);y=J;x=J+(F<<2)|0;s=x;q=J+(E<<2)|0;if((z|0)==(c|0)){K=s;L=j}else{B=((c+-4-i|0)>>>2)+1|0;d=x;x=z;while(1){f[d>>2]=f[x>>2];x=x+4|0;if((x|0)==(c|0))break;else d=d+4|0}K=J+(B+F<<2)|0;L=f[a>>2]|0}f[a>>2]=y;f[v>>2]=s;f[e>>2]=K;f[A>>2]=q;if(!L)I=K;else{Ko(L);I=f[e>>2]|0}}else I=c;while(0);f[I>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}function dc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;$n(z)}l=0;A=a;while(1){f[j>>2]=f[A+(l<<2)>>2];f[d>>2]=f[j>>2];Ob(k,d,h);a=f[h>>2]|0;B=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=vl(D|0,((D|0)<0)<<31>>31|0,B|0,((B|0)<0)<<31>>31|0)|0;B=f[o>>2]|0;D=(B|0)>-1;F=D?B:0-B|0;B=vl(E|0,H|0,F|0,((F|0)<0)<<31>>31|0)|0;F=H;do if(!((B|0)==0&(F|0)==0)){E=f[p>>2]|0;G=((E|0)<0)<<31>>31;I=Bk(E|0,G|0,a|0,((a|0)<0)<<31>>31|0)|0;J=ni(I|0,H|0,B|0,F|0)|0;f[h>>2]=J;I=Bk(E|0,G|0,C|0,((C|0)<0)<<31>>31|0)|0;G=ni(I|0,H|0,B|0,F|0)|0;f[m>>2]=G;I=E-((J|0)>-1?J:0-J|0)-((G|0)>-1?G:0-G|0)|0;if(D){f[o>>2]=I;break}else{f[o>>2]=0-I;break}}else f[h>>2]=f[p>>2];while(0);D=pi(q)|0;F=f[h>>2]|0;if(D){D=0-F|0;B=0-(f[m>>2]|0)|0;C=0-(f[o>>2]|0)|0;f[h>>2]=D;f[m>>2]=B;f[o>>2]=C;K=D;L=B}else{K=F;L=f[m>>2]|0}do if((K|0)<=-1){if((L|0)<0){F=f[o>>2]|0;M=(F|0)>-1?F:0-F|0;N=F}else{F=f[o>>2]|0;M=(f[s>>2]|0)-((F|0)>-1?F:0-F|0)|0;N=F}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[s>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{F=f[p>>2]|0;O=(f[o>>2]|0)+F|0;P=F+L|0}while(0);F=(P|0)==0;B=(O|0)==0;D=f[s>>2]|0;do if(O|P){C=(D|0)==(O|0);if(!(F&C)){a=(D|0)==(P|0);if(!(B&a)){if(F?(I=f[p>>2]|0,(I|0)<(O|0)):0){Q=0;R=(I<<1)-O|0;break}if(a?(a=f[p>>2]|0,(a|0)>(O|0)):0){Q=P;R=(a<<1)-O|0;break}if(C?(C=f[p>>2]|0,(C|0)>(P|0)):0){Q=(C<<1)-P|0;R=O;break}if(B){C=f[p>>2]|0;Q=(C|0)<(P|0)?(C<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=D;R=D}while(0);f[i>>2]=Q;f[r>>2]=R;D=l<<1;B=b+(D<<2)|0;F=c+(D<<2)|0;if((f[t>>2]|0)>0){D=0;C=Q;while(1){a=f[v>>2]|0;do if((C|0)<=(a|0)){I=f[x>>2]|0;G=f[w>>2]|0;J=G+(D<<2)|0;if((C|0)<(I|0)){f[J>>2]=I;S=G;break}else{f[J>>2]=C;S=G;break}}else{G=f[w>>2]|0;f[G+(D<<2)>>2]=a;S=G}while(0);a=D+1|0;T=f[t>>2]|0;if((a|0)>=(T|0))break;D=a;C=f[i+(a<<2)>>2]|0}if((T|0)>0){C=0;do{D=(f[B+(C<<2)>>2]|0)+(f[S+(C<<2)>>2]|0)|0;a=F+(C<<2)|0;f[a>>2]=D;if((D|0)<=(f[v>>2]|0)){if((D|0)<(f[x>>2]|0)){U=(f[y>>2]|0)+D|0;V=51}}else{U=D-(f[y>>2]|0)|0;V=51}if((V|0)==51){V=0;f[a>>2]=U}C=C+1|0}while((C|0)<(f[t>>2]|0))}}l=l+1|0;if((l|0)>=(n|0)){V=4;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=l>>>0){z=C;V=5;break}}if((V|0)==4){u=e;return 1}else if((V|0)==5)$n(z);return 0}function ec(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;e=u;u=u+32|0;d=e+28|0;h=e+16|0;i=e+8|0;j=e;k=a+60|0;f[a+68>>2]=g;g=a+56|0;l=f[g>>2]|0;m=(f[l+4>>2]|0)-(f[l>>2]|0)|0;n=m>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((m|0)<=0){u=e;return 1}m=h+4|0;o=h+8|0;p=a+104|0;q=a+108|0;r=i+4|0;s=a+100|0;t=a+8|0;v=a+16|0;w=a+32|0;x=a+12|0;y=a+20|0;a=f[l>>2]|0;if((f[l+4>>2]|0)==(a|0)){z=l;$n(z)}l=0;A=a;while(1){f[j>>2]=f[A+(l<<2)>>2];f[d>>2]=f[j>>2];Mb(k,d,h);a=f[h>>2]|0;B=(a|0)>-1?a:0-a|0;C=f[m>>2]|0;D=(C|0)>-1?C:0-C|0;E=vl(D|0,((D|0)<0)<<31>>31|0,B|0,((B|0)<0)<<31>>31|0)|0;B=f[o>>2]|0;D=(B|0)>-1;F=D?B:0-B|0;B=vl(E|0,H|0,F|0,((F|0)<0)<<31>>31|0)|0;F=H;do if(!((B|0)==0&(F|0)==0)){E=f[p>>2]|0;G=((E|0)<0)<<31>>31;I=Bk(E|0,G|0,a|0,((a|0)<0)<<31>>31|0)|0;J=ni(I|0,H|0,B|0,F|0)|0;f[h>>2]=J;I=Bk(E|0,G|0,C|0,((C|0)<0)<<31>>31|0)|0;G=ni(I|0,H|0,B|0,F|0)|0;f[m>>2]=G;I=E-((J|0)>-1?J:0-J|0)-((G|0)>-1?G:0-G|0)|0;if(D){f[o>>2]=I;break}else{f[o>>2]=0-I;break}}else f[h>>2]=f[p>>2];while(0);D=pi(q)|0;F=f[h>>2]|0;if(D){D=0-F|0;B=0-(f[m>>2]|0)|0;C=0-(f[o>>2]|0)|0;f[h>>2]=D;f[m>>2]=B;f[o>>2]=C;K=D;L=B}else{K=F;L=f[m>>2]|0}do if((K|0)<=-1){if((L|0)<0){F=f[o>>2]|0;M=(F|0)>-1?F:0-F|0;N=F}else{F=f[o>>2]|0;M=(f[s>>2]|0)-((F|0)>-1?F:0-F|0)|0;N=F}if((N|0)<0){O=(L|0)>-1?L:0-L|0;P=M;break}else{O=(f[s>>2]|0)-((L|0)>-1?L:0-L|0)|0;P=M;break}}else{F=f[p>>2]|0;O=(f[o>>2]|0)+F|0;P=F+L|0}while(0);F=(P|0)==0;B=(O|0)==0;D=f[s>>2]|0;do if(O|P){C=(D|0)==(O|0);if(!(F&C)){a=(D|0)==(P|0);if(!(B&a)){if(F?(I=f[p>>2]|0,(I|0)<(O|0)):0){Q=0;R=(I<<1)-O|0;break}if(a?(a=f[p>>2]|0,(a|0)>(O|0)):0){Q=P;R=(a<<1)-O|0;break}if(C?(C=f[p>>2]|0,(C|0)>(P|0)):0){Q=(C<<1)-P|0;R=O;break}if(B){C=f[p>>2]|0;Q=(C|0)<(P|0)?(C<<1)-P|0:P;R=0}else{Q=P;R=O}}else{Q=P;R=P}}else{Q=O;R=O}}else{Q=D;R=D}while(0);f[i>>2]=Q;f[r>>2]=R;D=l<<1;B=b+(D<<2)|0;F=c+(D<<2)|0;if((f[t>>2]|0)>0){D=0;C=Q;while(1){a=f[v>>2]|0;do if((C|0)<=(a|0)){I=f[x>>2]|0;G=f[w>>2]|0;J=G+(D<<2)|0;if((C|0)<(I|0)){f[J>>2]=I;S=G;break}else{f[J>>2]=C;S=G;break}}else{G=f[w>>2]|0;f[G+(D<<2)>>2]=a;S=G}while(0);a=D+1|0;T=f[t>>2]|0;if((a|0)>=(T|0))break;D=a;C=f[i+(a<<2)>>2]|0}if((T|0)>0){C=0;do{D=(f[B+(C<<2)>>2]|0)+(f[S+(C<<2)>>2]|0)|0;a=F+(C<<2)|0;f[a>>2]=D;if((D|0)<=(f[v>>2]|0)){if((D|0)<(f[x>>2]|0)){U=(f[y>>2]|0)+D|0;V=51}}else{U=D-(f[y>>2]|0)|0;V=51}if((V|0)==51){V=0;f[a>>2]=U}C=C+1|0}while((C|0)<(f[t>>2]|0))}}l=l+1|0;if((l|0)>=(n|0)){V=4;break}C=f[g>>2]|0;A=f[C>>2]|0;if((f[C+4>>2]|0)-A>>2>>>0<=l>>>0){z=C;V=5;break}}if((V|0)==4){u=e;return 1}else if((V|0)==5)$n(z);return 0}function fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e;i=c+8|0;j=i;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=vl(n|0,f[m+4>>2]|0,5,0)|0;m=H;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){o=wk(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=13105;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;Yi(a+4|0,g);if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);u=e;return}o=(f[c>>2]|0)+n|0;b[d>>0]=b[o>>0]|0;b[d+1>>0]=b[o+1>>0]|0;b[d+2>>0]=b[o+2>>0]|0;b[d+3>>0]=b[o+3>>0]|0;b[d+4>>0]=b[o+4>>0]|0;o=j;n=vl(f[o>>2]|0,f[o+4>>2]|0,5,0)|0;o=H;k=j;f[k>>2]=n;f[k+4>>2]=o;if(Fi(d,13135,5)|0){k=wk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=k;q=13141;r=p+17|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+17>>0]=0;f[a>>2]=-1;Yi(a+4|0,g);if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);u=e;return}k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=wk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=13105;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;Yi(a+4|0,g);if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);u=e;return}b[d+5>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=vl(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;n=H;o=j;f[o>>2]=k;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>k>>>0:0))){o=wk(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=o;q=13105;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+29>>0]=0;f[a>>2]=-2;Yi(a+4|0,g);if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);u=e;return}b[d+6>>0]=b[(f[c>>2]|0)+k>>0]|0;k=j;o=vl(f[k>>2]|0,f[k+4>>2]|0,1,0)|0;k=H;n=j;f[n>>2]=o;f[n+4>>2]=k;n=i;m=f[n+4>>2]|0;if(!((m|0)>(k|0)|((m|0)==(k|0)?(f[n>>2]|0)>>>0>o>>>0:0))){n=wk(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=13105;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;Yi(a+4|0,g);if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);u=e;return}b[d+7>>0]=b[(f[c>>2]|0)+o>>0]|0;o=j;n=vl(f[o>>2]|0,f[o+4>>2]|0,1,0)|0;o=H;k=j;f[k>>2]=n;f[k+4>>2]=o;k=i;m=f[k+4>>2]|0;if(!((m|0)>(o|0)|((m|0)==(o|0)?(f[k>>2]|0)>>>0>n>>>0:0))){k=wk(32)|0;f[g>>2]=k;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=k;q=13105;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[k+29>>0]=0;f[a>>2]=-2;Yi(a+4|0,g);if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);u=e;return}b[d+8>>0]=b[(f[c>>2]|0)+n>>0]|0;n=j;k=f[n>>2]|0;o=f[n+4>>2]|0;n=vl(k|0,o|0,1,0)|0;m=j;f[m>>2]=n;f[m+4>>2]=H;m=i;i=f[m>>2]|0;l=f[m+4>>2]|0;m=vl(k|0,o|0,3,0)|0;o=H;if(!((l|0)<(o|0)|(l|0)==(o|0)&i>>>0>>0)){m=d+10|0;d=(f[c>>2]|0)+n|0;n=h[d>>0]|h[d+1>>0]<<8;b[m>>0]=n;b[m+1>>0]=n>>8;n=j;m=vl(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;n=j;f[n>>2]=m;f[n+4>>2]=H;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}n=wk(32)|0;f[g>>2]=n;f[g+8>>2]=-2147483616;f[g+4>>2]=29;p=n;q=13105;r=p+29|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[n+29>>0]=0;f[a>>2]=-2;Yi(a+4|0,g);if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);u=e;return}function gc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;c=u;u=u+16|0;d=c;e=f[b>>2]|0;b=a+8|0;g=e+1|0;if((e|0)!=-1){h=((g>>>0)%3|0|0)==0?e+-2|0:g;g=(e>>>0)/3|0;i=e+((e-(g*3|0)|0)==0?2:-1)|0;j=a+216|0;k=a+220|0;l=a+368|0;m=f[(f[(f[b>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;if((m|0)!=-1)if(((m>>>0)/3|0)>>>0>=g>>>0?(f[k>>2]|0)!=(f[j>>2]|0):0){m=0;do{if(pi((f[l>>2]|0)+(m<<4)|0)|0){n=f[j>>2]|0;f[d>>2]=e;o=n+(m*144|0)+136|0;p=f[o>>2]|0;if(p>>>0<(f[n+(m*144|0)+140>>2]|0)>>>0){f[p>>2]=e;f[o>>2]=p+4}else Ng(n+(m*144|0)+132|0,d)}m=m+1|0}while(m>>>0<(((f[k>>2]|0)-(f[j>>2]|0)|0)/144|0)>>>0);q=g;r=i;s=d;t=d;v=h;w=k;x=j;y=l;z=j}else{q=g;r=i;s=d;t=d;v=h;w=k;x=j;y=l;z=j}else{A=g;B=d;C=l;D=d;E=j;F=i;G=h;H=k;I=j;J=4}}else{j=a+216|0;A=-1;B=d;C=a+368|0;D=d;E=j;F=-1;G=-1;H=a+220|0;I=j;J=4}if((J|0)==4){j=f[H>>2]|0;a=f[I>>2]|0;if((j|0)==(a|0)){q=A;r=F;s=B;t=D;v=G;w=H;x=I;y=C;z=E}else{k=0;h=j;j=a;while(1){a=j;f[d>>2]=e;i=a+(k*144|0)+136|0;l=f[i>>2]|0;if(l>>>0<(f[a+(k*144|0)+140>>2]|0)>>>0){f[l>>2]=e;f[i>>2]=l+4;K=j;L=h}else{Ng(a+(k*144|0)+132|0,d);K=f[I>>2]|0;L=f[H>>2]|0}k=k+1|0;if(k>>>0>=((L-K|0)/144|0)>>>0){q=A;r=F;s=B;t=D;v=G;w=H;x=I;y=C;z=E;break}else{h=L;j=K}}}}if((v|0)!=-1?(K=f[(f[(f[b>>2]|0)+12>>2]|0)+(v<<2)>>2]|0,(K|0)!=-1):0){if(((K>>>0)/3|0)>>>0>=q>>>0?(f[w>>2]|0)!=(f[x>>2]|0):0){K=0;do{if(pi((f[y>>2]|0)+(K<<4)|0)|0){j=f[z>>2]|0;f[d>>2]=v;L=j+(K*144|0)+136|0;h=f[L>>2]|0;if(h>>>0<(f[j+(K*144|0)+140>>2]|0)>>>0){f[h>>2]=v;f[L>>2]=h+4}else Ng(j+(K*144|0)+132|0,d)}K=K+1|0}while(K>>>0<(((f[w>>2]|0)-(f[x>>2]|0)|0)/144|0)>>>0)}}else J=30;if((J|0)==30?(J=f[w>>2]|0,K=f[x>>2]|0,(J|0)!=(K|0)):0){j=0;h=K;K=J;while(1){J=h;f[d>>2]=v;L=J+(j*144|0)+136|0;E=f[L>>2]|0;if(E>>>0<(f[J+(j*144|0)+140>>2]|0)>>>0){f[E>>2]=v;f[L>>2]=E+4;M=h;N=K}else{Ng(J+(j*144|0)+132|0,d);M=f[x>>2]|0;N=f[w>>2]|0}j=j+1|0;if(j>>>0>=((N-M|0)/144|0)>>>0)break;else{h=M;K=N}}}if((r|0)!=-1?(N=f[(f[(f[b>>2]|0)+12>>2]|0)+(r<<2)>>2]|0,(N|0)!=-1):0){if(((N>>>0)/3|0)>>>0>>0){u=c;return 1}if((f[w>>2]|0)==(f[x>>2]|0)){u=c;return 1}q=0;do{if(pi((f[y>>2]|0)+(q<<4)|0)|0){N=f[z>>2]|0;f[d>>2]=r;b=N+(q*144|0)+136|0;K=f[b>>2]|0;if(K>>>0<(f[N+(q*144|0)+140>>2]|0)>>>0){f[K>>2]=r;f[b>>2]=K+4}else Ng(N+(q*144|0)+132|0,d)}q=q+1|0}while(q>>>0<(((f[w>>2]|0)-(f[x>>2]|0)|0)/144|0)>>>0);u=c;return 1}q=f[w>>2]|0;z=f[x>>2]|0;if((q|0)==(z|0)){u=c;return 1}y=0;N=z;z=q;while(1){q=N;f[d>>2]=r;K=q+(y*144|0)+136|0;b=f[K>>2]|0;if(b>>>0<(f[q+(y*144|0)+140>>2]|0)>>>0){f[b>>2]=r;f[K>>2]=b+4;O=N;P=z}else{Ng(q+(y*144|0)+132|0,d);O=f[x>>2]|0;P=f[w>>2]|0}y=y+1|0;if(y>>>0>=((P-O|0)/144|0)>>>0)break;else{N=O;z=P}}u=c;return 1}function hc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(c|0){case 1:{c=wk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];b=c+32|0;f[b>>2]=0;i=c+36|0;f[i>>2]=0;j=c+40|0;f[j>>2]=0;k=f[e+24>>2]|0;l=(f[e+28>>2]|0)-k|0;m=l>>2;if(l|0){if(m>>>0>1073741823)$n(b);n=wk(l)|0;f[i>>2]=n;f[b>>2]=n;f[j>>2]=n+(m<<2);if((l|0)>0){Bf(n|0,k|0,l|0)|0;f[i>>2]=n+(l>>>2<<2)}}l=c+44|0;f[l>>2]=f[g>>2];f[l+4>>2]=f[g+4>>2];f[l+8>>2]=f[g+8>>2];f[l+12>>2]=f[g+12>>2];f[c>>2]=2096;o=c;f[a>>2]=o;return}case 2:{c=wk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;l=c+8|0;f[l>>2]=f[e>>2];f[l+4>>2]=f[e+4>>2];f[l+8>>2]=f[e+8>>2];f[l+12>>2]=f[e+12>>2];f[l+16>>2]=f[e+16>>2];f[l+20>>2]=f[e+20>>2];l=c+32|0;f[l>>2]=0;n=c+36|0;f[n>>2]=0;i=c+40|0;f[i>>2]=0;k=f[e+24>>2]|0;m=(f[e+28>>2]|0)-k|0;j=m>>2;if(m|0){if(j>>>0>1073741823)$n(l);b=wk(m)|0;f[n>>2]=b;f[l>>2]=b;f[i>>2]=b+(j<<2);if((m|0)>0){Bf(b|0,k|0,m|0)|0;f[n>>2]=b+(m>>>2<<2)}}m=c+44|0;f[m>>2]=f[g>>2];f[m+4>>2]=f[g+4>>2];f[m+8>>2]=f[g+8>>2];f[m+12>>2]=f[g+12>>2];f[c>>2]=2152;o=c;f[a>>2]=o;return}case 4:{c=wk(112)|0;f[c>>2]=1536;f[c+4>>2]=d;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[m+16>>2]=f[e+16>>2];f[m+20>>2]=f[e+20>>2];m=c+32|0;f[m>>2]=0;b=c+36|0;f[b>>2]=0;n=c+40|0;f[n>>2]=0;k=f[e+24>>2]|0;j=(f[e+28>>2]|0)-k|0;i=j>>2;if(j|0){if(i>>>0>1073741823)$n(m);l=wk(j)|0;f[b>>2]=l;f[m>>2]=l;f[n>>2]=l+(i<<2);if((j|0)>0){Bf(l|0,k|0,j|0)|0;f[b>>2]=l+(j>>>2<<2)}}j=c+44|0;f[j>>2]=f[g>>2];f[j+4>>2]=f[g+4>>2];f[j+8>>2]=f[g+8>>2];f[j+12>>2]=f[g+12>>2];f[c>>2]=2208;j=c+60|0;l=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(l|0));o=c;f[a>>2]=o;return}case 3:{c=wk(92)|0;j=h&65535;f[c>>2]=1536;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];h=c+32|0;f[h>>2]=0;l=c+36|0;f[l>>2]=0;b=c+40|0;f[b>>2]=0;k=f[e+24>>2]|0;i=(f[e+28>>2]|0)-k|0;n=i>>2;if(i|0){if(n>>>0>1073741823)$n(h);m=wk(i)|0;f[l>>2]=m;f[h>>2]=m;f[b>>2]=m+(n<<2);if((i|0)>0){Bf(m|0,k|0,i|0)|0;f[l>>2]=m+(i>>>2<<2)}}i=c+44|0;f[i>>2]=f[g>>2];f[i+4>>2]=f[g+4>>2];f[i+8>>2]=f[g+8>>2];f[i+12>>2]=f[g+12>>2];f[c>>2]=2264;i=c+60|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;f[c+88>>2]=j;o=c;f[a>>2]=o;return}case 5:{c=wk(104)|0;tf(c,d,e,g);o=c;f[a>>2]=o;return}case 6:{c=wk(124)|0;Ze(c,d,e,g);o=c;f[a>>2]=o;return}default:{o=0;f[a>>2]=o;return}}}function ic(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(c|0){case 1:{c=wk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[b+16>>2]=f[e+16>>2];f[b+20>>2]=f[e+20>>2];b=c+32|0;f[b>>2]=0;i=c+36|0;f[i>>2]=0;j=c+40|0;f[j>>2]=0;k=f[e+24>>2]|0;l=(f[e+28>>2]|0)-k|0;m=l>>2;if(l|0){if(m>>>0>1073741823)$n(b);n=wk(l)|0;f[i>>2]=n;f[b>>2]=n;f[j>>2]=n+(m<<2);if((l|0)>0){Bf(n|0,k|0,l|0)|0;f[i>>2]=n+(l>>>2<<2)}}l=c+44|0;f[l>>2]=f[g>>2];f[l+4>>2]=f[g+4>>2];f[l+8>>2]=f[g+8>>2];f[l+12>>2]=f[g+12>>2];f[c>>2]=1648;o=c;f[a>>2]=o;return}case 2:{c=wk(60)|0;f[c>>2]=1536;f[c+4>>2]=d;l=c+8|0;f[l>>2]=f[e>>2];f[l+4>>2]=f[e+4>>2];f[l+8>>2]=f[e+8>>2];f[l+12>>2]=f[e+12>>2];f[l+16>>2]=f[e+16>>2];f[l+20>>2]=f[e+20>>2];l=c+32|0;f[l>>2]=0;n=c+36|0;f[n>>2]=0;i=c+40|0;f[i>>2]=0;k=f[e+24>>2]|0;m=(f[e+28>>2]|0)-k|0;j=m>>2;if(m|0){if(j>>>0>1073741823)$n(l);b=wk(m)|0;f[n>>2]=b;f[l>>2]=b;f[i>>2]=b+(j<<2);if((m|0)>0){Bf(b|0,k|0,m|0)|0;f[n>>2]=b+(m>>>2<<2)}}m=c+44|0;f[m>>2]=f[g>>2];f[m+4>>2]=f[g+4>>2];f[m+8>>2]=f[g+8>>2];f[m+12>>2]=f[g+12>>2];f[c>>2]=1704;o=c;f[a>>2]=o;return}case 4:{c=wk(112)|0;f[c>>2]=1536;f[c+4>>2]=d;m=c+8|0;f[m>>2]=f[e>>2];f[m+4>>2]=f[e+4>>2];f[m+8>>2]=f[e+8>>2];f[m+12>>2]=f[e+12>>2];f[m+16>>2]=f[e+16>>2];f[m+20>>2]=f[e+20>>2];m=c+32|0;f[m>>2]=0;b=c+36|0;f[b>>2]=0;n=c+40|0;f[n>>2]=0;k=f[e+24>>2]|0;j=(f[e+28>>2]|0)-k|0;i=j>>2;if(j|0){if(i>>>0>1073741823)$n(m);l=wk(j)|0;f[b>>2]=l;f[m>>2]=l;f[n>>2]=l+(i<<2);if((j|0)>0){Bf(l|0,k|0,j|0)|0;f[b>>2]=l+(j>>>2<<2)}}j=c+44|0;f[j>>2]=f[g>>2];f[j+4>>2]=f[g+4>>2];f[j+8>>2]=f[g+8>>2];f[j+12>>2]=f[g+12>>2];f[c>>2]=1760;j=c+60|0;l=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(l|0));o=c;f[a>>2]=o;return}case 3:{c=wk(92)|0;j=h&65535;f[c>>2]=1536;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];h=c+32|0;f[h>>2]=0;l=c+36|0;f[l>>2]=0;b=c+40|0;f[b>>2]=0;k=f[e+24>>2]|0;i=(f[e+28>>2]|0)-k|0;n=i>>2;if(i|0){if(n>>>0>1073741823)$n(h);m=wk(i)|0;f[l>>2]=m;f[h>>2]=m;f[b>>2]=m+(n<<2);if((i|0)>0){Bf(m|0,k|0,i|0)|0;f[l>>2]=m+(i>>>2<<2)}}i=c+44|0;f[i>>2]=f[g>>2];f[i+4>>2]=f[g+4>>2];f[i+8>>2]=f[g+8>>2];f[i+12>>2]=f[g+12>>2];f[c>>2]=1816;i=c+60|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;f[c+88>>2]=j;o=c;f[a>>2]=o;return}case 5:{c=wk(104)|0;uf(c,d,e,g);o=c;f[a>>2]=o;return}case 6:{c=wk(124)|0;_e(c,d,e,g);o=c;f[a>>2]=o;return}default:{o=0;f[a>>2]=o;return}}}function jc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;j=a+64|0;k=f[j>>2]|0;if((f[k+28>>2]|0)==(f[k+24>>2]|0)){u=e;return}l=c+96|0;c=a+52|0;m=d+84|0;n=d+68|0;d=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;r=a+40|0;s=a+44|0;t=a+48|0;v=0;w=0;x=k;while(1){k=f[(f[x+24>>2]|0)+(w<<2)>>2]|0;if((k|0)==-1){y=v;z=x}else{A=v+1|0;B=(k|0)/3|0;C=f[(f[l>>2]|0)+(B*12|0)+(k-(B*3|0)<<2)>>2]|0;if(!(b[m>>0]|0))D=f[(f[n>>2]|0)+(C<<2)>>2]|0;else D=C;f[g>>2]=D;C=f[d>>2]|0;if(C>>>0<(f[o>>2]|0)>>>0){f[C>>2]=D;f[d>>2]=C+4}else Ng(c,g);f[g>>2]=k;f[h>>2]=0;a:do if(!(f[(f[p>>2]|0)+(w>>>5<<2)>>2]&1<<(w&31)))E=k;else{C=k+1|0;B=((C>>>0)%3|0|0)==0?k+-2|0:C;if(((B|0)!=-1?(f[(f[a>>2]|0)+(B>>>5<<2)>>2]&1<<(B&31)|0)==0:0)?(C=f[(f[(f[j>>2]|0)+12>>2]|0)+(B<<2)>>2]|0,B=C+1|0,(C|0)!=-1):0){F=((B>>>0)%3|0|0)==0?C+-2|0:B;f[h>>2]=F;if((F|0)==-1){E=k;break}B=F;while(1){f[g>>2]=B;F=B+1|0;C=((F>>>0)%3|0|0)==0?B+-2|0:F;if((C|0)==-1)break;if(f[(f[a>>2]|0)+(C>>>5<<2)>>2]&1<<(C&31)|0)break;F=f[(f[(f[j>>2]|0)+12>>2]|0)+(C<<2)>>2]|0;C=F+1|0;if((F|0)==-1)break;G=((C>>>0)%3|0|0)==0?F+-2|0:C;f[h>>2]=G;if((G|0)==-1){E=B;break a}else B=G}f[h>>2]=-1;E=B;break}f[h>>2]=-1;E=k}while(0);f[(f[q>>2]|0)+(E<<2)>>2]=v;k=f[s>>2]|0;if((k|0)==(f[t>>2]|0))Ng(r,g);else{f[k>>2]=f[g>>2];f[s>>2]=k+4}k=f[j>>2]|0;G=f[g>>2]|0;b:do if(((G|0)!=-1?(C=(((G>>>0)%3|0|0)==0?2:-1)+G|0,(C|0)!=-1):0)?(F=f[(f[k+12>>2]|0)+(C<<2)>>2]|0,(F|0)!=-1):0){C=F+(((F>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=C;if((C|0)!=-1&(C|0)!=(G|0)){F=A;H=v;I=C;while(1){C=I+1|0;J=((C>>>0)%3|0|0)==0?I+-2|0:C;do if(f[(f[a>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)){C=F+1|0;K=(I|0)/3|0;L=f[(f[l>>2]|0)+(K*12|0)+(I-(K*3|0)<<2)>>2]|0;if(!(b[m>>0]|0))M=f[(f[n>>2]|0)+(L<<2)>>2]|0;else M=L;f[i>>2]=M;L=f[d>>2]|0;if(L>>>0<(f[o>>2]|0)>>>0){f[L>>2]=M;f[d>>2]=L+4}else Ng(c,i);L=f[s>>2]|0;if((L|0)==(f[t>>2]|0)){Ng(r,h);N=C;O=F;break}else{f[L>>2]=f[h>>2];f[s>>2]=L+4;N=C;O=F;break}}else{N=F;O=H}while(0);f[(f[q>>2]|0)+(f[h>>2]<<2)>>2]=O;P=f[j>>2]|0;J=f[h>>2]|0;if((J|0)==-1)break;C=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((C|0)==-1)break;J=f[(f[P+12>>2]|0)+(C<<2)>>2]|0;if((J|0)==-1)break;I=J+(((J>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=I;if(!((I|0)!=-1?(I|0)!=(f[g>>2]|0):0)){Q=N;R=P;break b}else{F=N;H=O}}f[h>>2]=-1;Q=N;R=P}else{Q=A;R=k}}else S=30;while(0);if((S|0)==30){S=0;f[h>>2]=-1;Q=A;R=k}y=Q;z=R}w=w+1|0;if(w>>>0>=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2>>>0)break;else{v=y;x=z}}u=e;return}function kc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;d=u;u=u+80|0;e=d+76|0;g=d;i=d+72|0;j=d+64|0;k=d+68|0;l=a+28|0;do if(((h[(f[l>>2]|0)+36>>0]|0)<<8&65535)<512){m=c+8|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=c+16|0;p=m;q=f[p>>2]|0;r=vl(q|0,f[p+4>>2]|0,4,0)|0;p=H;if((o|0)<(p|0)|(o|0)==(p|0)&n>>>0>>0){s=0;u=d;return s|0}else{n=(f[c>>2]|0)+q|0;q=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;f[e>>2]=q;n=m;f[n>>2]=r;f[n+4>>2]=p;t=q;break}}else if(zh(e,c)|0){t=f[e>>2]|0;break}else{s=0;u=d;return s|0}while(0);if(!t){s=0;u=d;return s|0}q=a+4|0;p=a+8|0;n=f[q>>2]|0;r=(f[p>>2]|0)-n>>2;if(t>>>0>r>>>0){Eg(q,t-r|0);if(!(f[e>>2]|0)){s=1;u=d;return s|0}}else if(t>>>0>>0)f[p>>2]=n+(t<<2);t=f[a+32>>2]|0;n=c+8|0;p=c+16|0;r=g+60|0;m=t+8|0;o=a+16|0;v=a+20|0;a=0;while(1){w=n;x=f[w>>2]|0;y=f[w+4>>2]|0;w=p;z=f[w>>2]|0;A=f[w+4>>2]|0;if(!((y|0)>(A|0)|(y|0)==(A|0)&x>>>0>z>>>0)){s=0;B=41;break}w=f[c>>2]|0;C=b[w+z>>0]|0;D=vl(z|0,A|0,1,0)|0;E=H;F=p;f[F>>2]=D;f[F+4>>2]=E;if(!((y|0)>(E|0)|(y|0)==(E|0)&x>>>0>D>>>0)){s=0;B=41;break}E=b[w+D>>0]|0;D=vl(z|0,A|0,2,0)|0;F=H;G=p;f[G>>2]=D;f[G+4>>2]=F;if(!((y|0)>(F|0)|(y|0)==(F|0)&x>>>0>D>>>0)){s=0;B=41;break}F=b[w+D>>0]|0;D=vl(z|0,A|0,3,0)|0;G=H;I=p;f[I>>2]=D;f[I+4>>2]=G;if(!((y|0)>(G|0)|(y|0)==(G|0)&x>>>0>D>>>0)){s=0;B=41;break}x=b[w+D>>0]|0;D=vl(z|0,A|0,4,0)|0;A=p;f[A>>2]=D;f[A+4>>2]=H;A=E&255;if((E+-1&255)>10){s=0;B=41;break}oj(g);E=W(Bj(A)|0,F&255)|0;Ih(g,C&255,0,F,A,x<<24>>24!=0,E,((E|0)<0)<<31>>31,0,0);E=f[l>>2]|0;if((((h[E+36>>0]|0)<<8|(h[E+37>>0]|0))&65535)<259){E=n;x=f[E>>2]|0;A=f[E+4>>2]|0;E=p;F=f[E>>2]|0;C=vl(F|0,f[E+4>>2]|0,2,0)|0;E=H;if((A|0)<(E|0)|(A|0)==(E|0)&x>>>0>>0){B=39;break}x=(f[c>>2]|0)+F|0;F=h[x>>0]|h[x+1>>0]<<8;x=p;f[x>>2]=C;f[x+4>>2]=E;E=F&65535;f[i>>2]=E;J=E}else{zh(i,c)|0;J=f[i>>2]|0}f[r>>2]=J;E=wk(96)|0;$i(E,g);f[j>>2]=E;E=ig(t,j)|0;F=f[j>>2]|0;f[j>>2]=0;if(F|0){x=F+88|0;C=f[x>>2]|0;f[x>>2]=0;if(C|0){x=f[C+8>>2]|0;if(x|0){f[C+12>>2]=x;Ko(x)}Ko(C)}C=f[F+68>>2]|0;if(C|0){f[F+72>>2]=C;Ko(C)}C=F+64|0;x=f[C>>2]|0;f[C>>2]=0;if(x|0){C=f[x>>2]|0;if(C|0){f[x+4>>2]=C;Ko(C)}Ko(x)}Ko(F)}f[(f[(f[m>>2]|0)+(E<<2)>>2]|0)+60>>2]=f[i>>2];f[(f[q>>2]|0)+(a<<2)>>2]=E;F=f[o>>2]|0;x=(f[v>>2]|0)-F>>2;C=F;if((E|0)<(x|0))K=C;else{F=E+1|0;f[k>>2]=-1;if(F>>>0<=x>>>0)if(F>>>0>>0){f[v>>2]=C+(F<<2);L=C}else L=C;else{Of(o,F-x|0,k);L=f[o>>2]|0}K=L}f[K+(E<<2)>>2]=a;a=a+1|0;if(a>>>0>=(f[e>>2]|0)>>>0){s=1;B=41;break}}if((B|0)==39){s=0;u=d;return s|0}else if((B|0)==41){u=d;return s|0}return 0}function lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;$n(y)}n=0;z=x;while(1){f[k>>2]=f[z+(n<<2)>>2];f[d>>2]=f[k>>2];Ob(m,d,j);x=f[j>>2]|0;A=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=vl(C|0,((C|0)<0)<<31>>31|0,A|0,((A|0)<0)<<31>>31|0)|0;A=f[q>>2]|0;C=(A|0)>-1;E=C?A:0-A|0;A=vl(D|0,H|0,E|0,((E|0)<0)<<31>>31|0)|0;E=H;do if(!((A|0)==0&(E|0)==0)){D=f[r>>2]|0;F=((D|0)<0)<<31>>31;G=Bk(D|0,F|0,x|0,((x|0)<0)<<31>>31|0)|0;I=ni(G|0,H|0,A|0,E|0)|0;f[j>>2]=I;G=Bk(D|0,F|0,B|0,((B|0)<0)<<31>>31|0)|0;F=ni(G|0,H|0,A|0,E|0)|0;f[o>>2]=F;G=D-((I|0)>-1?I:0-I|0)-((F|0)>-1?F:0-F|0)|0;if(C){f[q>>2]=G;break}else{f[q>>2]=0-G;break}}else f[j>>2]=f[r>>2];while(0);C=pi(s)|0;E=f[j>>2]|0;if(C){C=0-E|0;A=0-(f[o>>2]|0)|0;B=0-(f[q>>2]|0)|0;f[j>>2]=C;f[o>>2]=A;f[q>>2]=B;J=C;K=A}else{J=E;K=f[o>>2]|0}do if((J|0)<=-1){if((K|0)<0){E=f[q>>2]|0;L=(E|0)>-1?E:0-E|0;M=E}else{E=f[q>>2]|0;L=(f[t>>2]|0)-((E|0)>-1?E:0-E|0)|0;M=E}if((M|0)<0){N=(K|0)>-1?K:0-K|0;O=L;break}else{N=(f[t>>2]|0)-((K|0)>-1?K:0-K|0)|0;O=L;break}}else{E=f[r>>2]|0;N=(f[q>>2]|0)+E|0;O=E+K|0}while(0);E=(O|0)==0;A=(N|0)==0;C=f[t>>2]|0;do if(N|O){B=(C|0)==(N|0);if(!(E&B)){x=(C|0)==(O|0);if(!(A&x)){if(E?(G=f[r>>2]|0,(G|0)<(N|0)):0){P=0;Q=(G<<1)-N|0;break}if(x?(x=f[r>>2]|0,(x|0)>(N|0)):0){P=O;Q=(x<<1)-N|0;break}if(B?(B=f[r>>2]|0,(B|0)>(O|0)):0){P=(B<<1)-O|0;Q=N;break}if(A){B=f[r>>2]|0;P=(B|0)<(O|0)?(B<<1)-O|0:O;Q=0}else{P=O;Q=N}}else{P=O;Q=O}}else{P=N;Q=N}}else{P=C;Q=C}while(0);C=n<<1;A=b+(C<<2)|0;E=c+(C<<2)|0;C=f[A>>2]|0;B=f[A+4>>2]|0;f[h>>2]=P;f[a>>2]=Q;f[i>>2]=C;f[v>>2]=B;Cc(d,l,h,i);f[E>>2]=f[d>>2];f[E+4>>2]=f[w>>2];n=n+1|0;if((n|0)>=(p|0)){R=6;break}E=f[g>>2]|0;z=f[E>>2]|0;if((f[E+4>>2]|0)-z>>2>>>0<=n>>>0){y=E;R=7;break}}if((R|0)==6){u=e;return 1}else if((R|0)==7)$n(y);return 0}function mc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=h+4|0;v=i+4|0;w=d+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;$n(y)}n=0;z=x;while(1){f[k>>2]=f[z+(n<<2)>>2];f[d>>2]=f[k>>2];Mb(m,d,j);x=f[j>>2]|0;A=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=vl(C|0,((C|0)<0)<<31>>31|0,A|0,((A|0)<0)<<31>>31|0)|0;A=f[q>>2]|0;C=(A|0)>-1;E=C?A:0-A|0;A=vl(D|0,H|0,E|0,((E|0)<0)<<31>>31|0)|0;E=H;do if(!((A|0)==0&(E|0)==0)){D=f[r>>2]|0;F=((D|0)<0)<<31>>31;G=Bk(D|0,F|0,x|0,((x|0)<0)<<31>>31|0)|0;I=ni(G|0,H|0,A|0,E|0)|0;f[j>>2]=I;G=Bk(D|0,F|0,B|0,((B|0)<0)<<31>>31|0)|0;F=ni(G|0,H|0,A|0,E|0)|0;f[o>>2]=F;G=D-((I|0)>-1?I:0-I|0)-((F|0)>-1?F:0-F|0)|0;if(C){f[q>>2]=G;break}else{f[q>>2]=0-G;break}}else f[j>>2]=f[r>>2];while(0);C=pi(s)|0;E=f[j>>2]|0;if(C){C=0-E|0;A=0-(f[o>>2]|0)|0;B=0-(f[q>>2]|0)|0;f[j>>2]=C;f[o>>2]=A;f[q>>2]=B;J=C;K=A}else{J=E;K=f[o>>2]|0}do if((J|0)<=-1){if((K|0)<0){E=f[q>>2]|0;L=(E|0)>-1?E:0-E|0;M=E}else{E=f[q>>2]|0;L=(f[t>>2]|0)-((E|0)>-1?E:0-E|0)|0;M=E}if((M|0)<0){N=(K|0)>-1?K:0-K|0;O=L;break}else{N=(f[t>>2]|0)-((K|0)>-1?K:0-K|0)|0;O=L;break}}else{E=f[r>>2]|0;N=(f[q>>2]|0)+E|0;O=E+K|0}while(0);E=(O|0)==0;A=(N|0)==0;C=f[t>>2]|0;do if(N|O){B=(C|0)==(N|0);if(!(E&B)){x=(C|0)==(O|0);if(!(A&x)){if(E?(G=f[r>>2]|0,(G|0)<(N|0)):0){P=0;Q=(G<<1)-N|0;break}if(x?(x=f[r>>2]|0,(x|0)>(N|0)):0){P=O;Q=(x<<1)-N|0;break}if(B?(B=f[r>>2]|0,(B|0)>(O|0)):0){P=(B<<1)-O|0;Q=N;break}if(A){B=f[r>>2]|0;P=(B|0)<(O|0)?(B<<1)-O|0:O;Q=0}else{P=O;Q=N}}else{P=O;Q=O}}else{P=N;Q=N}}else{P=C;Q=C}while(0);C=n<<1;A=b+(C<<2)|0;E=c+(C<<2)|0;C=f[A>>2]|0;B=f[A+4>>2]|0;f[h>>2]=P;f[a>>2]=Q;f[i>>2]=C;f[v>>2]=B;Cc(d,l,h,i);f[E>>2]=f[d>>2];f[E+4>>2]=f[w>>2];n=n+1|0;if((n|0)>=(p|0)){R=6;break}E=f[g>>2]|0;z=f[E>>2]|0;if((f[E+4>>2]|0)-z>>2>>>0<=n>>>0){y=E;R=7;break}}if((R|0)==6){u=e;return 1}else if((R|0)==7)$n(y);return 0}function nc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=d+4|0;v=i+4|0;w=h+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;$n(y)}n=0;z=x;while(1){f[k>>2]=f[z+(n<<2)>>2];f[d>>2]=f[k>>2];Ob(m,d,j);x=f[j>>2]|0;A=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=vl(C|0,((C|0)<0)<<31>>31|0,A|0,((A|0)<0)<<31>>31|0)|0;A=f[q>>2]|0;C=(A|0)>-1;E=C?A:0-A|0;A=vl(D|0,H|0,E|0,((E|0)<0)<<31>>31|0)|0;E=H;do if(!((A|0)==0&(E|0)==0)){D=f[r>>2]|0;F=((D|0)<0)<<31>>31;G=Bk(D|0,F|0,x|0,((x|0)<0)<<31>>31|0)|0;I=ni(G|0,H|0,A|0,E|0)|0;f[j>>2]=I;G=Bk(D|0,F|0,B|0,((B|0)<0)<<31>>31|0)|0;F=ni(G|0,H|0,A|0,E|0)|0;f[o>>2]=F;G=D-((I|0)>-1?I:0-I|0)-((F|0)>-1?F:0-F|0)|0;if(C){f[q>>2]=G;break}else{f[q>>2]=0-G;break}}else f[j>>2]=f[r>>2];while(0);C=pi(s)|0;E=f[j>>2]|0;if(C){C=0-E|0;A=0-(f[o>>2]|0)|0;B=0-(f[q>>2]|0)|0;f[j>>2]=C;f[o>>2]=A;f[q>>2]=B;J=C;K=A}else{J=E;K=f[o>>2]|0}do if((J|0)<=-1){if((K|0)<0){E=f[q>>2]|0;L=(E|0)>-1?E:0-E|0;M=E}else{E=f[q>>2]|0;L=(f[t>>2]|0)-((E|0)>-1?E:0-E|0)|0;M=E}if((M|0)<0){N=(K|0)>-1?K:0-K|0;O=L;break}else{N=(f[t>>2]|0)-((K|0)>-1?K:0-K|0)|0;O=L;break}}else{E=f[r>>2]|0;N=(f[q>>2]|0)+E|0;O=E+K|0}while(0);E=(O|0)==0;A=(N|0)==0;C=f[t>>2]|0;do if(N|O){B=(C|0)==(N|0);if(!(E&B)){x=(C|0)==(O|0);if(!(A&x)){if(E?(G=f[r>>2]|0,(G|0)<(N|0)):0){P=0;Q=(G<<1)-N|0;break}if(x?(x=f[r>>2]|0,(x|0)>(N|0)):0){P=O;Q=(x<<1)-N|0;break}if(B?(B=f[r>>2]|0,(B|0)>(O|0)):0){P=(B<<1)-O|0;Q=N;break}if(A){B=f[r>>2]|0;P=(B|0)<(O|0)?(B<<1)-O|0:O;Q=0}else{P=O;Q=N}}else{P=O;Q=O}}else{P=N;Q=N}}else{P=C;Q=C}while(0);C=n<<1;A=b+(C<<2)|0;E=c+(C<<2)|0;C=f[A+4>>2]|0;f[d>>2]=f[A>>2];f[a>>2]=C;f[i>>2]=P;f[v>>2]=Q;gd(h,l,i,d);f[E>>2]=f[h>>2];f[E+4>>2]=f[w>>2];n=n+1|0;if((n|0)>=(p|0)){R=6;break}E=f[g>>2]|0;z=f[E>>2]|0;if((f[E+4>>2]|0)-z>>2>>>0<=n>>>0){y=E;R=7;break}}if((R|0)==6){u=e;return 1}else if((R|0)==7)$n(y);return 0}function oc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;e=u;u=u+48|0;d=e+32|0;h=e+24|0;i=e+16|0;j=e;k=e+12|0;l=a+8|0;m=f[l>>2]|0;if((m+-2|0)>>>0<=28){f[a+72>>2]=m;n=1<>2]=n+-1;m=n+-2|0;f[a+80>>2]=m;f[a+84>>2]=(m|0)/2|0}m=a+40|0;f[a+48>>2]=g;g=a+36|0;n=f[g>>2]|0;o=(f[n+4>>2]|0)-(f[n>>2]|0)|0;p=o>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((o|0)<=0){u=e;return 1}o=j+4|0;q=j+8|0;r=a+84|0;s=a+88|0;t=a+80|0;a=d+4|0;v=i+4|0;w=h+4|0;x=f[n>>2]|0;if((f[n+4>>2]|0)==(x|0)){y=n;$n(y)}n=0;z=x;while(1){f[k>>2]=f[z+(n<<2)>>2];f[d>>2]=f[k>>2];Mb(m,d,j);x=f[j>>2]|0;A=(x|0)>-1?x:0-x|0;B=f[o>>2]|0;C=(B|0)>-1?B:0-B|0;D=vl(C|0,((C|0)<0)<<31>>31|0,A|0,((A|0)<0)<<31>>31|0)|0;A=f[q>>2]|0;C=(A|0)>-1;E=C?A:0-A|0;A=vl(D|0,H|0,E|0,((E|0)<0)<<31>>31|0)|0;E=H;do if(!((A|0)==0&(E|0)==0)){D=f[r>>2]|0;F=((D|0)<0)<<31>>31;G=Bk(D|0,F|0,x|0,((x|0)<0)<<31>>31|0)|0;I=ni(G|0,H|0,A|0,E|0)|0;f[j>>2]=I;G=Bk(D|0,F|0,B|0,((B|0)<0)<<31>>31|0)|0;F=ni(G|0,H|0,A|0,E|0)|0;f[o>>2]=F;G=D-((I|0)>-1?I:0-I|0)-((F|0)>-1?F:0-F|0)|0;if(C){f[q>>2]=G;break}else{f[q>>2]=0-G;break}}else f[j>>2]=f[r>>2];while(0);C=pi(s)|0;E=f[j>>2]|0;if(C){C=0-E|0;A=0-(f[o>>2]|0)|0;B=0-(f[q>>2]|0)|0;f[j>>2]=C;f[o>>2]=A;f[q>>2]=B;J=C;K=A}else{J=E;K=f[o>>2]|0}do if((J|0)<=-1){if((K|0)<0){E=f[q>>2]|0;L=(E|0)>-1?E:0-E|0;M=E}else{E=f[q>>2]|0;L=(f[t>>2]|0)-((E|0)>-1?E:0-E|0)|0;M=E}if((M|0)<0){N=(K|0)>-1?K:0-K|0;O=L;break}else{N=(f[t>>2]|0)-((K|0)>-1?K:0-K|0)|0;O=L;break}}else{E=f[r>>2]|0;N=(f[q>>2]|0)+E|0;O=E+K|0}while(0);E=(O|0)==0;A=(N|0)==0;C=f[t>>2]|0;do if(N|O){B=(C|0)==(N|0);if(!(E&B)){x=(C|0)==(O|0);if(!(A&x)){if(E?(G=f[r>>2]|0,(G|0)<(N|0)):0){P=0;Q=(G<<1)-N|0;break}if(x?(x=f[r>>2]|0,(x|0)>(N|0)):0){P=O;Q=(x<<1)-N|0;break}if(B?(B=f[r>>2]|0,(B|0)>(O|0)):0){P=(B<<1)-O|0;Q=N;break}if(A){B=f[r>>2]|0;P=(B|0)<(O|0)?(B<<1)-O|0:O;Q=0}else{P=O;Q=N}}else{P=O;Q=O}}else{P=N;Q=N}}else{P=C;Q=C}while(0);C=n<<1;A=b+(C<<2)|0;E=c+(C<<2)|0;C=f[A+4>>2]|0;f[d>>2]=f[A>>2];f[a>>2]=C;f[i>>2]=P;f[v>>2]=Q;gd(h,l,i,d);f[E>>2]=f[h>>2];f[E+4>>2]=f[w>>2];n=n+1|0;if((n|0)>=(p|0)){R=6;break}E=f[g>>2]|0;z=f[E>>2]|0;if((f[E+4>>2]|0)-z>>2>>>0<=n>>>0){y=E;R=7;break}}if((R|0)==6){u=e;return 1}else if((R|0)==7)$n(y);return 0}function pc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+32|0;e=d+16|0;g=d;if((j[c+38>>1]|0)<514){i=c+8|0;k=f[i+4>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((k|0)>(o|0)|((k|0)==(o|0)?(f[i>>2]|0)>>>0>n>>>0:0))){p=0;u=d;return p|0}i=b[(f[c>>2]|0)+n>>0]|0;k=vl(n|0,o|0,1,0)|0;o=l;f[o>>2]=k;f[o+4>>2]=H;if(i<<24>>24){p=0;u=d;return p|0}}zh(e,c)|0;i=f[e>>2]|0;if(i){o=a+60|0;td(o,i,0);ym(g);if(rd(g,c)|0){if(f[e>>2]|0){i=0;do{k=pi(g)|0;l=(f[o>>2]|0)+(i>>>5<<2)|0;n=1<<(i&31);if(k)q=f[l>>2]|n;else q=f[l>>2]&~n;f[l>>2]=q;i=i+1|0}while(i>>>0<(f[e>>2]|0)>>>0)}r=13}}else r=13;do if((r|0)==13){zh(e,c)|0;i=f[e>>2]|0;if(i|0){q=a+72|0;td(q,i,0);ym(g);if(!(rd(g,c)|0))break;if(f[e>>2]|0){i=0;do{o=pi(g)|0;l=(f[q>>2]|0)+(i>>>5<<2)|0;n=1<<(i&31);if(o)s=f[l>>2]|n;else s=f[l>>2]&~n;f[l>>2]=s;i=i+1|0}while(i>>>0<(f[e>>2]|0)>>>0)}}zh(e,c)|0;i=f[e>>2]|0;if(i|0){q=a+84|0;td(q,i,0);ym(g);if(!(rd(g,c)|0))break;if(f[e>>2]|0){i=0;do{l=pi(g)|0;n=(f[q>>2]|0)+(i>>>5<<2)|0;o=1<<(i&31);if(l)t=f[n>>2]|o;else t=f[n>>2]&~o;f[n>>2]=t;i=i+1|0}while(i>>>0<(f[e>>2]|0)>>>0)}}zh(e,c)|0;i=f[e>>2]|0;if(i|0){q=a+96|0;td(q,i,0);ym(g);if(!(rd(g,c)|0))break;if(f[e>>2]|0){i=0;do{n=pi(g)|0;o=(f[q>>2]|0)+(i>>>5<<2)|0;l=1<<(i&31);if(n)v=f[o>>2]|l;else v=f[o>>2]&~l;f[o>>2]=v;i=i+1|0}while(i>>>0<(f[e>>2]|0)>>>0)}}i=c+8|0;q=f[i>>2]|0;o=f[i+4>>2]|0;i=c+16|0;l=i;n=f[l>>2]|0;k=f[l+4>>2]|0;l=vl(n|0,k|0,4,0)|0;m=H;if((o|0)<(m|0)|(o|0)==(m|0)&q>>>0>>0){p=0;u=d;return p|0}w=f[c>>2]|0;x=w+n|0;y=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;x=i;f[x>>2]=l;f[x+4>>2]=m;m=vl(n|0,k|0,8,0)|0;k=H;if((o|0)<(k|0)|(o|0)==(k|0)&q>>>0>>0){p=0;u=d;return p|0}q=w+l|0;l=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;q=i;f[q>>2]=m;f[q+4>>2]=k;if((y|0)>(l|0)){p=0;u=d;return p|0}f[a+12>>2]=y;f[a+16>>2]=l;k=wl(l|0,((l|0)<0)<<31>>31|0,y|0,((y|0)<0)<<31>>31|0)|0;y=H;if(!(y>>>0<0|(y|0)==0&k>>>0<2147483647)){p=0;u=d;return p|0}y=k+1|0;f[a+20>>2]=y;k=(y|0)/2|0;l=a+24|0;f[l>>2]=k;f[a+28>>2]=0-k;if(y&1|0){p=1;u=d;return p|0}f[l>>2]=k+-1;p=1;u=d;return p|0}while(0);p=0;u=d;return p|0}function qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c=u;u=u+16|0;b=c+8|0;d=c+4|0;e=c;g=a+64|0;h=f[g>>2]|0;if((f[h+28>>2]|0)==(f[h+24>>2]|0)){u=c;return}i=a+52|0;j=a+56|0;k=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;q=0;r=0;s=h;while(1){h=f[(f[s+24>>2]|0)+(r<<2)>>2]|0;if((h|0)==-1){t=q;v=s}else{w=q+1|0;f[b>>2]=q;x=f[j>>2]|0;if((x|0)==(f[k>>2]|0))Ng(i,b);else{f[x>>2]=q;f[j>>2]=x+4}f[d>>2]=h;f[e>>2]=0;a:do if(!(f[(f[l>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)))y=h;else{x=h+1|0;z=((x>>>0)%3|0|0)==0?h+-2|0:x;if(((z|0)!=-1?(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(x=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,z=x+1|0,(x|0)!=-1):0){A=((z>>>0)%3|0|0)==0?x+-2|0:z;f[e>>2]=A;if((A|0)==-1){y=h;break}z=A;while(1){f[d>>2]=z;A=z+1|0;x=((A>>>0)%3|0|0)==0?z+-2|0:A;if((x|0)==-1)break;if(f[(f[a>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0)break;A=f[(f[(f[g>>2]|0)+12>>2]|0)+(x<<2)>>2]|0;x=A+1|0;if((A|0)==-1)break;B=((x>>>0)%3|0|0)==0?A+-2|0:x;f[e>>2]=B;if((B|0)==-1){y=z;break a}else z=B}f[e>>2]=-1;y=z;break}f[e>>2]=-1;y=h}while(0);f[(f[m>>2]|0)+(y<<2)>>2]=f[b>>2];h=f[o>>2]|0;if((h|0)==(f[p>>2]|0))Ng(n,d);else{f[h>>2]=f[d>>2];f[o>>2]=h+4}h=f[g>>2]|0;B=f[d>>2]|0;b:do if(((B|0)!=-1?(x=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(x|0)!=-1):0)?(A=f[(f[h+12>>2]|0)+(x<<2)>>2]|0,(A|0)!=-1):0){x=A+(((A>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=x;if((x|0)!=-1&(x|0)!=(B|0)){A=w;C=x;while(1){x=C+1|0;D=((x>>>0)%3|0|0)==0?C+-2|0:x;do if(f[(f[a>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)){x=A+1|0;f[b>>2]=A;E=f[j>>2]|0;if((E|0)==(f[k>>2]|0))Ng(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){Ng(n,e);F=x;break}else{f[E>>2]=f[e>>2];f[o>>2]=E+4;F=x;break}}else F=A;while(0);f[(f[m>>2]|0)+(f[e>>2]<<2)>>2]=f[b>>2];G=f[g>>2]|0;D=f[e>>2]|0;if((D|0)==-1)break;x=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((x|0)==-1)break;D=f[(f[G+12>>2]|0)+(x<<2)>>2]|0;if((D|0)==-1)break;C=D+(((D>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=C;if(!((C|0)!=-1?(C|0)!=(f[d>>2]|0):0)){H=F;I=G;break b}else A=F}f[e>>2]=-1;H=F;I=G}else{H=w;I=h}}else J=28;while(0);if((J|0)==28){J=0;f[e>>2]=-1;H=w;I=h}t=H;v=I}r=r+1|0;if(r>>>0>=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2>>>0)break;else{q=t;s=v}}u=c;return}function rc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0;e=Ka[f[(f[a>>2]|0)+44>>2]&127](a)|0;if((e|0)<1){g=0;return g|0}h=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;i=W(h,e)|0;Yf(a,h,e);h=a+16|0;j=f[h>>2]|0;if(!(f[j+80>>2]|0)){g=0;return g|0}k=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!k){g=0;return g|0}j=d+8|0;l=j;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d+16|0;o=l;p=f[o>>2]|0;q=f[o+4>>2]|0;if(!((n|0)>(q|0)|(n|0)==(q|0)&m>>>0>p>>>0)){g=0;return g|0}o=f[d>>2]|0;r=b[o+p>>0]|0;s=vl(p|0,q|0,1,0)|0;t=H;u=l;f[u>>2]=s;f[u+4>>2]=t;a:do if(!(r<<24>>24)){if(!((n|0)>(t|0)|(n|0)==(t|0)&m>>>0>s>>>0)){g=0;return g|0}u=b[o+s>>0]|0;v=vl(p|0,q|0,2,0)|0;w=l;f[w>>2]=v;f[w+4>>2]=H;w=u&255;v=(Bj(5)|0)==(w|0);x=f[(f[h>>2]|0)+64>>2]|0;y=(f[x+4>>2]|0)-(f[x>>2]|0)|0;if(v){v=i<<2;if(y>>>0>>0){g=0;return g|0}x=j;z=f[x>>2]|0;A=f[x+4>>2]|0;x=l;B=f[x>>2]|0;C=vl(B|0,f[x+4>>2]|0,v|0,0)|0;x=H;if((A|0)<(x|0)|(A|0)==(x|0)&z>>>0>>0){g=0;return g|0}else{Bf(k|0,(f[d>>2]|0)+B|0,v|0)|0;B=l;C=vl(f[B>>2]|0,f[B+4>>2]|0,v|0,0)|0;v=l;f[v>>2]=C;f[v+4>>2]=H;D=20;break}}v=W(i,w)|0;if(y>>>0>>0){g=0;return g|0}y=j;C=f[y>>2]|0;B=f[y+4>>2]|0;y=l;z=f[y>>2]|0;x=f[y+4>>2]|0;y=wl(C|0,B|0,z|0,x|0)|0;A=H;if((A|0)<0|(A|0)==0&y>>>0>>0){g=0;return g|0}if(!i)D=21;else{v=u&255;u=0;y=z;z=x;x=B;B=C;while(1){C=vl(y|0,z|0,v|0,0)|0;A=H;if((x|0)<(A|0)|(x|0)==(A|0)&B>>>0>>0){E=y;F=z}else{Bf(k+(u<<2)|0,(f[d>>2]|0)+y|0,w|0)|0;C=l;A=vl(f[C>>2]|0,f[C+4>>2]|0,v|0,0)|0;C=H;G=l;f[G>>2]=A;f[G+4>>2]=C;E=A;F=C}C=u+1|0;if((C|0)==(i|0)){D=20;break a}A=j;u=C;y=E;z=F;x=f[A+4>>2]|0;B=f[A>>2]|0}}}else if(kh(i,e,d,k)|0)D=20;else{g=0;return g|0}while(0);do if((D|0)==20)if(!i)D=21;else{F=a+20|0;E=f[F>>2]|0;if(E|0?Ka[f[(f[E>>2]|0)+32>>2]&127](E)|0:0){I=F;J=1;break}Yj(k,i,k);I=F;J=1}while(0);if((D|0)==21){I=a+20|0;J=0}a=f[I>>2]|0;if(a|0){if(!(La[f[(f[a>>2]|0)+40>>2]&127](a,d)|0)){g=0;return g|0}if(J?(J=f[I>>2]|0,!(Na[f[(f[J>>2]|0)+44>>2]&31](J,k,k,i,e,f[c>>2]|0)|0)):0){g=0;return g|0}}g=1;return g|0}function sc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=vl(n|0,f[m+4>>2]|0,4,0)|0;m=H;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=vl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=H;p=n;break}}else if(zh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[a>>2]|0;o=(f[e>>2]|0)-n>>2;if(p>>>0<=o>>>0)if(p>>>0>>0){f[e>>2]=n+(p<<2);q=p}else q=p;else{Eg(a,p-o|0);q=f[i>>2]|0}if(!q){g=1;return g|0}o=c+8|0;p=c+16|0;n=0;e=q;a:while(1){q=o;k=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&k>>>0>m>>>0)){g=0;r=38;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=vl(m|0,l|0,1,0)|0;l=H;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=e>>>0){g=0;r=38;break a}oh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&k>>>0>l>>>0)){g=0;r=38;break a}t=b[q+l>>0]|0;l=vl(l|0,m|0,1,0)|0;m=H;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if(v>>>0>=u>>>0){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;e=f[i>>2]|0;if(n>>>0>=e>>>0){r=22;break}}if((r|0)==22){n=a+16|0;i=f[a>>2]|0;w=a+20|0;x=f[n>>2]|0;p=(f[w>>2]|0)-x|0;c=p>>2;if(c>>>0>=1048576){if((p|0)!=4194304)f[w>>2]=x+4194304}else Eg(n,1048576-c|0);c=a+28|0;x=a+32|0;a=f[c>>2]|0;w=(f[x>>2]|0)-a>>3;p=a;if(e>>>0<=w>>>0){if(e>>>0>>0)f[x>>2]=p+(e<<3);if(!e){g=0;return g|0}else z=p}else{cg(c,e-w|0);z=f[c>>2]|0}c=0;w=0;while(1){p=i+(c<<2)|0;f[z+(c<<3)>>2]=f[p>>2];f[z+(c<<3)+4>>2]=w;x=w;w=(f[p>>2]|0)+w|0;if(w>>>0>1048576){g=0;r=38;break}if(x>>>0>>0){p=f[n>>2]|0;a=x;do{f[p+(a<<2)>>2]=c;a=a+1|0}while((a|0)!=(w|0))}c=c+1|0;if(c>>>0>=e>>>0){r=37;break}}if((r|0)==37)return (w|0)==1048576|0;else if((r|0)==38)return g|0}else if((r|0)==38)return g|0;return 0}function tc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=vl(n|0,f[m+4>>2]|0,4,0)|0;m=H;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=vl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=H;p=n;break}}else if(zh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[a>>2]|0;o=(f[e>>2]|0)-n>>2;if(p>>>0<=o>>>0)if(p>>>0>>0){f[e>>2]=n+(p<<2);q=p}else q=p;else{Eg(a,p-o|0);q=f[i>>2]|0}if(!q){g=1;return g|0}o=c+8|0;p=c+16|0;n=0;e=q;a:while(1){q=o;k=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&k>>>0>m>>>0)){g=0;r=38;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=vl(m|0,l|0,1,0)|0;l=H;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=e>>>0){g=0;r=38;break a}oh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&k>>>0>l>>>0)){g=0;r=38;break a}t=b[q+l>>0]|0;l=vl(l|0,m|0,1,0)|0;m=H;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if(v>>>0>=u>>>0){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;e=f[i>>2]|0;if(n>>>0>=e>>>0){r=22;break}}if((r|0)==22){n=a+16|0;i=f[a>>2]|0;w=a+20|0;x=f[n>>2]|0;p=(f[w>>2]|0)-x|0;c=p>>2;o=x;if(c>>>0>=8192){if((p|0)!=32768)f[w>>2]=o+32768}else Eg(n,8192-c|0);c=a+28|0;o=a+32|0;a=f[c>>2]|0;w=(f[o>>2]|0)-a>>3;p=a;if(e>>>0<=w>>>0){if(e>>>0>>0)f[o>>2]=p+(e<<3);if(!e){g=0;return g|0}else z=p}else{cg(c,e-w|0);z=f[c>>2]|0}c=0;w=0;while(1){p=i+(c<<2)|0;f[z+(c<<3)>>2]=f[p>>2];f[z+(c<<3)+4>>2]=w;o=w;w=(f[p>>2]|0)+w|0;if(w>>>0>8192){g=0;r=38;break}if(o>>>0>>0){p=f[n>>2]|0;a=o;do{f[p+(a<<2)>>2]=c;a=a+1|0}while((a|0)!=(w|0))}c=c+1|0;if(c>>>0>=e>>>0){r=37;break}}if((r|0)==37)return (w|0)==8192|0;else if((r|0)==38)return g|0}else if((r|0)==38)return g|0;return 0}function uc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=vl(n|0,f[m+4>>2]|0,4,0)|0;m=H;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=vl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=H;p=n;break}}else if(zh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[a>>2]|0;o=(f[e>>2]|0)-n>>2;if(p>>>0<=o>>>0)if(p>>>0>>0){f[e>>2]=n+(p<<2);q=p}else q=p;else{Eg(a,p-o|0);q=f[i>>2]|0}if(!q){g=1;return g|0}o=c+8|0;p=c+16|0;n=0;e=q;a:while(1){q=o;k=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&k>>>0>m>>>0)){g=0;r=38;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=vl(m|0,l|0,1,0)|0;l=H;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=e>>>0){g=0;r=38;break a}oh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&k>>>0>l>>>0)){g=0;r=38;break a}t=b[q+l>>0]|0;l=vl(l|0,m|0,1,0)|0;m=H;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if(v>>>0>=u>>>0){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;e=f[i>>2]|0;if(n>>>0>=e>>>0){r=22;break}}if((r|0)==22){n=a+16|0;i=f[a>>2]|0;w=a+20|0;x=f[n>>2]|0;p=(f[w>>2]|0)-x|0;c=p>>2;o=x;if(c>>>0>=4096){if((p|0)!=16384)f[w>>2]=o+16384}else Eg(n,4096-c|0);c=a+28|0;o=a+32|0;a=f[c>>2]|0;w=(f[o>>2]|0)-a>>3;p=a;if(e>>>0<=w>>>0){if(e>>>0>>0)f[o>>2]=p+(e<<3);if(!e){g=0;return g|0}else z=p}else{cg(c,e-w|0);z=f[c>>2]|0}c=0;w=0;while(1){p=i+(c<<2)|0;f[z+(c<<3)>>2]=f[p>>2];f[z+(c<<3)+4>>2]=w;o=w;w=(f[p>>2]|0)+w|0;if(w>>>0>4096){g=0;r=38;break}if(o>>>0>>0){p=f[n>>2]|0;a=o;do{f[p+(a<<2)>>2]=c;a=a+1|0}while((a|0)!=(w|0))}c=c+1|0;if(c>>>0>=e>>>0){r=37;break}}if((r|0)==37)return (w|0)==4096|0;else if((r|0)==38)return g|0}else if((r|0)==38)return g|0;return 0}function vc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){g=0;return g|0}i=a+12|0;do if((e&65535)<512){j=c+8|0;k=f[j>>2]|0;l=f[j+4>>2]|0;j=c+16|0;m=j;n=f[m>>2]|0;o=vl(n|0,f[m+4>>2]|0,4,0)|0;m=H;if((l|0)<(m|0)|(l|0)==(m|0)&k>>>0>>0){g=0;return g|0}else{o=(f[c>>2]|0)+n|0;n=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;b[i>>0]=n;b[i+1>>0]=n>>8;b[i+2>>0]=n>>16;b[i+3>>0]=n>>24;o=j;k=vl(f[o>>2]|0,f[o+4>>2]|0,4,0)|0;o=j;f[o>>2]=k;f[o+4>>2]=H;p=n;break}}else if(zh(i,c)|0){p=f[i>>2]|0;break}else{g=0;return g|0}while(0);e=a+4|0;n=f[a>>2]|0;o=(f[e>>2]|0)-n>>2;if(p>>>0<=o>>>0)if(p>>>0>>0){f[e>>2]=n+(p<<2);q=p}else q=p;else{Eg(a,p-o|0);q=f[i>>2]|0}if(!q){g=1;return g|0}o=c+8|0;p=c+16|0;n=0;e=q;a:while(1){q=o;k=f[q>>2]|0;j=f[q+4>>2]|0;q=p;m=f[q>>2]|0;l=f[q+4>>2]|0;if(!((j|0)>(l|0)|(j|0)==(l|0)&k>>>0>m>>>0)){g=0;r=38;break}q=f[c>>2]|0;s=b[q+m>>0]|0;t=vl(m|0,l|0,1,0)|0;l=H;m=p;f[m>>2]=t;f[m+4>>2]=l;m=s&255;u=m&3;v=m>>>2;switch(s&3){case 3:{s=v+n|0;if(s>>>0>=e>>>0){g=0;r=38;break a}oh((f[a>>2]|0)+(n<<2)|0,0,(m&252)+4|0)|0;w=s;break}case 0:{x=v;r=20;break}default:{s=v;v=0;m=l;l=t;while(1){if(!((j|0)>(m|0)|(j|0)==(m|0)&k>>>0>l>>>0)){g=0;r=38;break a}t=b[q+l>>0]|0;l=vl(l|0,m|0,1,0)|0;m=H;y=p;f[y>>2]=l;f[y+4>>2]=m;y=(t&255)<<(v<<3|6)|s;v=v+1|0;if(v>>>0>=u>>>0){x=y;r=20;break}else s=y}}}if((r|0)==20){r=0;f[(f[a>>2]|0)+(n<<2)>>2]=x;w=n}n=w+1|0;e=f[i>>2]|0;if(n>>>0>=e>>>0){r=22;break}}if((r|0)==22){n=a+16|0;i=f[a>>2]|0;w=a+20|0;x=f[n>>2]|0;p=(f[w>>2]|0)-x|0;c=p>>2;if(c>>>0>=524288){if((p|0)!=2097152)f[w>>2]=x+2097152}else Eg(n,524288-c|0);c=a+28|0;x=a+32|0;a=f[c>>2]|0;w=(f[x>>2]|0)-a>>3;p=a;if(e>>>0<=w>>>0){if(e>>>0>>0)f[x>>2]=p+(e<<3);if(!e){g=0;return g|0}else z=p}else{cg(c,e-w|0);z=f[c>>2]|0}c=0;w=0;while(1){p=i+(c<<2)|0;f[z+(c<<3)>>2]=f[p>>2];f[z+(c<<3)+4>>2]=w;x=w;w=(f[p>>2]|0)+w|0;if(w>>>0>524288){g=0;r=38;break}if(x>>>0>>0){p=f[n>>2]|0;a=x;do{f[p+(a<<2)>>2]=c;a=a+1|0}while((a|0)!=(w|0))}c=c+1|0;if(c>>>0>=e>>>0){r=37;break}}if((r|0)==37)return (w|0)==524288|0;else if((r|0)==38)return g|0}else if((r|0)==38)return g|0;return 0} +function Va(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[4072]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=16328+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((n|0)==(j|0))f[4072]=g&~(1<>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[4074]|0;if(d>>>0>m>>>0){if(h|0){i=2<>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=16328+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((n|0)==(l|0)){i=g&~(1<>2]=l;f[k>>2]=n;p=g}n=j<<3;j=n-d|0;f[h+4>>2]=d|3;k=h+d|0;f[k+4>>2]=j|1;f[h+n>>2]=j;if(m|0){n=f[4077]|0;h=m>>>3;l=16328+(h<<1<<2)|0;i=1<>2]|0;r=i}f[r>>2]=n;f[q+12>>2]=n;f[n+8>>2]=q;f[n+12>>2]=l}f[4074]=j;f[4077]=k;o=e;u=b;return o|0}e=f[4073]|0;if(e){k=(e&0-e)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=f[16592+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=s;h=s;n=(f[s+4>>2]&-8)-d|0;while(1){s=f[i+16>>2]|0;if(!s){l=f[i+20>>2]|0;if(!l)break;else t=l}else t=s;s=(f[t+4>>2]&-8)-d|0;l=s>>>0>>0;i=t;h=l?t:h;n=l?s:n}i=h+d|0;if(i>>>0>h>>>0){s=f[h+24>>2]|0;l=f[h+12>>2]|0;do if((l|0)==(h|0)){j=h+20|0;k=f[j>>2]|0;if(!k){v=h+16|0;w=f[v>>2]|0;if(!w){x=0;break}else{y=w;z=v}}else{y=k;z=j}j=y;k=z;while(1){v=j+20|0;w=f[v>>2]|0;if(!w){A=j+16|0;B=f[A>>2]|0;if(!B)break;else{C=B;D=A}}else{C=w;D=v}j=C;k=D}f[k>>2]=0;x=j}else{v=f[h+8>>2]|0;f[v+12>>2]=l;f[l+8>>2]=v;x=l}while(0);do if(s|0){l=f[h+28>>2]|0;v=16592+(l<<2)|0;if((h|0)==(f[v>>2]|0)){f[v>>2]=x;if(!x){f[4073]=e&~(1<>2]|0)==(h|0)?l:s+20|0)>>2]=x;if(!x)break}f[x+24>>2]=s;l=f[h+16>>2]|0;if(l|0){f[x+16>>2]=l;f[l+24>>2]=x}l=f[h+20>>2]|0;if(l|0){f[x+20>>2]=l;f[l+24>>2]=x}}while(0);if(n>>>0<16){s=n+d|0;f[h+4>>2]=s|3;e=h+s+4|0;f[e>>2]=f[e>>2]|1}else{f[h+4>>2]=d|3;f[i+4>>2]=n|1;f[i+n>>2]=n;if(m|0){e=f[4077]|0;s=m>>>3;l=16328+(s<<1<<2)|0;v=1<>2]|0;F=v}f[F>>2]=e;f[E+12>>2]=e;f[e+8>>2]=E;f[e+12>>2]=l}f[4074]=n;f[4077]=i}o=h+8|0;u=b;return o|0}else G=d}else G=d}else G=d}else if(a>>>0<=4294967231){l=a+11|0;e=l&-8;v=f[4073]|0;if(v){s=0-e|0;w=l>>>8;if(w)if(e>>>0>16777215)H=31;else{l=(w+1048320|0)>>>16&8;A=w<>>16&4;B=A<>>16&2;I=14-(w|l|A)+(B<>>15)|0;H=e>>>(I+7|0)&1|I<<1}else H=0;I=f[16592+(H<<2)>>2]|0;a:do if(!I){J=0;K=0;L=s;M=61}else{A=0;B=s;l=I;w=e<<((H|0)==31?0:25-(H>>>1)|0);N=0;while(1){O=(f[l+4>>2]&-8)-e|0;if(O>>>0>>0)if(!O){P=l;Q=0;R=l;M=65;break a}else{S=l;T=O}else{S=A;T=B}O=f[l+20>>2]|0;l=f[l+16+(w>>>31<<2)>>2]|0;U=(O|0)==0|(O|0)==(l|0)?N:O;if(!l){J=U;K=S;L=T;M=61;break}else{A=S;B=T;w=w<<1;N=U}}}while(0);if((M|0)==61){if((J|0)==0&(K|0)==0){I=2<>>12&16;d=I>>>s;I=d>>>5&8;h=d>>>I;d=h>>>2&4;i=h>>>d;h=i>>>1&2;n=i>>>h;i=n>>>1&1;V=0;W=f[16592+((I|s|d|h|i)+(n>>>i)<<2)>>2]|0}else{V=K;W=J}if(!W){X=V;Y=L}else{P=V;Q=L;R=W;M=65}}if((M|0)==65){i=P;n=Q;h=R;while(1){d=(f[h+4>>2]&-8)-e|0;s=d>>>0>>0;I=s?d:n;d=s?h:i;s=f[h+16>>2]|0;if(!s)Z=f[h+20>>2]|0;else Z=s;if(!Z){X=d;Y=I;break}else{i=d;n=I;h=Z}}}if(((X|0)!=0?Y>>>0<((f[4074]|0)-e|0)>>>0:0)?(h=X+e|0,h>>>0>X>>>0):0){n=f[X+24>>2]|0;i=f[X+12>>2]|0;do if((i|0)==(X|0)){I=X+20|0;d=f[I>>2]|0;if(!d){s=X+16|0;g=f[s>>2]|0;if(!g){_=0;break}else{$=g;aa=s}}else{$=d;aa=I}I=$;d=aa;while(1){s=I+20|0;g=f[s>>2]|0;if(!g){m=I+16|0;N=f[m>>2]|0;if(!N)break;else{ba=N;ca=m}}else{ba=g;ca=s}I=ba;d=ca}f[d>>2]=0;_=I}else{s=f[X+8>>2]|0;f[s+12>>2]=i;f[i+8>>2]=s;_=i}while(0);do if(n){i=f[X+28>>2]|0;s=16592+(i<<2)|0;if((X|0)==(f[s>>2]|0)){f[s>>2]=_;if(!_){s=v&~(1<>2]|0)==(X|0)?s:n+20|0)>>2]=_;if(!_){da=v;break}}f[_+24>>2]=n;s=f[X+16>>2]|0;if(s|0){f[_+16>>2]=s;f[s+24>>2]=_}s=f[X+20>>2]|0;if(s){f[_+20>>2]=s;f[s+24>>2]=_;da=v}else da=v}else da=v;while(0);b:do if(Y>>>0<16){v=Y+e|0;f[X+4>>2]=v|3;n=X+v+4|0;f[n>>2]=f[n>>2]|1}else{f[X+4>>2]=e|3;f[h+4>>2]=Y|1;f[h+Y>>2]=Y;n=Y>>>3;if(Y>>>0<256){v=16328+(n<<1<<2)|0;s=f[4072]|0;i=1<>2]|0;fa=i}f[fa>>2]=h;f[ea+12>>2]=h;f[h+8>>2]=ea;f[h+12>>2]=v;break}v=Y>>>8;if(v)if(Y>>>0>16777215)ga=31;else{i=(v+1048320|0)>>>16&8;s=v<>>16&4;n=s<>>16&2;g=14-(v|i|s)+(n<>>15)|0;ga=Y>>>(g+7|0)&1|g<<1}else ga=0;g=16592+(ga<<2)|0;f[h+28>>2]=ga;s=h+16|0;f[s+4>>2]=0;f[s>>2]=0;s=1<>2]=h;f[h+24>>2]=g;f[h+12>>2]=h;f[h+8>>2]=h;break}s=f[g>>2]|0;c:do if((f[s+4>>2]&-8|0)==(Y|0))ha=s;else{g=Y<<((ga|0)==31?0:25-(ga>>>1)|0);n=s;while(1){ia=n+16+(g>>>31<<2)|0;i=f[ia>>2]|0;if(!i)break;if((f[i+4>>2]&-8|0)==(Y|0)){ha=i;break c}else{g=g<<1;n=i}}f[ia>>2]=h;f[h+24>>2]=n;f[h+12>>2]=h;f[h+8>>2]=h;break b}while(0);s=ha+8|0;I=f[s>>2]|0;f[I+12>>2]=h;f[s>>2]=h;f[h+8>>2]=I;f[h+12>>2]=ha;f[h+24>>2]=0}while(0);o=X+8|0;u=b;return o|0}else G=e}else G=e}else G=-1;while(0);X=f[4074]|0;if(X>>>0>=G>>>0){ha=X-G|0;ia=f[4077]|0;if(ha>>>0>15){Y=ia+G|0;f[4077]=Y;f[4074]=ha;f[Y+4>>2]=ha|1;f[ia+X>>2]=ha;f[ia+4>>2]=G|3}else{f[4074]=0;f[4077]=0;f[ia+4>>2]=X|3;ha=ia+X+4|0;f[ha>>2]=f[ha>>2]|1}o=ia+8|0;u=b;return o|0}ia=f[4075]|0;if(ia>>>0>G>>>0){ha=ia-G|0;f[4075]=ha;X=f[4078]|0;Y=X+G|0;f[4078]=Y;f[Y+4>>2]=ha|1;f[X+4>>2]=G|3;o=X+8|0;u=b;return o|0}if(!(f[4190]|0)){f[4192]=4096;f[4191]=4096;f[4193]=-1;f[4194]=-1;f[4195]=0;f[4183]=0;f[4190]=c&-16^1431655768;ja=4096}else ja=f[4192]|0;c=G+48|0;X=G+47|0;ha=ja+X|0;Y=0-ja|0;ja=ha&Y;if(ja>>>0<=G>>>0){o=0;u=b;return o|0}ga=f[4182]|0;if(ga|0?(da=f[4180]|0,ea=da+ja|0,ea>>>0<=da>>>0|ea>>>0>ga>>>0):0){o=0;u=b;return o|0}d:do if(!(f[4183]&4)){ga=f[4078]|0;e:do if(ga){ea=16736;while(1){da=f[ea>>2]|0;if(da>>>0<=ga>>>0?(da+(f[ea+4>>2]|0)|0)>>>0>ga>>>0:0)break;da=f[ea+8>>2]|0;if(!da){M=128;break e}else ea=da}da=ha-ia&Y;if(da>>>0<2147483647){fa=vj(da|0)|0;if((fa|0)==((f[ea>>2]|0)+(f[ea+4>>2]|0)|0))if((fa|0)==(-1|0))ka=da;else{la=da;ma=fa;M=145;break d}else{na=fa;oa=da;M=136}}else ka=0}else M=128;while(0);do if((M|0)==128){ga=vj(0)|0;if((ga|0)!=(-1|0)?(e=ga,da=f[4191]|0,fa=da+-1|0,_=((fa&e|0)==0?0:(fa+e&0-da)-e|0)+ja|0,e=f[4180]|0,da=_+e|0,_>>>0>G>>>0&_>>>0<2147483647):0){fa=f[4182]|0;if(fa|0?da>>>0<=e>>>0|da>>>0>fa>>>0:0){ka=0;break}fa=vj(_|0)|0;if((fa|0)==(ga|0)){la=_;ma=ga;M=145;break d}else{na=fa;oa=_;M=136}}else ka=0}while(0);do if((M|0)==136){_=0-oa|0;if(!(c>>>0>oa>>>0&(oa>>>0<2147483647&(na|0)!=(-1|0))))if((na|0)==(-1|0)){ka=0;break}else{la=oa;ma=na;M=145;break d}fa=f[4192]|0;ga=X-oa+fa&0-fa;if(ga>>>0>=2147483647){la=oa;ma=na;M=145;break d}if((vj(ga|0)|0)==(-1|0)){vj(_|0)|0;ka=0;break}else{la=ga+oa|0;ma=na;M=145;break d}}while(0);f[4183]=f[4183]|4;pa=ka;M=143}else{pa=0;M=143}while(0);if(((M|0)==143?ja>>>0<2147483647:0)?(ka=vj(ja|0)|0,ja=vj(0)|0,na=ja-ka|0,oa=na>>>0>(G+40|0)>>>0,!((ka|0)==(-1|0)|oa^1|ka>>>0>>0&((ka|0)!=(-1|0)&(ja|0)!=(-1|0))^1)):0){la=oa?na:pa;ma=ka;M=145}if((M|0)==145){ka=(f[4180]|0)+la|0;f[4180]=ka;if(ka>>>0>(f[4181]|0)>>>0)f[4181]=ka;ka=f[4078]|0;f:do if(ka){pa=16736;while(1){qa=f[pa>>2]|0;ra=f[pa+4>>2]|0;if((ma|0)==(qa+ra|0)){M=154;break}na=f[pa+8>>2]|0;if(!na)break;else pa=na}if(((M|0)==154?(na=pa+4|0,(f[pa+12>>2]&8|0)==0):0)?ma>>>0>ka>>>0&qa>>>0<=ka>>>0:0){f[na>>2]=ra+la;na=(f[4075]|0)+la|0;oa=ka+8|0;ja=(oa&7|0)==0?0:0-oa&7;oa=ka+ja|0;X=na-ja|0;f[4078]=oa;f[4075]=X;f[oa+4>>2]=X|1;f[ka+na+4>>2]=40;f[4079]=f[4194];break}if(ma>>>0<(f[4076]|0)>>>0)f[4076]=ma;na=ma+la|0;X=16736;while(1){if((f[X>>2]|0)==(na|0)){M=162;break}oa=f[X+8>>2]|0;if(!oa)break;else X=oa}if((M|0)==162?(f[X+12>>2]&8|0)==0:0){f[X>>2]=ma;pa=X+4|0;f[pa>>2]=(f[pa>>2]|0)+la;pa=ma+8|0;oa=ma+((pa&7|0)==0?0:0-pa&7)|0;pa=na+8|0;ja=na+((pa&7|0)==0?0:0-pa&7)|0;pa=oa+G|0;c=ja-oa-G|0;f[oa+4>>2]=G|3;g:do if((ka|0)==(ja|0)){Y=(f[4075]|0)+c|0;f[4075]=Y;f[4078]=pa;f[pa+4>>2]=Y|1}else{if((f[4077]|0)==(ja|0)){Y=(f[4074]|0)+c|0;f[4074]=Y;f[4077]=pa;f[pa+4>>2]=Y|1;f[pa+Y>>2]=Y;break}Y=f[ja+4>>2]|0;if((Y&3|0)==1){ia=Y&-8;ha=Y>>>3;h:do if(Y>>>0<256){ga=f[ja+8>>2]|0;_=f[ja+12>>2]|0;if((_|0)==(ga|0)){f[4072]=f[4072]&~(1<>2]=_;f[_+8>>2]=ga;break}}else{ga=f[ja+24>>2]|0;_=f[ja+12>>2]|0;do if((_|0)==(ja|0)){fa=ja+16|0;da=fa+4|0;e=f[da>>2]|0;if(!e){ca=f[fa>>2]|0;if(!ca){sa=0;break}else{ta=ca;ua=fa}}else{ta=e;ua=da}da=ta;e=ua;while(1){fa=da+20|0;ca=f[fa>>2]|0;if(!ca){ba=da+16|0;aa=f[ba>>2]|0;if(!aa)break;else{va=aa;wa=ba}}else{va=ca;wa=fa}da=va;e=wa}f[e>>2]=0;sa=da}else{fa=f[ja+8>>2]|0;f[fa+12>>2]=_;f[_+8>>2]=fa;sa=_}while(0);if(!ga)break;_=f[ja+28>>2]|0;n=16592+(_<<2)|0;do if((f[n>>2]|0)!=(ja|0)){fa=ga+16|0;f[((f[fa>>2]|0)==(ja|0)?fa:ga+20|0)>>2]=sa;if(!sa)break h}else{f[n>>2]=sa;if(sa|0)break;f[4073]=f[4073]&~(1<<_);break h}while(0);f[sa+24>>2]=ga;_=ja+16|0;n=f[_>>2]|0;if(n|0){f[sa+16>>2]=n;f[n+24>>2]=sa}n=f[_+4>>2]|0;if(!n)break;f[sa+20>>2]=n;f[n+24>>2]=sa}while(0);xa=ja+ia|0;ya=ia+c|0}else{xa=ja;ya=c}ha=xa+4|0;f[ha>>2]=f[ha>>2]&-2;f[pa+4>>2]=ya|1;f[pa+ya>>2]=ya;ha=ya>>>3;if(ya>>>0<256){Y=16328+(ha<<1<<2)|0;ea=f[4072]|0;n=1<>2]|0;Aa=n}f[Aa>>2]=pa;f[za+12>>2]=pa;f[pa+8>>2]=za;f[pa+12>>2]=Y;break}Y=ya>>>8;do if(!Y)Ba=0;else{if(ya>>>0>16777215){Ba=31;break}n=(Y+1048320|0)>>>16&8;ea=Y<>>16&4;_=ea<>>16&2;fa=14-(ha|n|ea)+(_<>>15)|0;Ba=ya>>>(fa+7|0)&1|fa<<1}while(0);Y=16592+(Ba<<2)|0;f[pa+28>>2]=Ba;ia=pa+16|0;f[ia+4>>2]=0;f[ia>>2]=0;ia=f[4073]|0;fa=1<>2]=pa;f[pa+24>>2]=Y;f[pa+12>>2]=pa;f[pa+8>>2]=pa;break}fa=f[Y>>2]|0;i:do if((f[fa+4>>2]&-8|0)==(ya|0))Ca=fa;else{Y=ya<<((Ba|0)==31?0:25-(Ba>>>1)|0);ia=fa;while(1){Da=ia+16+(Y>>>31<<2)|0;ea=f[Da>>2]|0;if(!ea)break;if((f[ea+4>>2]&-8|0)==(ya|0)){Ca=ea;break i}else{Y=Y<<1;ia=ea}}f[Da>>2]=pa;f[pa+24>>2]=ia;f[pa+12>>2]=pa;f[pa+8>>2]=pa;break g}while(0);fa=Ca+8|0;Y=f[fa>>2]|0;f[Y+12>>2]=pa;f[fa>>2]=pa;f[pa+8>>2]=Y;f[pa+12>>2]=Ca;f[pa+24>>2]=0}while(0);o=oa+8|0;u=b;return o|0}pa=16736;while(1){c=f[pa>>2]|0;if(c>>>0<=ka>>>0?(Ea=c+(f[pa+4>>2]|0)|0,Ea>>>0>ka>>>0):0)break;pa=f[pa+8>>2]|0}pa=Ea+-47|0;oa=pa+8|0;c=pa+((oa&7|0)==0?0:0-oa&7)|0;oa=ka+16|0;pa=c>>>0>>0?ka:c;c=pa+8|0;ja=la+-40|0;na=ma+8|0;X=(na&7|0)==0?0:0-na&7;na=ma+X|0;Y=ja-X|0;f[4078]=na;f[4075]=Y;f[na+4>>2]=Y|1;f[ma+ja+4>>2]=40;f[4079]=f[4194];ja=pa+4|0;f[ja>>2]=27;f[c>>2]=f[4184];f[c+4>>2]=f[4185];f[c+8>>2]=f[4186];f[c+12>>2]=f[4187];f[4184]=ma;f[4185]=la;f[4187]=0;f[4186]=c;c=pa+24|0;do{Y=c;c=c+4|0;f[c>>2]=7}while((Y+8|0)>>>0>>0);if((pa|0)!=(ka|0)){c=pa-ka|0;f[ja>>2]=f[ja>>2]&-2;f[ka+4>>2]=c|1;f[pa>>2]=c;Y=c>>>3;if(c>>>0<256){na=16328+(Y<<1<<2)|0;X=f[4072]|0;fa=1<>2]|0;Ga=fa}f[Ga>>2]=ka;f[Fa+12>>2]=ka;f[ka+8>>2]=Fa;f[ka+12>>2]=na;break}na=c>>>8;if(na)if(c>>>0>16777215)Ha=31;else{fa=(na+1048320|0)>>>16&8;X=na<>>16&4;Y=X<>>16&2;ga=14-(na|fa|X)+(Y<>>15)|0;Ha=c>>>(ga+7|0)&1|ga<<1}else Ha=0;ga=16592+(Ha<<2)|0;f[ka+28>>2]=Ha;f[ka+20>>2]=0;f[oa>>2]=0;X=f[4073]|0;Y=1<>2]=ka;f[ka+24>>2]=ga;f[ka+12>>2]=ka;f[ka+8>>2]=ka;break}Y=f[ga>>2]|0;j:do if((f[Y+4>>2]&-8|0)==(c|0))Ia=Y;else{ga=c<<((Ha|0)==31?0:25-(Ha>>>1)|0);X=Y;while(1){Ja=X+16+(ga>>>31<<2)|0;fa=f[Ja>>2]|0;if(!fa)break;if((f[fa+4>>2]&-8|0)==(c|0)){Ia=fa;break j}else{ga=ga<<1;X=fa}}f[Ja>>2]=ka;f[ka+24>>2]=X;f[ka+12>>2]=ka;f[ka+8>>2]=ka;break f}while(0);c=Ia+8|0;Y=f[c>>2]|0;f[Y+12>>2]=ka;f[c>>2]=ka;f[ka+8>>2]=Y;f[ka+12>>2]=Ia;f[ka+24>>2]=0}}else{Y=f[4076]|0;if((Y|0)==0|ma>>>0>>0)f[4076]=ma;f[4184]=ma;f[4185]=la;f[4187]=0;f[4081]=f[4190];f[4080]=-1;f[4085]=16328;f[4084]=16328;f[4087]=16336;f[4086]=16336;f[4089]=16344;f[4088]=16344;f[4091]=16352;f[4090]=16352;f[4093]=16360;f[4092]=16360;f[4095]=16368;f[4094]=16368;f[4097]=16376;f[4096]=16376;f[4099]=16384;f[4098]=16384;f[4101]=16392;f[4100]=16392;f[4103]=16400;f[4102]=16400;f[4105]=16408;f[4104]=16408;f[4107]=16416;f[4106]=16416;f[4109]=16424;f[4108]=16424;f[4111]=16432;f[4110]=16432;f[4113]=16440;f[4112]=16440;f[4115]=16448;f[4114]=16448;f[4117]=16456;f[4116]=16456;f[4119]=16464;f[4118]=16464;f[4121]=16472;f[4120]=16472;f[4123]=16480;f[4122]=16480;f[4125]=16488;f[4124]=16488;f[4127]=16496;f[4126]=16496;f[4129]=16504;f[4128]=16504;f[4131]=16512;f[4130]=16512;f[4133]=16520;f[4132]=16520;f[4135]=16528;f[4134]=16528;f[4137]=16536;f[4136]=16536;f[4139]=16544;f[4138]=16544;f[4141]=16552;f[4140]=16552;f[4143]=16560;f[4142]=16560;f[4145]=16568;f[4144]=16568;f[4147]=16576;f[4146]=16576;Y=la+-40|0;c=ma+8|0;oa=(c&7|0)==0?0:0-c&7;c=ma+oa|0;pa=Y-oa|0;f[4078]=c;f[4075]=pa;f[c+4>>2]=pa|1;f[ma+Y+4>>2]=40;f[4079]=f[4194]}while(0);ma=f[4075]|0;if(ma>>>0>G>>>0){la=ma-G|0;f[4075]=la;ma=f[4078]|0;ka=ma+G|0;f[4078]=ka;f[ka+4>>2]=la|1;f[ma+4>>2]=G|3;o=ma+8|0;u=b;return o|0}}ma=Ro()|0;f[ma>>2]=12;o=0;u=b;return o|0}function Wa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0;d=u;u=u+80|0;e=d+56|0;g=d+36|0;i=d+16|0;k=d+4|0;l=d+48|0;m=d;f[g>>2]=0;n=g+4|0;f[n>>2]=0;o=g+8|0;f[o>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=1065353216;f[k>>2]=0;p=k+4|0;f[p>>2]=0;q=k+8|0;f[q>>2]=0;r=(f[a+216>>2]|0)==(f[a+220>>2]|0);s=a+120|0;t=f[a+124>>2]|0;a:do if((c|0)>0){v=a+232|0;w=a+420|0;x=a+308|0;y=a+400|0;z=a+416|0;A=a+304|0;B=a+296|0;C=a+300|0;D=a+8|0;E=a+36|0;F=a+40|0;G=i+4|0;H=c+-1|0;I=a+388|0;J=0;b:while(1){K=J+1|0;if((f[w>>2]|0)!=-1?pi(y)|0:0){L=f[w>>2]|0;f[z>>2]=L;if(!L)M=17;else{N=L;M=32}}else M=6;c:do if((M|0)==6){M=0;do if(!(b[x>>0]|0))O=1;else{L=f[A>>2]|0;P=f[B>>2]|0;Q=f[C>>2]|0;R=P+(L>>>3)|0;if(R>>>0>>0?(S=h[R>>0]|0,R=L+1|0,f[A>>2]=R,1<<(L&7)&S|0):0){S=P+(R>>>3)|0;if(S>>>0>>0){T=(h[S>>0]|0)>>>(R&7)&1;U=L+2|0;f[A>>2]=U;V=T;W=P+(U>>>3)|0;X=U}else{V=0;W=S;X=R}if(W>>>0>>0){Q=(h[W>>0]|0)>>>(X&7);f[A>>2]=X+1;Y=Q<<1&2}else Y=0;O=(Y|V)<<1|1;break}f[z>>2]=0;M=17;break c}while(0);f[z>>2]=O;N=O;M=32}while(0);d:do if((M|0)==17){M=0;Q=f[n>>2]|0;if((f[g>>2]|0)==(Q|0)){Z=-1;M=196;break a}R=Q+-4|0;Q=f[R>>2]|0;S=f[D>>2]|0;U=(Q|0)==-1;P=Q+1|0;if(!U?(T=((P>>>0)%3|0|0)==0?Q+-2|0:P,(T|0)!=-1):0)_=f[(f[S>>2]|0)+(T<<2)>>2]|0;else _=-1;T=f[S+24>>2]|0;P=f[T+(_<<2)>>2]|0;L=P+1|0;if((P|0)==-1)$=-1;else $=((L>>>0)%3|0|0)==0?P+-2|0:L;L=J*3|0;P=L+1|0;aa=f[S+12>>2]|0;f[aa+(Q<<2)>>2]=P;f[aa+(P<<2)>>2]=Q;ba=L+2|0;f[aa+($<<2)>>2]=ba;f[aa+(ba<<2)>>2]=$;aa=f[S>>2]|0;f[aa+(L<<2)>>2]=_;S=$+1|0;if(($|0)!=-1?(ca=((S>>>0)%3|0|0)==0?$+-2|0:S,(ca|0)!=-1):0)da=f[aa+(ca<<2)>>2]|0;else da=-1;f[aa+(P<<2)>>2]=da;if(!U?(U=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0,(U|0)!=-1):0){Q=f[aa+(U<<2)>>2]|0;f[aa+(ba<<2)>>2]=Q;if((Q|0)!=-1)f[T+(Q<<2)>>2]=ba}else f[aa+(ba<<2)>>2]=-1;ba=(f[s>>2]|0)+(_>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(_&31));f[R>>2]=L;f[l>>2]=f[R>>2];f[e>>2]=f[l>>2];Tc(v,e)}else if((M|0)==32){M=0;R=(N|0)==5;switch(N|0){case 3:case 5:{L=f[n>>2]|0;if((f[g>>2]|0)==(L|0)){Z=-1;M=196;break a}ba=f[L+-4>>2]|0;L=J*3|0;aa=R?L:L+2|0;Q=L+(R&1)|0;T=(R?2:1)+L|0;R=f[D>>2]|0;U=f[R+12>>2]|0;f[U+(T<<2)>>2]=ba;f[U+(ba<<2)>>2]=T;U=R+24|0;P=R+28|0;ca=f[P>>2]|0;if((ca|0)==(f[R+32>>2]|0)){Ng(U,3280);ea=f[P>>2]|0}else{f[ca>>2]=-1;R=ca+4|0;f[P>>2]=R;ea=R}R=ea-(f[U>>2]|0)|0;U=(R>>2)+-1|0;P=f[D>>2]|0;ca=f[P+24>>2]|0;S=ca;if(((f[P+28>>2]|0)-ca>>2|0)>(t|0)){Z=-1;M=196;break a}ca=f[P>>2]|0;f[ca+(T<<2)>>2]=U;if(R|0)f[S+(U<<2)>>2]=T;if((ba|0)!=-1){T=(((ba>>>0)%3|0|0)==0?2:-1)+ba|0;if((T|0)!=-1){U=f[ca+(T<<2)>>2]|0;f[ca+(aa<<2)>>2]=U;if((U|0)!=-1)f[S+(U<<2)>>2]=aa}else f[ca+(aa<<2)>>2]=-1;U=ba+1|0;S=((U>>>0)%3|0|0)==0?ba+-2|0:U;if((S|0)==-1)fa=-1;else fa=f[ca+(S<<2)>>2]|0}else{f[ca+(aa<<2)>>2]=-1;fa=-1}f[ca+(Q<<2)>>2]=fa;Q=(f[n>>2]|0)+-4|0;f[Q>>2]=L;f[l>>2]=f[Q>>2];f[e>>2]=f[l>>2];Tc(v,e);break}case 1:{Q=f[g>>2]|0;L=f[n>>2]|0;if((Q|0)==(L|0)){Z=-1;M=196;break a}ca=L+-4|0;aa=f[ca>>2]|0;f[n>>2]=ca;S=f[G>>2]|0;e:do if(S){U=S+-1|0;ba=(U&S|0)==0;if(!ba)if(J>>>0>>0)ga=J;else ga=(J>>>0)%(S>>>0)|0;else ga=U&J;T=f[(f[i>>2]|0)+(ga<<2)>>2]|0;if((T|0)!=0?(R=f[T>>2]|0,(R|0)!=0):0){f:do if(ba){T=R;while(1){P=f[T+4>>2]|0;ha=(P|0)==(J|0);if(!(ha|(P&U|0)==(ga|0))){ia=Q;ja=ca;break e}if(ha?(f[T+8>>2]|0)==(J|0):0){ka=T;break f}T=f[T>>2]|0;if(!T){ia=Q;ja=ca;break e}}}else{T=R;while(1){ha=f[T+4>>2]|0;if((ha|0)==(J|0)){if((f[T+8>>2]|0)==(J|0)){ka=T;break f}}else{if(ha>>>0>>0)la=ha;else la=(ha>>>0)%(S>>>0)|0;if((la|0)!=(ga|0)){ia=Q;ja=ca;break e}}T=f[T>>2]|0;if(!T){ia=Q;ja=ca;break e}}}while(0);R=ka+12|0;if((ca|0)==(f[o>>2]|0)){Ng(g,R);ia=f[g>>2]|0;ja=f[n>>2]|0;break}else{f[ca>>2]=f[R>>2];f[n>>2]=L;ia=Q;ja=L;break}}else{ia=Q;ja=ca}}else{ia=Q;ja=ca}while(0);if((ia|0)==(ja|0)){Z=-1;M=196;break a}ca=ja+-4|0;Q=f[ca>>2]|0;L=f[D>>2]|0;S=(Q|0)==-1;if(!S?(f[(f[L+12>>2]|0)+(Q<<2)>>2]|0)!=-1:0){Z=-1;M=196;break a}R=(aa|0)==-1;U=f[L+12>>2]|0;if(!R){ba=U+(aa<<2)|0;if((f[ba>>2]|0)==-1)ma=ba;else{Z=-1;M=196;break a}}else ma=U+-4|0;ba=J*3|0;T=ba+2|0;f[U+(Q<<2)>>2]=T;f[U+(T<<2)>>2]=Q;ha=ba+1|0;f[ma>>2]=ha;f[U+(ha<<2)>>2]=aa;if(!S){S=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;P=f[L>>2]|0;if((S|0)==-1)na=-1;else na=f[P+(S<<2)>>2]|0;f[P+(ba<<2)>>2]=na;S=Q+1|0;oa=((S>>>0)%3|0|0)==0?Q+-2|0:S;if((oa|0)==-1){pa=-1;qa=na;ra=P;sa=L}else{pa=f[P+(oa<<2)>>2]|0;qa=na;ra=P;sa=L}}else{P=f[L>>2]|0;f[P+(ba<<2)>>2]=-1;pa=-1;qa=-1;ra=P;sa=L}f[ra+(ha<<2)>>2]=pa;if(!R){R=(((aa>>>0)%3|0|0)==0?2:-1)+aa|0;if((R|0)!=-1){ha=f[ra+(R<<2)>>2]|0;f[ra+(T<<2)>>2]=ha;if((ha|0)!=-1)f[(f[L+24>>2]|0)+(ha<<2)>>2]=T}else f[ra+(T<<2)>>2]=-1;ha=aa+1|0;R=((ha>>>0)%3|0|0)==0?aa+-2|0:ha;if((R|0)==-1){ta=-1;ua=-1}else{ta=f[ra+(R<<2)>>2]|0;ua=R}}else{f[ra+(T<<2)>>2]=-1;ta=-1;ua=-1}f[e>>2]=ta;T=f[I>>2]|0;R=T+(qa<<2)|0;f[R>>2]=(f[R>>2]|0)+(f[T+(ta<<2)>>2]|0);T=f[L+24>>2]|0;if((qa|0)!=-1)f[T+(qa<<2)>>2]=f[T+(f[e>>2]<<2)>>2];g:do if((ua|0)!=-1){L=f[sa>>2]|0;R=ua;do{f[L+(R<<2)>>2]=qa;ha=R+1|0;P=((ha>>>0)%3|0|0)==0?R+-2|0:ha;if((P|0)==-1)break g;ha=f[U+(P<<2)>>2]|0;P=ha+1|0;if((ha|0)==-1)break g;R=((P>>>0)%3|0|0)==0?ha+-2|0:P}while((R|0)!=-1)}while(0);f[T+(f[e>>2]<<2)>>2]=-1;do if(r){U=f[p>>2]|0;if((U|0)==(f[q>>2]|0)){Ng(k,e);va=(f[n>>2]|0)+-4|0;break}else{f[U>>2]=f[e>>2];f[p>>2]=U+4;va=ca;break}}else va=ca;while(0);f[va>>2]=ba;f[l>>2]=f[va>>2];f[e>>2]=f[l>>2];Tc(v,e);break d;break}case 7:{f[e>>2]=J*3;ca=f[D>>2]|0;T=ca+24|0;U=ca+28|0;aa=f[U>>2]|0;if((aa|0)==(f[ca+32>>2]|0)){Ng(T,3280);wa=f[U>>2]|0}else{f[aa>>2]=-1;ca=aa+4|0;f[U>>2]=ca;wa=ca}ca=wa-(f[T>>2]|0)|0;T=ca>>2;U=T+-1|0;aa=f[D>>2]|0;R=f[e>>2]|0;L=f[aa>>2]|0;f[L+(R<<2)>>2]=U;P=aa+24|0;ha=aa+28|0;oa=f[ha>>2]|0;if((oa|0)==(f[aa+32>>2]|0)){Ng(P,3280);xa=f[ha>>2]|0;ya=f[aa>>2]|0}else{f[oa>>2]=-1;aa=oa+4|0;f[ha>>2]=aa;xa=aa;ya=L}f[ya+(R+1<<2)>>2]=(xa-(f[P>>2]|0)>>2)+-1;P=f[D>>2]|0;R=(f[e>>2]|0)+2|0;L=P+24|0;aa=P+28|0;ha=f[aa>>2]|0;if((ha|0)==(f[P+32>>2]|0)){Ng(L,3280);za=f[aa>>2]|0}else{f[ha>>2]=-1;oa=ha+4|0;f[aa>>2]=oa;za=oa}f[(f[P>>2]|0)+(R<<2)>>2]=(za-(f[L>>2]|0)>>2)+-1;L=f[D>>2]|0;R=f[L+24>>2]|0;P=R;if(((f[L+28>>2]|0)-R>>2|0)>(t|0))break b;R=f[e>>2]|0;if(ca){f[P+(U<<2)>>2]=R;if((ca|0)!=-4){f[P+(T<<2)>>2]=(f[e>>2]|0)+1;ca=T+1|0;if((ca|0)!=-1){Aa=ca;M=119}}else{Aa=0;M=119}}else{f[P+(T<<2)>>2]=R+1;Aa=1;M=119}if((M|0)==119){M=0;f[P+(Aa<<2)>>2]=(f[e>>2]|0)+2}P=f[n>>2]|0;if((P|0)==(f[o>>2]|0)){Ng(g,e);Ba=f[n>>2]|0}else{f[P>>2]=f[e>>2];R=P+4|0;f[n>>2]=R;Ba=R}f[l>>2]=f[Ba+-4>>2];f[e>>2]=f[l>>2];Tc(v,e);break}default:{Z=-1;M=196;break a}}R=c-J+-1|0;P=f[F>>2]|0;if((P|0)!=(f[E>>2]|0)){T=P;do{P=T;ca=P+-12|0;U=f[P+-8>>2]|0;if(U>>>0>R>>>0){Z=-1;M=196;break a}if((U|0)!=(R|0))break d;U=b[P+-4>>0]|0;P=f[ca>>2]|0;f[F>>2]=ca;if((P|0)<0){Z=-1;M=196;break a}ca=f[(f[n>>2]|0)+-4>>2]|0;L=(ca|0)==-1;do if(!(U&1))if(!L)if(!((ca>>>0)%3|0)){Ca=ca+2|0;break}else{Ca=ca+-1|0;break}else Ca=-1;else{oa=ca+1|0;if(L)Ca=-1;else Ca=((oa>>>0)%3|0|0)==0?ca+-2|0:oa}while(0);f[e>>2]=H-P;ca=ed(i,e)|0;f[ca>>2]=Ca;T=f[F>>2]|0}while((T|0)!=(f[E>>2]|0))}}while(0);if((K|0)<(c|0))J=K;else{Da=K;Ea=D;M=139;break a}}Z=-1;M=196}else{Da=0;Ea=a+8|0;M=139}while(0);h:do if((M|0)==139){c=f[Ea>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(t|0)){Ca=f[n>>2]|0;do if((Ca|0)!=(f[g>>2]|0)){l=a+270|0;Ba=a+364|0;o=a+60|0;Aa=a+64|0;za=a+68|0;xa=a+312|0;ya=a+360|0;wa=a+352|0;va=a+356|0;q=a+76|0;r=a+80|0;qa=a+72|0;ua=Da;sa=Ca;i:while(1){ta=sa+-4|0;f[e>>2]=f[ta>>2];f[n>>2]=ta;if((j[l>>1]|0)<514)if(b[Ba>>0]|0){ta=f[ya>>2]|0;ra=(f[wa>>2]|0)+(ta>>>3)|0;if(ra>>>0<(f[va>>2]|0)>>>0){pa=(h[ra>>0]|0)>>>(ta&7)&1;f[ya>>2]=ta+1;Fa=pa;M=147}else M=168}else M=148;else{Fa=(pi(xa)|0)&1;M=147}if((M|0)==147){M=0;if(!Fa)M=168;else M=148}do if((M|0)==148){M=0;pa=f[Ea>>2]|0;ta=f[pa>>2]|0;ra=ta;if((ua|0)>=(((f[pa+4>>2]|0)-ta>>2>>>0)/3|0|0)){M=175;break i}ta=f[e>>2]|0;na=ta+1|0;if((ta|0)!=-1?(ma=((na>>>0)%3|0|0)==0?ta+-2|0:na,(ma|0)!=-1):0)Ga=f[ra+(ma<<2)>>2]|0;else Ga=-1;ma=f[pa+24>>2]|0;na=f[ma+(Ga<<2)>>2]|0;ja=na+1|0;if((na|0)!=-1?(ia=((ja>>>0)%3|0|0)==0?na+-2|0:ja,ja=ia+1|0,(ia|0)!=-1):0){na=((ja>>>0)%3|0|0)==0?ia+-2|0:ja;if((na|0)==-1){Ha=-1;Ia=ia}else{Ha=f[ra+(na<<2)>>2]|0;Ia=ia}}else{Ha=-1;Ia=-1}ia=f[ma+(Ha<<2)>>2]|0;ma=ia+1|0;if((ia|0)!=-1?(na=((ma>>>0)%3|0|0)==0?ia+-2|0:ma,ma=na+1|0,(na|0)!=-1):0){ia=((ma>>>0)%3|0|0)==0?na+-2|0:ma;if((ia|0)==-1){Ja=-1;Ka=na}else{Ja=f[ra+(ia<<2)>>2]|0;Ka=na}}else{Ja=-1;Ka=-1}na=ua*3|0;f[m>>2]=na;ia=f[pa+12>>2]|0;f[ia+(na<<2)>>2]=ta;f[ia+(ta<<2)>>2]=na;na=(f[m>>2]|0)+1|0;f[ia+(na<<2)>>2]=Ia;f[ia+(Ia<<2)>>2]=na;na=(f[m>>2]|0)+2|0;f[ia+(na<<2)>>2]=Ka;f[ia+(Ka<<2)>>2]=na;na=f[m>>2]|0;f[ra+(na<<2)>>2]=Ha;f[ra+(na+1<<2)>>2]=Ja;f[ra+(na+2<<2)>>2]=Ga;ia=(na|0)==-1?-1:Ha;na=f[s>>2]|0;ta=na+(ia>>>5<<2)|0;f[ta>>2]=f[ta>>2]&~(1<<(ia&31));ia=(f[m>>2]|0)+1|0;if((ia|0)==-1)La=-1;else La=f[ra+(ia<<2)>>2]|0;ia=na+(La>>>5<<2)|0;f[ia>>2]=f[ia>>2]&~(1<<(La&31));ia=(f[m>>2]|0)+2|0;if((ia|0)==-1)Ma=-1;else Ma=f[ra+(ia<<2)>>2]|0;ia=na+(Ma>>>5<<2)|0;f[ia>>2]=f[ia>>2]&~(1<<(Ma&31));ia=ua+1|0;na=f[Aa>>2]|0;ra=f[za>>2]|0;if((na|0)==(ra<<5|0)){if((na+1|0)<0){M=162;break i}ta=ra<<6;ra=na+32&-32;vg(o,na>>>0<1073741823?(ta>>>0>>0?ra:ta):2147483647);Na=f[Aa>>2]|0}else Na=na;f[Aa>>2]=Na+1;na=(f[o>>2]|0)+(Na>>>5<<2)|0;f[na>>2]=f[na>>2]|1<<(Na&31);na=f[q>>2]|0;if((na|0)==(f[r>>2]|0))Ng(qa,m);else{f[na>>2]=f[m>>2];f[q>>2]=na+4}Oa=ia}else if((M|0)==168){M=0;ia=f[Aa>>2]|0;na=f[za>>2]|0;if((ia|0)==(na<<5|0)){if((ia+1|0)<0){M=170;break i}ta=na<<6;na=ia+32&-32;vg(o,ia>>>0<1073741823?(ta>>>0>>0?na:ta):2147483647);Pa=f[Aa>>2]|0}else Pa=ia;f[Aa>>2]=Pa+1;ia=(f[o>>2]|0)+(Pa>>>5<<2)|0;f[ia>>2]=f[ia>>2]&~(1<<(Pa&31));ia=f[q>>2]|0;if((ia|0)==(f[r>>2]|0)){Ng(qa,e);Oa=ua;break}else{f[ia>>2]=f[e>>2];f[q>>2]=ia+4;Oa=ua;break}}while(0);sa=f[n>>2]|0;if((sa|0)==(f[g>>2]|0)){M=177;break}else ua=Oa}if((M|0)==162)$n(o);else if((M|0)==170)$n(o);else if((M|0)==175){Z=-1;M=196;break h}else if((M|0)==177){Qa=Oa;Ra=f[Ea>>2]|0;break}}else{Qa=Da;Ra=c}while(0);if((Qa|0)==(((f[Ra+4>>2]|0)-(f[Ra>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ra+28>>2]|0)-(f[Ra+24>>2]|0)>>2;Ca=f[k>>2]|0;ua=f[p>>2]|0;if((Ca|0)==(ua|0)){Sa=c;Ta=Ca}else{sa=e+4|0;q=e+8|0;qa=e+12|0;r=c;c=Ca;Ca=Ra;while(1){Aa=f[c>>2]|0;za=r+-1|0;xa=f[Ca+24>>2]|0;ya=xa+(za<<2)|0;if((f[ya>>2]|0)==-1){va=r;while(1){wa=va+-1|0;Ba=va+-2|0;l=xa+(Ba<<2)|0;if((f[l>>2]|0)==-1)va=wa;else{Ua=wa;Va=l;Wa=Ba;break}}}else{Ua=r;Va=ya;Wa=za}if(Wa>>>0>>0){Xa=Ua;Ya=Ca}else{f[e>>2]=Ca;va=f[Va>>2]|0;f[sa>>2]=va;f[q>>2]=va;b[qa>>0]=1;if((va|0)==-1){Za=xa;_a=Ca}else{o=Ca;Ba=va;do{f[(f[o>>2]|0)+(Ba<<2)>>2]=Aa;Tf(e);Ba=f[q>>2]|0;o=f[Ea>>2]|0}while((Ba|0)!=-1);Za=f[o+24>>2]|0;_a=o}Ba=Za+(Wa<<2)|0;if((Aa|0)!=-1)f[Za+(Aa<<2)>>2]=f[Ba>>2];f[Ba>>2]=-1;Ba=f[s>>2]|0;xa=Ba+(Wa>>>5<<2)|0;za=1<<(Wa&31);ya=Ba+(Aa>>>5<<2)|0;Ba=1<<(Aa&31);if(!(f[xa>>2]&za))$a=f[ya>>2]&~Ba;else $a=f[ya>>2]|Ba;f[ya>>2]=$a;f[xa>>2]=f[xa>>2]&~za;Xa=Ua+-1|0;Ya=_a}c=c+4|0;if((c|0)==(ua|0)){Z=Xa;M=196;break}else{r=Xa;Ca=Ya}}}}else{Z=-1;M=196}}else{Z=-1;M=196}}while(0);if((M|0)==196){Sa=Z;Ta=f[k>>2]|0}if(Ta|0){f[p>>2]=Ta;Ko(Ta)}Ta=f[i+8>>2]|0;if(Ta|0){p=Ta;do{Ta=p;p=f[p>>2]|0;Ko(Ta)}while((p|0)!=0)}p=f[i>>2]|0;f[i>>2]=0;if(p|0)Ko(p);p=f[g>>2]|0;if(!p){u=d;return Sa|0}f[n>>2]=p;Ko(p);u=d;return Sa|0}function Xa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0;d=u;u=u+80|0;e=d+56|0;g=d+36|0;i=d+16|0;k=d+4|0;l=d+48|0;m=d;f[g>>2]=0;n=g+4|0;f[n>>2]=0;o=g+8|0;f[o>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=1065353216;f[k>>2]=0;p=k+4|0;f[p>>2]=0;q=k+8|0;f[q>>2]=0;r=(f[a+216>>2]|0)==(f[a+220>>2]|0);s=a+120|0;t=f[a+124>>2]|0;a:do if((c|0)>0){v=a+232|0;w=a+8|0;x=a+36|0;y=a+40|0;z=i+4|0;A=c+-1|0;B=a+388|0;C=0;b:while(1){D=C+1|0;E=qf(v)|0;c:do if(E){F=(E|0)==5;switch(E|0){case 3:case 5:{G=f[n>>2]|0;if((f[g>>2]|0)==(G|0)){H=-1;I=184;break a}J=f[G+-4>>2]|0;G=C*3|0;K=F?G:G+2|0;L=G+(F&1)|0;M=(F?2:1)+G|0;F=f[w>>2]|0;N=f[F+12>>2]|0;f[N+(M<<2)>>2]=J;f[N+(J<<2)>>2]=M;N=F+24|0;O=F+28|0;P=f[O>>2]|0;if((P|0)==(f[F+32>>2]|0)){Ng(N,3280);Q=f[O>>2]|0}else{f[P>>2]=-1;F=P+4|0;f[O>>2]=F;Q=F}F=Q-(f[N>>2]|0)|0;N=(F>>2)+-1|0;O=f[w>>2]|0;P=f[O+24>>2]|0;R=P;if(((f[O+28>>2]|0)-P>>2|0)>(t|0)){H=-1;I=184;break a}P=f[O>>2]|0;f[P+(M<<2)>>2]=N;if(F|0)f[R+(N<<2)>>2]=M;if((J|0)!=-1){M=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((M|0)!=-1){N=f[P+(M<<2)>>2]|0;f[P+(K<<2)>>2]=N;if((N|0)!=-1)f[R+(N<<2)>>2]=K}else f[P+(K<<2)>>2]=-1;N=J+1|0;R=((N>>>0)%3|0|0)==0?J+-2|0:N;if((R|0)==-1)S=-1;else S=f[P+(R<<2)>>2]|0}else{f[P+(K<<2)>>2]=-1;S=-1}f[P+(L<<2)>>2]=S;L=(f[n>>2]|0)+-4|0;f[L>>2]=G;f[l>>2]=f[L>>2];f[e>>2]=f[l>>2];_c(v,e);break}case 1:{L=f[g>>2]|0;G=f[n>>2]|0;if((L|0)==(G|0)){H=-1;I=184;break a}P=G+-4|0;K=f[P>>2]|0;f[n>>2]=P;R=f[z>>2]|0;d:do if(R){N=R+-1|0;J=(N&R|0)==0;if(!J)if(C>>>0>>0)T=C;else T=(C>>>0)%(R>>>0)|0;else T=N&C;M=f[(f[i>>2]|0)+(T<<2)>>2]|0;if((M|0)!=0?(F=f[M>>2]|0,(F|0)!=0):0){e:do if(J){M=F;while(1){O=f[M+4>>2]|0;U=(O|0)==(C|0);if(!(U|(O&N|0)==(T|0))){V=L;W=P;break d}if(U?(f[M+8>>2]|0)==(C|0):0){X=M;break e}M=f[M>>2]|0;if(!M){V=L;W=P;break d}}}else{M=F;while(1){U=f[M+4>>2]|0;if((U|0)==(C|0)){if((f[M+8>>2]|0)==(C|0)){X=M;break e}}else{if(U>>>0>>0)Y=U;else Y=(U>>>0)%(R>>>0)|0;if((Y|0)!=(T|0)){V=L;W=P;break d}}M=f[M>>2]|0;if(!M){V=L;W=P;break d}}}while(0);F=X+12|0;if((P|0)==(f[o>>2]|0)){Ng(g,F);V=f[g>>2]|0;W=f[n>>2]|0;break}else{f[P>>2]=f[F>>2];f[n>>2]=G;V=L;W=G;break}}else{V=L;W=P}}else{V=L;W=P}while(0);if((V|0)==(W|0)){H=-1;I=184;break a}P=W+-4|0;L=f[P>>2]|0;G=f[w>>2]|0;R=(L|0)==-1;if(!R?(f[(f[G+12>>2]|0)+(L<<2)>>2]|0)!=-1:0){H=-1;I=184;break a}F=(K|0)==-1;N=f[G+12>>2]|0;if(!F){J=N+(K<<2)|0;if((f[J>>2]|0)==-1)Z=J;else{H=-1;I=184;break a}}else Z=N+-4|0;J=C*3|0;M=J+2|0;f[N+(L<<2)>>2]=M;f[N+(M<<2)>>2]=L;U=J+1|0;f[Z>>2]=U;f[N+(U<<2)>>2]=K;if(!R){R=(((L>>>0)%3|0|0)==0?2:-1)+L|0;O=f[G>>2]|0;if((R|0)==-1)_=-1;else _=f[O+(R<<2)>>2]|0;f[O+(J<<2)>>2]=_;R=L+1|0;$=((R>>>0)%3|0|0)==0?L+-2|0:R;if(($|0)==-1){aa=-1;ba=_;ca=O;da=G}else{aa=f[O+($<<2)>>2]|0;ba=_;ca=O;da=G}}else{O=f[G>>2]|0;f[O+(J<<2)>>2]=-1;aa=-1;ba=-1;ca=O;da=G}f[ca+(U<<2)>>2]=aa;if(!F){F=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((F|0)!=-1){U=f[ca+(F<<2)>>2]|0;f[ca+(M<<2)>>2]=U;if((U|0)!=-1)f[(f[G+24>>2]|0)+(U<<2)>>2]=M}else f[ca+(M<<2)>>2]=-1;U=K+1|0;F=((U>>>0)%3|0|0)==0?K+-2|0:U;if((F|0)==-1){ea=-1;fa=-1}else{ea=f[ca+(F<<2)>>2]|0;fa=F}}else{f[ca+(M<<2)>>2]=-1;ea=-1;fa=-1}f[e>>2]=ea;M=f[B>>2]|0;F=M+(ba<<2)|0;f[F>>2]=(f[F>>2]|0)+(f[M+(ea<<2)>>2]|0);M=f[G+24>>2]|0;if((ba|0)!=-1)f[M+(ba<<2)>>2]=f[M+(f[e>>2]<<2)>>2];f:do if((fa|0)!=-1){G=f[da>>2]|0;F=fa;do{f[G+(F<<2)>>2]=ba;U=F+1|0;O=((U>>>0)%3|0|0)==0?F+-2|0:U;if((O|0)==-1)break f;U=f[N+(O<<2)>>2]|0;O=U+1|0;if((U|0)==-1)break f;F=((O>>>0)%3|0|0)==0?U+-2|0:O}while((F|0)!=-1)}while(0);f[M+(f[e>>2]<<2)>>2]=-1;do if(r){N=f[p>>2]|0;if((N|0)==(f[q>>2]|0)){Ng(k,e);ga=(f[n>>2]|0)+-4|0;break}else{f[N>>2]=f[e>>2];f[p>>2]=N+4;ga=P;break}}else ga=P;while(0);f[ga>>2]=J;f[l>>2]=f[ga>>2];f[e>>2]=f[l>>2];_c(v,e);break c;break}case 7:{f[e>>2]=C*3;P=f[w>>2]|0;M=P+24|0;N=P+28|0;K=f[N>>2]|0;if((K|0)==(f[P+32>>2]|0)){Ng(M,3280);ha=f[N>>2]|0}else{f[K>>2]=-1;P=K+4|0;f[N>>2]=P;ha=P}P=ha-(f[M>>2]|0)|0;M=P>>2;N=M+-1|0;K=f[w>>2]|0;F=f[e>>2]|0;G=f[K>>2]|0;f[G+(F<<2)>>2]=N;O=K+24|0;U=K+28|0;$=f[U>>2]|0;if(($|0)==(f[K+32>>2]|0)){Ng(O,3280);ia=f[U>>2]|0;ja=f[K>>2]|0}else{f[$>>2]=-1;K=$+4|0;f[U>>2]=K;ia=K;ja=G}f[ja+(F+1<<2)>>2]=(ia-(f[O>>2]|0)>>2)+-1;O=f[w>>2]|0;F=(f[e>>2]|0)+2|0;G=O+24|0;K=O+28|0;U=f[K>>2]|0;if((U|0)==(f[O+32>>2]|0)){Ng(G,3280);ka=f[K>>2]|0}else{f[U>>2]=-1;$=U+4|0;f[K>>2]=$;ka=$}f[(f[O>>2]|0)+(F<<2)>>2]=(ka-(f[G>>2]|0)>>2)+-1;G=f[w>>2]|0;F=f[G+24>>2]|0;O=F;if(((f[G+28>>2]|0)-F>>2|0)>(t|0))break b;F=f[e>>2]|0;if(P){f[O+(N<<2)>>2]=F;if((P|0)!=-4){f[O+(M<<2)>>2]=(f[e>>2]|0)+1;P=M+1|0;if((P|0)!=-1){la=P;I=107}}else{la=0;I=107}}else{f[O+(M<<2)>>2]=F+1;la=1;I=107}if((I|0)==107){I=0;f[O+(la<<2)>>2]=(f[e>>2]|0)+2}O=f[n>>2]|0;if((O|0)==(f[o>>2]|0)){Ng(g,e);ma=f[n>>2]|0}else{f[O>>2]=f[e>>2];F=O+4|0;f[n>>2]=F;ma=F}f[l>>2]=f[ma+-4>>2];f[e>>2]=f[l>>2];_c(v,e);break}default:{H=-1;I=184;break a}}F=c-C+-1|0;O=f[y>>2]|0;if((O|0)!=(f[x>>2]|0)){M=O;do{O=M;P=O+-12|0;N=f[O+-8>>2]|0;if(N>>>0>F>>>0){H=-1;I=184;break a}if((N|0)!=(F|0))break c;N=b[O+-4>>0]|0;O=f[P>>2]|0;f[y>>2]=P;if((O|0)<0){H=-1;I=184;break a}P=f[(f[n>>2]|0)+-4>>2]|0;G=(P|0)==-1;do if(!(N&1))if(!G)if(!((P>>>0)%3|0)){na=P+2|0;break}else{na=P+-1|0;break}else na=-1;else{$=P+1|0;if(G)na=-1;else na=(($>>>0)%3|0|0)==0?P+-2|0:$}while(0);f[e>>2]=A-O;P=ed(i,e)|0;f[P>>2]=na;M=f[y>>2]|0}while((M|0)!=(f[x>>2]|0))}}else{M=f[n>>2]|0;if((f[g>>2]|0)==(M|0)){H=-1;I=184;break a}F=M+-4|0;M=f[F>>2]|0;J=f[w>>2]|0;P=(M|0)==-1;G=M+1|0;if(!P?(N=((G>>>0)%3|0|0)==0?M+-2|0:G,(N|0)!=-1):0)oa=f[(f[J>>2]|0)+(N<<2)>>2]|0;else oa=-1;N=f[J+24>>2]|0;G=f[N+(oa<<2)>>2]|0;$=G+1|0;if((G|0)==-1)pa=-1;else pa=(($>>>0)%3|0|0)==0?G+-2|0:$;$=C*3|0;G=$+1|0;K=f[J+12>>2]|0;f[K+(M<<2)>>2]=G;f[K+(G<<2)>>2]=M;U=$+2|0;f[K+(pa<<2)>>2]=U;f[K+(U<<2)>>2]=pa;K=f[J>>2]|0;f[K+($<<2)>>2]=oa;J=pa+1|0;if((pa|0)!=-1?(R=((J>>>0)%3|0|0)==0?pa+-2|0:J,(R|0)!=-1):0)qa=f[K+(R<<2)>>2]|0;else qa=-1;f[K+(G<<2)>>2]=qa;if(!P?(P=(((M>>>0)%3|0|0)==0?2:-1)+M|0,(P|0)!=-1):0){M=f[K+(P<<2)>>2]|0;f[K+(U<<2)>>2]=M;if((M|0)!=-1)f[N+(M<<2)>>2]=U}else f[K+(U<<2)>>2]=-1;U=(f[s>>2]|0)+(oa>>>5<<2)|0;f[U>>2]=f[U>>2]&~(1<<(oa&31));f[F>>2]=$;f[l>>2]=f[F>>2];f[e>>2]=f[l>>2];_c(v,e)}while(0);if((D|0)<(c|0))C=D;else{ra=D;sa=w;I=127;break a}}H=-1;I=184}else{ra=0;sa=a+8|0;I=127}while(0);g:do if((I|0)==127){c=f[sa>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(t|0)){l=f[n>>2]|0;do if((l|0)!=(f[g>>2]|0)){oa=a+270|0;qa=a+364|0;pa=a+60|0;na=a+64|0;ma=a+68|0;o=a+312|0;la=a+360|0;ka=a+352|0;ia=a+356|0;ja=a+76|0;ha=a+80|0;ga=a+72|0;q=ra;r=l;h:while(1){ba=r+-4|0;f[e>>2]=f[ba>>2];f[n>>2]=ba;if((j[oa>>1]|0)<514)if(b[qa>>0]|0){ba=f[la>>2]|0;fa=(f[ka>>2]|0)+(ba>>>3)|0;if(fa>>>0<(f[ia>>2]|0)>>>0){da=(h[fa>>0]|0)>>>(ba&7)&1;f[la>>2]=ba+1;ta=da;I=135}else I=156}else I=136;else{ta=(pi(o)|0)&1;I=135}if((I|0)==135){I=0;if(!ta)I=156;else I=136}do if((I|0)==136){I=0;da=f[sa>>2]|0;ba=f[da>>2]|0;fa=ba;if((q|0)>=(((f[da+4>>2]|0)-ba>>2>>>0)/3|0|0)){I=163;break h}ba=f[e>>2]|0;ea=ba+1|0;if((ba|0)!=-1?(ca=((ea>>>0)%3|0|0)==0?ba+-2|0:ea,(ca|0)!=-1):0)ua=f[fa+(ca<<2)>>2]|0;else ua=-1;ca=f[da+24>>2]|0;ea=f[ca+(ua<<2)>>2]|0;aa=ea+1|0;if((ea|0)!=-1?(_=((aa>>>0)%3|0|0)==0?ea+-2|0:aa,aa=_+1|0,(_|0)!=-1):0){ea=((aa>>>0)%3|0|0)==0?_+-2|0:aa;if((ea|0)==-1){va=-1;wa=_}else{va=f[fa+(ea<<2)>>2]|0;wa=_}}else{va=-1;wa=-1}_=f[ca+(va<<2)>>2]|0;ca=_+1|0;if((_|0)!=-1?(ea=((ca>>>0)%3|0|0)==0?_+-2|0:ca,ca=ea+1|0,(ea|0)!=-1):0){_=((ca>>>0)%3|0|0)==0?ea+-2|0:ca;if((_|0)==-1){xa=-1;ya=ea}else{xa=f[fa+(_<<2)>>2]|0;ya=ea}}else{xa=-1;ya=-1}ea=q*3|0;f[m>>2]=ea;_=f[da+12>>2]|0;f[_+(ea<<2)>>2]=ba;f[_+(ba<<2)>>2]=ea;ea=(f[m>>2]|0)+1|0;f[_+(ea<<2)>>2]=wa;f[_+(wa<<2)>>2]=ea;ea=(f[m>>2]|0)+2|0;f[_+(ea<<2)>>2]=ya;f[_+(ya<<2)>>2]=ea;ea=f[m>>2]|0;f[fa+(ea<<2)>>2]=va;f[fa+(ea+1<<2)>>2]=xa;f[fa+(ea+2<<2)>>2]=ua;_=(ea|0)==-1?-1:va;ea=f[s>>2]|0;ba=ea+(_>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(_&31));_=(f[m>>2]|0)+1|0;if((_|0)==-1)za=-1;else za=f[fa+(_<<2)>>2]|0;_=ea+(za>>>5<<2)|0;f[_>>2]=f[_>>2]&~(1<<(za&31));_=(f[m>>2]|0)+2|0;if((_|0)==-1)Aa=-1;else Aa=f[fa+(_<<2)>>2]|0;_=ea+(Aa>>>5<<2)|0;f[_>>2]=f[_>>2]&~(1<<(Aa&31));_=q+1|0;ea=f[na>>2]|0;fa=f[ma>>2]|0;if((ea|0)==(fa<<5|0)){if((ea+1|0)<0){I=150;break h}ba=fa<<6;fa=ea+32&-32;vg(pa,ea>>>0<1073741823?(ba>>>0>>0?fa:ba):2147483647);Ba=f[na>>2]|0}else Ba=ea;f[na>>2]=Ba+1;ea=(f[pa>>2]|0)+(Ba>>>5<<2)|0;f[ea>>2]=f[ea>>2]|1<<(Ba&31);ea=f[ja>>2]|0;if((ea|0)==(f[ha>>2]|0))Ng(ga,m);else{f[ea>>2]=f[m>>2];f[ja>>2]=ea+4}Ca=_}else if((I|0)==156){I=0;_=f[na>>2]|0;ea=f[ma>>2]|0;if((_|0)==(ea<<5|0)){if((_+1|0)<0){I=158;break h}ba=ea<<6;ea=_+32&-32;vg(pa,_>>>0<1073741823?(ba>>>0>>0?ea:ba):2147483647);Da=f[na>>2]|0}else Da=_;f[na>>2]=Da+1;_=(f[pa>>2]|0)+(Da>>>5<<2)|0;f[_>>2]=f[_>>2]&~(1<<(Da&31));_=f[ja>>2]|0;if((_|0)==(f[ha>>2]|0)){Ng(ga,e);Ca=q;break}else{f[_>>2]=f[e>>2];f[ja>>2]=_+4;Ca=q;break}}while(0);r=f[n>>2]|0;if((r|0)==(f[g>>2]|0)){I=165;break}else q=Ca}if((I|0)==150)$n(pa);else if((I|0)==158)$n(pa);else if((I|0)==163){H=-1;I=184;break g}else if((I|0)==165){Ea=Ca;Fa=f[sa>>2]|0;break}}else{Ea=ra;Fa=c}while(0);if((Ea|0)==(((f[Fa+4>>2]|0)-(f[Fa>>2]|0)>>2>>>0)/3|0|0)){c=(f[Fa+28>>2]|0)-(f[Fa+24>>2]|0)>>2;l=f[k>>2]|0;q=f[p>>2]|0;if((l|0)==(q|0)){Ga=c;Ha=l}else{r=e+4|0;ja=e+8|0;ga=e+12|0;ha=c;c=l;l=Fa;while(1){na=f[c>>2]|0;ma=ha+-1|0;o=f[l+24>>2]|0;la=o+(ma<<2)|0;if((f[la>>2]|0)==-1){ia=ha;while(1){ka=ia+-1|0;qa=ia+-2|0;oa=o+(qa<<2)|0;if((f[oa>>2]|0)==-1)ia=ka;else{Ia=ka;Ja=oa;Ka=qa;break}}}else{Ia=ha;Ja=la;Ka=ma}if(Ka>>>0>>0){La=Ia;Ma=l}else{f[e>>2]=l;ia=f[Ja>>2]|0;f[r>>2]=ia;f[ja>>2]=ia;b[ga>>0]=1;if((ia|0)==-1){Na=o;Oa=l}else{pa=l;qa=ia;do{f[(f[pa>>2]|0)+(qa<<2)>>2]=na;Tf(e);qa=f[ja>>2]|0;pa=f[sa>>2]|0}while((qa|0)!=-1);Na=f[pa+24>>2]|0;Oa=pa}qa=Na+(Ka<<2)|0;if((na|0)!=-1)f[Na+(na<<2)>>2]=f[qa>>2];f[qa>>2]=-1;qa=f[s>>2]|0;o=qa+(Ka>>>5<<2)|0;ma=1<<(Ka&31);la=qa+(na>>>5<<2)|0;qa=1<<(na&31);if(!(f[o>>2]&ma))Pa=f[la>>2]&~qa;else Pa=f[la>>2]|qa;f[la>>2]=Pa;f[o>>2]=f[o>>2]&~ma;La=Ia+-1|0;Ma=Oa}c=c+4|0;if((c|0)==(q|0)){H=La;I=184;break}else{ha=La;l=Ma}}}}else{H=-1;I=184}}else{H=-1;I=184}}while(0);if((I|0)==184){Ga=H;Ha=f[k>>2]|0}if(Ha|0){f[p>>2]=Ha;Ko(Ha)}Ha=f[i+8>>2]|0;if(Ha|0){p=Ha;do{Ha=p;p=f[p>>2]|0;Ko(Ha)}while((p|0)!=0)}p=f[i>>2]|0;f[i>>2]=0;if(p|0)Ko(p);p=f[g>>2]|0;if(!p){u=d;return Ga|0}f[n>>2]=p;Ko(p);u=d;return Ga|0}function Ya(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0;d=u;u=u+80|0;e=d+56|0;g=d+36|0;i=d+24|0;k=d+8|0;l=d;f[e>>2]=0;m=e+4|0;f[m>>2]=0;n=e+8|0;f[n>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=1065353216;f[i>>2]=0;o=i+4|0;f[o>>2]=0;p=i+8|0;f[p>>2]=0;q=(f[a+216>>2]|0)==(f[a+220>>2]|0);r=a+120|0;s=f[a+124>>2]|0;a:do if((c|0)>0){t=a+308|0;v=a+304|0;w=a+296|0;x=a+300|0;y=g+4|0;z=a+8|0;A=a+36|0;B=a+40|0;C=c+-1|0;D=0;b:while(1){E=D+1|0;c:do if(!(b[t>>0]|0))F=43;else{G=f[v>>2]|0;H=f[w>>2]|0;I=f[x>>2]|0;J=H+(G>>>3)|0;if(J>>>0>>0?(K=h[J>>0]|0,J=G+1|0,f[v>>2]=J,1<<(G&7)&K|0):0){K=H+(J>>>3)|0;if(K>>>0>>0){L=(h[K>>0]|0)>>>(J&7)&1;M=G+2|0;f[v>>2]=M;N=L;O=H+(M>>>3)|0;P=M}else{N=0;O=K;P=J}if(O>>>0>>0){I=(h[O>>0]|0)>>>(P&7);f[v>>2]=P+1;Q=I<<1&2}else Q=0;I=(Q|N)<<1|1;J=(I|0)==5;switch(I&7){case 1:{F=43;break c;break}case 3:case 5:{I=f[m>>2]|0;if((f[e>>2]|0)==(I|0)){R=-1;F=191;break a}K=f[I+-4>>2]|0;I=D*3|0;M=J?I:I+2|0;H=I+(J&1)|0;L=(J?2:1)+I|0;J=f[z>>2]|0;G=f[J+12>>2]|0;f[G+(L<<2)>>2]=K;f[G+(K<<2)>>2]=L;G=J+24|0;S=J+28|0;T=f[S>>2]|0;if((T|0)==(f[J+32>>2]|0)){Ng(G,3280);U=f[S>>2]|0}else{f[T>>2]=-1;J=T+4|0;f[S>>2]=J;U=J}J=U-(f[G>>2]|0)|0;G=(J>>2)+-1|0;S=f[z>>2]|0;T=f[S+24>>2]|0;V=T;if(((f[S+28>>2]|0)-T>>2|0)>(s|0)){R=-1;F=191;break a}T=f[S>>2]|0;f[T+(L<<2)>>2]=G;if(J|0)f[V+(G<<2)>>2]=L;if((K|0)!=-1){L=(((K>>>0)%3|0|0)==0?2:-1)+K|0;if((L|0)!=-1){G=f[T+(L<<2)>>2]|0;f[T+(M<<2)>>2]=G;if((G|0)!=-1)f[V+(G<<2)>>2]=M}else f[T+(M<<2)>>2]=-1;G=K+1|0;V=((G>>>0)%3|0|0)==0?K+-2|0:G;if((V|0)==-1)W=-1;else W=f[T+(V<<2)>>2]|0}else{f[T+(M<<2)>>2]=-1;W=-1}f[T+(H<<2)>>2]=W;f[(f[m>>2]|0)+-4>>2]=I;break}case 7:{f[k>>2]=D*3;I=f[z>>2]|0;H=I+24|0;T=I+28|0;M=f[T>>2]|0;if((M|0)==(f[I+32>>2]|0)){Ng(H,3280);X=f[T>>2]|0}else{f[M>>2]=-1;I=M+4|0;f[T>>2]=I;X=I}I=X-(f[H>>2]|0)|0;H=I>>2;T=H+-1|0;M=f[z>>2]|0;V=f[k>>2]|0;G=f[M>>2]|0;f[G+(V<<2)>>2]=T;K=M+24|0;L=M+28|0;J=f[L>>2]|0;if((J|0)==(f[M+32>>2]|0)){Ng(K,3280);Y=f[L>>2]|0;Z=f[M>>2]|0}else{f[J>>2]=-1;M=J+4|0;f[L>>2]=M;Y=M;Z=G}f[Z+(V+1<<2)>>2]=(Y-(f[K>>2]|0)>>2)+-1;K=f[z>>2]|0;V=(f[k>>2]|0)+2|0;G=K+24|0;M=K+28|0;L=f[M>>2]|0;if((L|0)==(f[K+32>>2]|0)){Ng(G,3280);_=f[M>>2]|0}else{f[L>>2]=-1;J=L+4|0;f[M>>2]=J;_=J}f[(f[K>>2]|0)+(V<<2)>>2]=(_-(f[G>>2]|0)>>2)+-1;G=f[z>>2]|0;V=f[G+24>>2]|0;K=V;if(((f[G+28>>2]|0)-V>>2|0)>(s|0)){F=117;break b}V=f[k>>2]|0;if(I){f[K+(T<<2)>>2]=V;if((I|0)!=-4){f[K+(H<<2)>>2]=(f[k>>2]|0)+1;I=H+1|0;if((I|0)!=-1){$=I;F=112}}else{$=0;F=112}}else{f[K+(H<<2)>>2]=V+1;$=1;F=112}if((F|0)==112){F=0;f[K+($<<2)>>2]=(f[k>>2]|0)+2}K=f[m>>2]|0;if((K|0)==(f[n>>2]|0))Ng(e,k);else{f[K>>2]=f[k>>2];f[m>>2]=K+4}break}default:{F=190;break b}}K=c-D+-1|0;V=f[B>>2]|0;if((V|0)==(f[A>>2]|0))break;H=V;while(1){V=H;I=V+-12|0;T=f[V+-8>>2]|0;if(T>>>0>K>>>0){R=-1;F=191;break a}if((T|0)!=(K|0))break c;T=b[V+-4>>0]|0;V=f[I>>2]|0;f[B>>2]=I;if((V|0)<0){R=-1;F=191;break a}I=f[(f[m>>2]|0)+-4>>2]|0;G=(I|0)==-1;do if(!(T&1))if(!G)if(!((I>>>0)%3|0)){aa=I+2|0;break}else{aa=I+-1|0;break}else aa=-1;else{J=I+1|0;if(G)aa=-1;else aa=((J>>>0)%3|0|0)==0?I+-2|0:J}while(0);f[k>>2]=C-V;I=ed(g,k)|0;f[I>>2]=aa;H=f[B>>2]|0;if((H|0)==(f[A>>2]|0))break c}}H=f[m>>2]|0;if((f[e>>2]|0)==(H|0)){R=-1;F=191;break a}K=H+-4|0;H=f[K>>2]|0;I=f[z>>2]|0;G=(H|0)==-1;T=H+1|0;if(!G?(J=((T>>>0)%3|0|0)==0?H+-2|0:T,(J|0)!=-1):0)ba=f[(f[I>>2]|0)+(J<<2)>>2]|0;else ba=-1;J=f[I+24>>2]|0;T=f[J+(ba<<2)>>2]|0;M=T+1|0;if((T|0)==-1)ca=-1;else ca=((M>>>0)%3|0|0)==0?T+-2|0:M;M=D*3|0;T=M+1|0;L=f[I+12>>2]|0;f[L+(H<<2)>>2]=T;f[L+(T<<2)>>2]=H;S=M+2|0;f[L+(ca<<2)>>2]=S;f[L+(S<<2)>>2]=ca;L=f[I>>2]|0;f[L+(M<<2)>>2]=ba;I=ca+1|0;if((ca|0)!=-1?(da=((I>>>0)%3|0|0)==0?ca+-2|0:I,(da|0)!=-1):0)ea=f[L+(da<<2)>>2]|0;else ea=-1;f[L+(T<<2)>>2]=ea;if(!G?(G=(((H>>>0)%3|0|0)==0?2:-1)+H|0,(G|0)!=-1):0){H=f[L+(G<<2)>>2]|0;f[L+(S<<2)>>2]=H;if((H|0)!=-1)f[J+(H<<2)>>2]=S}else f[L+(S<<2)>>2]=-1;S=(f[r>>2]|0)+(ba>>>5<<2)|0;f[S>>2]=f[S>>2]&~(1<<(ba&31));f[K>>2]=M}while(0);if((F|0)==43){F=0;M=f[e>>2]|0;K=f[m>>2]|0;if((M|0)==(K|0)){R=-1;F=191;break a}S=K+-4|0;L=f[S>>2]|0;f[m>>2]=S;H=f[y>>2]|0;d:do if(H){J=H+-1|0;G=(J&H|0)==0;if(!G)if(D>>>0>>0)fa=D;else fa=(D>>>0)%(H>>>0)|0;else fa=J&D;T=f[(f[g>>2]|0)+(fa<<2)>>2]|0;if((T|0)!=0?(da=f[T>>2]|0,(da|0)!=0):0){e:do if(G){T=da;while(1){I=f[T+4>>2]|0;ga=(I|0)==(D|0);if(!(ga|(I&J|0)==(fa|0))){ha=M;ia=S;break d}if(ga?(f[T+8>>2]|0)==(D|0):0){ja=T;break e}T=f[T>>2]|0;if(!T){ha=M;ia=S;break d}}}else{T=da;while(1){V=f[T+4>>2]|0;if((V|0)==(D|0)){if((f[T+8>>2]|0)==(D|0)){ja=T;break e}}else{if(V>>>0>>0)ka=V;else ka=(V>>>0)%(H>>>0)|0;if((ka|0)!=(fa|0)){ha=M;ia=S;break d}}T=f[T>>2]|0;if(!T){ha=M;ia=S;break d}}}while(0);da=ja+12|0;if((S|0)==(f[n>>2]|0)){Ng(e,da);ha=f[e>>2]|0;ia=f[m>>2]|0;break}else{f[S>>2]=f[da>>2];f[m>>2]=K;ha=M;ia=K;break}}else{ha=M;ia=S}}else{ha=M;ia=S}while(0);if((ha|0)==(ia|0)){R=-1;F=191;break a}S=ia+-4|0;M=f[S>>2]|0;K=f[z>>2]|0;H=(M|0)==-1;if(!H?(f[(f[K+12>>2]|0)+(M<<2)>>2]|0)!=-1:0){R=-1;F=191;break a}da=(L|0)==-1;J=f[K+12>>2]|0;if(!da){G=J+(L<<2)|0;if((f[G>>2]|0)==-1)la=G;else{R=-1;F=191;break a}}else la=J+-4|0;G=D*3|0;T=G+2|0;f[J+(M<<2)>>2]=T;f[J+(T<<2)>>2]=M;V=G+1|0;f[la>>2]=V;f[J+(V<<2)>>2]=L;if(!H){H=(((M>>>0)%3|0|0)==0?2:-1)+M|0;ga=f[K>>2]|0;if((H|0)==-1)ma=-1;else ma=f[ga+(H<<2)>>2]|0;f[ga+(G<<2)>>2]=ma;H=M+1|0;I=((H>>>0)%3|0|0)==0?M+-2|0:H;if((I|0)==-1){na=-1;oa=ma;pa=ga;qa=K}else{na=f[ga+(I<<2)>>2]|0;oa=ma;pa=ga;qa=K}}else{ga=f[K>>2]|0;f[ga+(G<<2)>>2]=-1;na=-1;oa=-1;pa=ga;qa=K}f[pa+(V<<2)>>2]=na;if(!da){da=(((L>>>0)%3|0|0)==0?2:-1)+L|0;if((da|0)!=-1){V=f[pa+(da<<2)>>2]|0;f[pa+(T<<2)>>2]=V;if((V|0)!=-1)f[(f[K+24>>2]|0)+(V<<2)>>2]=T}else f[pa+(T<<2)>>2]=-1;V=L+1|0;da=((V>>>0)%3|0|0)==0?L+-2|0:V;if((da|0)==-1){ra=-1;sa=-1}else{ra=f[pa+(da<<2)>>2]|0;sa=da}}else{f[pa+(T<<2)>>2]=-1;ra=-1;sa=-1}f[k>>2]=ra;T=f[K+24>>2]|0;if((oa|0)!=-1)f[T+(oa<<2)>>2]=f[T+(ra<<2)>>2];f:do if((sa|0)!=-1){K=f[qa>>2]|0;da=sa;do{f[K+(da<<2)>>2]=oa;V=da+1|0;ga=((V>>>0)%3|0|0)==0?da+-2|0:V;if((ga|0)==-1)break f;V=f[J+(ga<<2)>>2]|0;ga=V+1|0;if((V|0)==-1)break f;da=((ga>>>0)%3|0|0)==0?V+-2|0:ga}while((da|0)!=-1)}while(0);f[T+(f[k>>2]<<2)>>2]=-1;do if(q){J=f[o>>2]|0;if((J|0)==(f[p>>2]|0)){Ng(i,k);ta=(f[m>>2]|0)+-4|0;break}else{f[J>>2]=f[k>>2];f[o>>2]=J+4;ta=S;break}}else ta=S;while(0);f[ta>>2]=G}if((E|0)<(c|0))D=E;else{ua=E;va=z;F=133;break a}}if((F|0)==117){R=-1;F=191;break}}else{ua=0;va=a+8|0;F=133}while(0);g:do if((F|0)==133){c=f[va>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0)<=(s|0)){ta=f[m>>2]|0;do if((ta|0)!=(f[e>>2]|0)){p=a+270|0;q=a+364|0;oa=a+60|0;sa=a+64|0;qa=a+68|0;ra=a+312|0;pa=a+360|0;na=a+352|0;ma=a+356|0;la=a+76|0;ia=a+80|0;ha=a+72|0;n=ua;ja=ta;h:while(1){fa=ja+-4|0;f[k>>2]=f[fa>>2];f[m>>2]=fa;if((j[p>>1]|0)<514)if(b[q>>0]|0){fa=f[pa>>2]|0;ka=(f[na>>2]|0)+(fa>>>3)|0;if(ka>>>0<(f[ma>>2]|0)>>>0){ba=(h[ka>>0]|0)>>>(fa&7)&1;f[pa>>2]=fa+1;wa=ba;F=141}else F=162}else F=142;else{wa=(pi(ra)|0)&1;F=141}if((F|0)==141){F=0;if(!wa)F=162;else F=142}do if((F|0)==142){F=0;ba=f[va>>2]|0;fa=f[ba>>2]|0;ka=fa;if((n|0)>=(((f[ba+4>>2]|0)-fa>>2>>>0)/3|0|0)){F=169;break h}fa=f[k>>2]|0;ea=fa+1|0;if((fa|0)!=-1?(ca=((ea>>>0)%3|0|0)==0?fa+-2|0:ea,(ca|0)!=-1):0)xa=f[ka+(ca<<2)>>2]|0;else xa=-1;ca=f[ba+24>>2]|0;ea=f[ca+(xa<<2)>>2]|0;aa=ea+1|0;if((ea|0)!=-1?($=((aa>>>0)%3|0|0)==0?ea+-2|0:aa,aa=$+1|0,($|0)!=-1):0){ea=((aa>>>0)%3|0|0)==0?$+-2|0:aa;if((ea|0)==-1){ya=-1;za=$}else{ya=f[ka+(ea<<2)>>2]|0;za=$}}else{ya=-1;za=-1}$=f[ca+(ya<<2)>>2]|0;ca=$+1|0;if(($|0)!=-1?(ea=((ca>>>0)%3|0|0)==0?$+-2|0:ca,ca=ea+1|0,(ea|0)!=-1):0){$=((ca>>>0)%3|0|0)==0?ea+-2|0:ca;if(($|0)==-1){Aa=-1;Ba=ea}else{Aa=f[ka+($<<2)>>2]|0;Ba=ea}}else{Aa=-1;Ba=-1}ea=n*3|0;f[l>>2]=ea;$=f[ba+12>>2]|0;f[$+(ea<<2)>>2]=fa;f[$+(fa<<2)>>2]=ea;ea=(f[l>>2]|0)+1|0;f[$+(ea<<2)>>2]=za;f[$+(za<<2)>>2]=ea;ea=(f[l>>2]|0)+2|0;f[$+(ea<<2)>>2]=Ba;f[$+(Ba<<2)>>2]=ea;ea=f[l>>2]|0;f[ka+(ea<<2)>>2]=ya;f[ka+(ea+1<<2)>>2]=Aa;f[ka+(ea+2<<2)>>2]=xa;$=(ea|0)==-1?-1:ya;ea=f[r>>2]|0;fa=ea+($>>>5<<2)|0;f[fa>>2]=f[fa>>2]&~(1<<($&31));$=(f[l>>2]|0)+1|0;if(($|0)==-1)Ca=-1;else Ca=f[ka+($<<2)>>2]|0;$=ea+(Ca>>>5<<2)|0;f[$>>2]=f[$>>2]&~(1<<(Ca&31));$=(f[l>>2]|0)+2|0;if(($|0)==-1)Da=-1;else Da=f[ka+($<<2)>>2]|0;$=ea+(Da>>>5<<2)|0;f[$>>2]=f[$>>2]&~(1<<(Da&31));$=n+1|0;ea=f[sa>>2]|0;ka=f[qa>>2]|0;if((ea|0)==(ka<<5|0)){if((ea+1|0)<0){F=156;break h}fa=ka<<6;ka=ea+32&-32;vg(oa,ea>>>0<1073741823?(fa>>>0>>0?ka:fa):2147483647);Ea=f[sa>>2]|0}else Ea=ea;f[sa>>2]=Ea+1;ea=(f[oa>>2]|0)+(Ea>>>5<<2)|0;f[ea>>2]=f[ea>>2]|1<<(Ea&31);ea=f[la>>2]|0;if((ea|0)==(f[ia>>2]|0))Ng(ha,l);else{f[ea>>2]=f[l>>2];f[la>>2]=ea+4}Fa=$}else if((F|0)==162){F=0;$=f[sa>>2]|0;ea=f[qa>>2]|0;if(($|0)==(ea<<5|0)){if(($+1|0)<0){F=164;break h}fa=ea<<6;ea=$+32&-32;vg(oa,$>>>0<1073741823?(fa>>>0>>0?ea:fa):2147483647);Ga=f[sa>>2]|0}else Ga=$;f[sa>>2]=Ga+1;$=(f[oa>>2]|0)+(Ga>>>5<<2)|0;f[$>>2]=f[$>>2]&~(1<<(Ga&31));$=f[la>>2]|0;if(($|0)==(f[ia>>2]|0)){Ng(ha,k);Fa=n;break}else{f[$>>2]=f[k>>2];f[la>>2]=$+4;Fa=n;break}}while(0);ja=f[m>>2]|0;if((ja|0)==(f[e>>2]|0)){F=171;break}else n=Fa}if((F|0)==156)$n(oa);else if((F|0)==164)$n(oa);else if((F|0)==169){R=-1;F=191;break g}else if((F|0)==171){Ha=Fa;Ia=f[va>>2]|0;break}}else{Ha=ua;Ia=c}while(0);if((Ha|0)==(((f[Ia+4>>2]|0)-(f[Ia>>2]|0)>>2>>>0)/3|0|0)){c=(f[Ia+28>>2]|0)-(f[Ia+24>>2]|0)>>2;ta=f[i>>2]|0;n=f[o>>2]|0;if((ta|0)==(n|0)){Ja=c;Ka=ta}else{ja=k+4|0;la=k+8|0;ha=k+12|0;ia=c;c=ta;ta=Ia;while(1){sa=f[c>>2]|0;qa=ia+-1|0;ra=f[ta+24>>2]|0;pa=ra+(qa<<2)|0;if((f[pa>>2]|0)==-1){ma=ia;while(1){na=ma+-1|0;q=ma+-2|0;p=ra+(q<<2)|0;if((f[p>>2]|0)==-1)ma=na;else{La=na;Ma=p;Na=q;break}}}else{La=ia;Ma=pa;Na=qa}if(Na>>>0>>0){Oa=La;Pa=ta}else{f[k>>2]=ta;ma=f[Ma>>2]|0;f[ja>>2]=ma;f[la>>2]=ma;b[ha>>0]=1;if((ma|0)==-1){Qa=ra;Ra=ta}else{oa=ta;q=ma;do{f[(f[oa>>2]|0)+(q<<2)>>2]=sa;Tf(k);q=f[la>>2]|0;oa=f[va>>2]|0}while((q|0)!=-1);Qa=f[oa+24>>2]|0;Ra=oa}q=Qa+(Na<<2)|0;if((sa|0)!=-1)f[Qa+(sa<<2)>>2]=f[q>>2];f[q>>2]=-1;q=f[r>>2]|0;ra=q+(Na>>>5<<2)|0;qa=1<<(Na&31);pa=q+(sa>>>5<<2)|0;q=1<<(sa&31);if(!(f[ra>>2]&qa))Sa=f[pa>>2]&~q;else Sa=f[pa>>2]|q;f[pa>>2]=Sa;f[ra>>2]=f[ra>>2]&~qa;Oa=La+-1|0;Pa=Ra}c=c+4|0;if((c|0)==(n|0)){R=Oa;F=191;break}else{ia=Oa;ta=Pa}}}}else{R=-1;F=191}}else{R=-1;F=191}}while(0);if((F|0)==191){Ja=R;Ka=f[i>>2]|0}if(Ka|0){f[o>>2]=Ka;Ko(Ka)}Ka=f[g+8>>2]|0;if(Ka|0){o=Ka;do{Ka=o;o=f[o>>2]|0;Ko(Ka)}while((o|0)!=0)}o=f[g>>2]|0;f[g>>2]=0;if(o|0)Ko(o);o=f[e>>2]|0;if(!o){u=d;return Ja|0}f[m>>2]=o;Ko(o);u=d;return Ja|0}function Za(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+16|0;c=b;d=b+8|0;e=b+4|0;f[d>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;f[e>>2]=a-h;i=0;j=g;g=h;h=(mj(4608,4800,e,c)|0)-4608>>2;a:while(1){k=(f[4608+(h<<2)>>2]|0)+g|0;l=5;while(1){if(l>>>0>=47){m=6;break}n=f[4416+(l<<2)>>2]|0;o=(k>>>0)/(n>>>0)|0;if(o>>>0>>0){m=107;break a}if((k|0)==(W(o,n)|0)){p=i;break}else l=l+1|0}b:do if((m|0)==6){m=0;l=211;n=i;c:while(1){o=(k>>>0)/(l>>>0)|0;do if(o>>>0>=l>>>0)if((k|0)!=(W(o,l)|0)){q=l+10|0;r=(k>>>0)/(q>>>0)|0;if(r>>>0>=q>>>0)if((k|0)!=(W(r,q)|0)){r=l+12|0;s=(k>>>0)/(r>>>0)|0;if(s>>>0>=r>>>0)if((k|0)!=(W(s,r)|0)){s=l+16|0;t=(k>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((k|0)!=(W(t,s)|0)){t=l+18|0;v=(k>>>0)/(t>>>0)|0;if(v>>>0>=t>>>0)if((k|0)!=(W(v,t)|0)){v=l+22|0;w=(k>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((k|0)!=(W(w,v)|0)){w=l+28|0;x=(k>>>0)/(w>>>0)|0;if(x>>>0>=w>>>0)if((k|0)==(W(x,w)|0)){y=w;z=9;A=n}else{x=l+30|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+36|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+40|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+42|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+46|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+52|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+58|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+60|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+66|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+70|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+72|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+78|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+82|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+88|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+96|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+100|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+102|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+106|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+108|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+112|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+120|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+126|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+130|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+136|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+138|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+142|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+148|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+150|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+156|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+162|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+166|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+168|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+172|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+178|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+180|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+186|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+190|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+192|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+196|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+198|0;B=(k>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=k;break}if((k|0)==(W(B,x)|0)){y=x;z=9;A=n;break}x=l+208|0;B=(k>>>0)/(x>>>0)|0;C=B>>>0>>0;D=(k|0)==(W(B,x)|0);y=C|D?x:l+210|0;z=C?1:D?9:0;A=C?k:n}else{y=w;z=1;A=k}}else{y=v;z=9;A=n}else{y=v;z=1;A=k}}else{y=t;z=9;A=n}else{y=t;z=1;A=k}}else{y=s;z=9;A=n}else{y=s;z=1;A=k}}else{y=r;z=9;A=n}else{y=r;z=1;A=k}}else{y=q;z=9;A=n}else{y=q;z=1;A=k}}else{y=l;z=9;A=n}else{y=l;z=1;A=k}while(0);switch(z&15){case 9:{p=A;break b;break}case 0:{l=y;n=A;break}default:break c}}if(!z)p=A;else{m=108;break a}}while(0);n=h+1|0;l=(n|0)==48;o=j+(l&1)|0;i=p;j=o;g=o*210|0;h=l?0:n}if((m|0)==107){f[d>>2]=k;E=k;break}else if((m|0)==108){f[d>>2]=k;E=A;break}}else{h=mj(4416,4608,d,c)|0;E=f[h>>2]|0}while(0);u=b;return E|0}function _a(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+56|0;k=c+48|0;l=c+40|0;m=c;n=c+60|0;o=c+52|0;p=c+44|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;Ko(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=h[s+36>>0]<<8;v=(t|h[s+37>>0])&65535;do if((v&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=vl(B|0,f[A+4>>2]|0,4,0)|0;A=H;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=15}}else if(zh(e,w)|0){w=f[r>>2]|0;D=w;E=h[w+36>>0]<<8;F=f[e>>2]|0;G=15}if((G|0)==15){f[q>>2]=F;I=E;J=D;break}K=0;u=c;return K|0}else{I=t;J=s}while(0);s=f[J+32>>2]|0;if((I&65535)<512){I=s+8|0;J=f[I>>2]|0;t=f[I+4>>2]|0;I=s+16|0;D=I;E=f[D>>2]|0;F=vl(E|0,f[D+4>>2]|0,4,0)|0;D=H;if((t|0)<(D|0)|(t|0)==(D|0)&J>>>0>>0)L=0;else{J=(f[s>>2]|0)+E|0;E=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[g>>2]=E;J=I;f[J>>2]=F;f[J+4>>2]=D;D=a+156|0;f[D>>2]=E;M=s;N=i;O=D;G=22}}else if(zh(g,s)|0){s=f[r>>2]|0;D=f[s+32>>2]|0;E=h[s+36>>0]<<8&65535;s=a+156|0;f[s>>2]=f[g>>2];if((E&65535)>=512)if(zh(i,D)|0){P=f[i>>2]|0;Q=s;R=i;G=26}else{S=0;T=i;G=125}else{M=D;N=i;O=s;G=22}}else L=0;if((G|0)==22){s=M+8|0;D=f[s>>2]|0;E=f[s+4>>2]|0;s=M+16|0;g=s;J=f[g>>2]|0;F=vl(J|0,f[g+4>>2]|0,4,0)|0;g=H;if((E|0)<(g|0)|(E|0)==(g|0)&D>>>0>>0){S=0;T=N;G=125}else{D=(f[M>>2]|0)+J|0;J=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;f[i>>2]=J;D=s;f[D>>2]=F;f[D+4>>2]=g;P=J;Q=O;R=N;G=26}}if((G|0)==26)if((P>>>0<=1431655765?(f[Q>>2]|0)>>>0<=(P*3|0)>>>0:0)?(N=f[r>>2]|0,O=f[N+32>>2]|0,J=O+8|0,g=f[J>>2]|0,D=f[J+4>>2]|0,J=O+16|0,F=J,s=f[F>>2]|0,M=f[F+4>>2]|0,(D|0)>(M|0)|(D|0)==(M|0)&g>>>0>s>>>0):0){F=f[O>>2]|0;E=b[F+s>>0]|0;I=vl(s|0,M|0,1,0)|0;t=J;f[t>>2]=I;f[t+4>>2]=H;if((h[N+36>>0]<<8&65535)<512){N=vl(s|0,M|0,5,0)|0;M=H;if((D|0)<(M|0)|(D|0)==(M|0)&g>>>0>>0)U=0;else{g=F+I|0;I=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[k>>2]=I;g=J;f[g>>2]=N;f[g+4>>2]=M;V=P;W=I;G=34}}else if(zh(k,O)|0){V=f[i>>2]|0;W=f[k>>2]|0;G=34}else U=0;if((G|0)==34)if(V>>>0>=W>>>0?V>>>0<=(((W>>>0)/3|0)+W|0)>>>0:0){V=f[r>>2]|0;O=f[V+32>>2]|0;if((h[V+36>>0]<<8&65535)<512){V=O+8|0;I=f[V>>2]|0;P=f[V+4>>2]|0;V=O+16|0;M=V;g=f[M>>2]|0;N=vl(g|0,f[M+4>>2]|0,4,0)|0;M=H;if((P|0)<(M|0)|(P|0)==(M|0)&I>>>0>>0)X=0;else{I=(f[O>>2]|0)+g|0;g=h[I>>0]|h[I+1>>0]<<8|h[I+2>>0]<<16|h[I+3>>0]<<24;f[l>>2]=g;I=V;f[I>>2]=N;f[I+4>>2]=M;Y=g;Z=W;G=41}}else if(zh(l,O)|0){Y=f[l>>2]|0;Z=f[k>>2]|0;G=41}else X=0;a:do if((G|0)==41)if(Y>>>0<=Z>>>0){f[a+28>>2]=f[a+24>>2];O=wk(88)|0;Ej(O);W=a+8|0;g=f[W>>2]|0;f[W>>2]=O;if(g|0){O=f[g+76>>2]|0;if(O|0){f[g+80>>2]=O;Ko(O)}O=f[g+64>>2]|0;if(O|0){f[g+68>>2]=O;Ko(O)}O=f[g+48>>2]|0;if(O|0){f[g+52>>2]=O;Ko(O)}O=f[g+24>>2]|0;if(O|0){f[g+28>>2]=O;Ko(O)}O=f[g+12>>2]|0;if(O|0){f[g+16>>2]=O;Ko(O)}O=f[g>>2]|0;if(O|0){f[g+4>>2]=O;Ko(O)}Ko(g);if(!(f[W>>2]|0)){X=0;break}}g=a+160|0;f[a+164>>2]=f[g>>2];Wh(g,f[i>>2]|0);g=a+172|0;f[a+176>>2]=f[g>>2];Wh(g,f[i>>2]|0);f[a+40>>2]=f[a+36>>2];f[a+52>>2]=f[a+48>>2];f[a+64>>2]=0;f[a+76>>2]=f[a+72>>2];f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;g=a+216|0;O=f[g>>2]|0;M=a+220|0;I=f[M>>2]|0;if((I|0)!=(O|0)){N=I;do{I=f[N+-12>>2]|0;if(I|0){f[N+-8>>2]=I;Ko(I)}I=f[N+-28>>2]|0;if(I|0){f[N+-24>>2]=I;Ko(I)}I=f[N+-40>>2]|0;if(I|0){f[N+-36>>2]=I;Ko(I)}di(N+-140|0);N=N+-144|0}while((N|0)!=(O|0))}f[M>>2]=O;N=E&255;Zg(g,N);if(Hh(f[W>>2]|0,f[i>>2]|0,(f[l>>2]|0)+(f[Q>>2]|0)|0)|0){I=(f[l>>2]|0)+(f[Q>>2]|0)|0;b[e>>0]=1;Gf(a+120|0,I,e);I=f[r>>2]|0;V=(h[I+36>>0]<<8|h[I+37>>0])&65535;b:do if((V&65535)>=514)if((Nb(a,f[I+32>>2]|0)|0)==-1){X=0;break a}else _=-1;else{P=f[I+32>>2]|0;do if((V&65535)<512){J=P+8|0;F=f[J>>2]|0;D=f[J+4>>2]|0;J=P+16|0;s=J;t=f[s>>2]|0;q=vl(t|0,f[s+4>>2]|0,4,0)|0;s=H;if((D|0)<(s|0)|(D|0)==(s|0)&F>>>0>>0)break;F=(f[P>>2]|0)+t|0;t=h[F>>0]|h[F+1>>0]<<8|h[F+2>>0]<<16|h[F+3>>0]<<24;f[e>>2]=t;F=J;f[F>>2]=q;f[F+4>>2]=s;$=t;G=72}else{if(!(zh(e,P)|0))break;$=f[e>>2]|0;G=72}while(0);do if((G|0)==72){if(!$)break;P=f[(f[r>>2]|0)+32>>2]|0;t=P+8|0;s=P+16|0;P=wl(f[t>>2]|0,f[t+4>>2]|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=H;if((s|0)<0|(s|0)==0&P>>>0<$>>>0)break;Zj(m);P=f[(f[r>>2]|0)+32>>2]|0;s=P+16|0;t=f[s>>2]|0;F=f[e>>2]|0;q=(f[P>>2]|0)+t+F|0;J=P+8|0;D=wl(f[J>>2]|0,f[J+4>>2]|0,t|0,f[s+4>>2]|0)|0;pk(m,q,D-F|0,d[P+38>>1]|0);P=Nb(a,m)|0;if((P|0)==-1)break;_=P;break b}while(0);X=0;break a}while(0);V=a+232|0;f[a+376>>2]=a;I=(Ka[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;O=f[I>>2]|0;I=(f[O>>2]|0)+(f[O+16>>2]|0)|0;O=(Ka[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;P=f[O>>2]|0;O=P+8|0;F=P+16|0;P=wl(f[O>>2]|0,f[O+4>>2]|0,f[F>>2]|0,f[F+4>>2]|0)|0;F=(Ka[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;pk(V,I,P,d[(f[F>>2]|0)+38>>1]|0);F=Ka[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+380>>2]=F;F=a+384|0;f[F>>2]=(f[l>>2]|0)+(f[Q>>2]|0);f[a+372>>2]=N;Zj(m);c:do if(Dd(V,m)|0){P=m+8|0;I=P;O=f[I>>2]|0;D=f[I+4>>2]|0;I=m+16|0;q=I;s=f[q>>2]|0;t=vl(s|0,f[q+4>>2]|0,4,0)|0;q=H;if((D|0)<(q|0)|(D|0)==(q|0)&O>>>0>>0){aa=0;break}O=(f[m>>2]|0)+s|0;s=h[O>>0]|h[O+1>>0]<<8|h[O+2>>0]<<16|h[O+3>>0]<<24;O=I;f[O>>2]=t;f[O+4>>2]=q;if((s|0)<0){aa=0;break}q=f[F>>2]|0;if((s|0)>=(q|0)){aa=0;break}s=a+388|0;f[e>>2]=0;O=a+392|0;t=f[s>>2]|0;D=(f[O>>2]|0)-t>>2;do if(q>>>0>D>>>0)Of(s,q-D|0,e);else{if(q>>>0>=D>>>0)break;f[O>>2]=t+(q<<2)}while(0);if(!(rd(a+400|0,m)|0)){aa=0;break}q=Wa(a,f[k>>2]|0)|0;if((q|0)==-1){aa=0;break}t=f[(f[r>>2]|0)+32>>2]|0;O=I;D=f[O>>2]|0;s=(f[m>>2]|0)+D|0;J=P;v=wl(f[J>>2]|0,f[J+4>>2]|0,D|0,f[O+4>>2]|0)|0;pk(t,s,v,d[t+38>>1]|0);t=f[r>>2]|0;v=(h[t+36>>0]<<8|h[t+37>>0])&65535;if((v&65535)<514){s=(f[t+32>>2]|0)+16|0;t=s;O=vl(f[t>>2]|0,f[t+4>>2]|0,_|0,((_|0)<0)<<31>>31|0)|0;t=s;f[t>>2]=O;f[t+4>>2]=H}do if((f[M>>2]|0)!=(f[g>>2]|0)){t=f[W>>2]|0;O=(f[t+4>>2]|0)!=(f[t>>2]|0);if((v&65535)<513){if(!O)break;t=0;do{f[n>>2]=t;f[e>>2]=f[n>>2];t=t+3|0;if(!(Zb(a,e)|0)){aa=0;break c}s=f[W>>2]|0}while(t>>>0<(f[s+4>>2]|0)-(f[s>>2]|0)>>2>>>0)}else{if(!O)break;t=0;do{f[o>>2]=t;f[e>>2]=f[o>>2];t=t+3|0;if(!(gc(a,e)|0)){aa=0;break c}s=f[W>>2]|0}while(t>>>0<(f[s+4>>2]|0)-(f[s>>2]|0)>>2>>>0)}}while(0);if(b[a+308>>0]|0)Cj(a+272|0);if((j[a+270>>1]|0)<514)Cj(a+328|0);v=f[g>>2]|0;if((f[M>>2]|0)!=(v|0)){P=0;I=v;do{gg(I+(P*144|0)+4|0,f[W>>2]|0)|0;v=f[g>>2]|0;t=f[v+(P*144|0)+132>>2]|0;O=f[v+(P*144|0)+136>>2]|0;if((t|0)==(O|0))ba=v;else{s=t;t=v;while(1){f[p>>2]=f[s>>2];f[e>>2]=f[p>>2];pf(t+(P*144|0)+4|0,e);s=s+4|0;v=f[g>>2]|0;if((s|0)==(O|0)){ba=v;break}else t=v}}jj(ba+(P*144|0)+4|0,0,0);P=P+1|0;I=f[g>>2]|0}while(P>>>0<(((f[M>>2]|0)-I|0)/144|0)>>>0)}I=f[W>>2]|0;P=(f[I+28>>2]|0)-(f[I+24>>2]|0)>>2;I=a+196|0;t=a+200|0;O=f[I>>2]|0;s=(f[t>>2]|0)-O>>2;do if(P>>>0>s>>>0)Eg(I,P-s|0);else{if(P>>>0>=s>>>0)break;f[t>>2]=O+(P<<2)}while(0);Wh(a+184|0,P);O=f[g>>2]|0;if((f[M>>2]|0)!=(O|0)){t=0;s=O;do{O=s;I=(f[O+(t*144|0)+60>>2]|0)-(f[O+(t*144|0)+56>>2]|0)>>2;v=f[W>>2]|0;D=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;v=(I|0)<(D|0)?D:I;I=O+(t*144|0)+116|0;D=O+(t*144|0)+120|0;J=f[I>>2]|0;w=(f[D>>2]|0)-J>>2;do if(v>>>0>w>>>0)Eg(I,v-w|0);else{if(v>>>0>=w>>>0)break;f[D>>2]=J+(v<<2)}while(0);Wh(O+(t*144|0)+104|0,v);t=t+1|0;s=f[g>>2]|0}while(t>>>0<(((f[M>>2]|0)-s|0)/144|0)>>>0)}aa=Gb(a,q)|0}else aa=0;while(0);X=aa}else X=0}else X=0;while(0);U=X}else U=0;S=U;T=R;G=125}else{S=0;T=R;G=125}if((G|0)==125)L=S;K=L;u=c;return K|0}function $a(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+60|0;k=c+52|0;l=c+44|0;m=c;n=c+56|0;o=c+48|0;p=c+40|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;Ko(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=h[s+36>>0]<<8;v=(t|h[s+37>>0])&65535;do if((v&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=vl(B|0,f[A+4>>2]|0,4,0)|0;A=H;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=15}}else if(zh(e,w)|0){w=f[r>>2]|0;D=w;E=h[w+36>>0]<<8;F=f[e>>2]|0;G=15}if((G|0)==15){f[q>>2]=F;I=E;J=D;break}K=0;u=c;return K|0}else{I=t;J=s}while(0);s=f[J+32>>2]|0;if((I&65535)<512){I=s+8|0;J=f[I>>2]|0;t=f[I+4>>2]|0;I=s+16|0;D=I;E=f[D>>2]|0;F=vl(E|0,f[D+4>>2]|0,4,0)|0;D=H;if((t|0)<(D|0)|(t|0)==(D|0)&J>>>0>>0)L=0;else{J=(f[s>>2]|0)+E|0;E=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[g>>2]=E;J=I;f[J>>2]=F;f[J+4>>2]=D;D=a+156|0;f[D>>2]=E;M=s;N=i;O=D;G=22}}else if(zh(g,s)|0){s=f[r>>2]|0;D=f[s+32>>2]|0;E=h[s+36>>0]<<8&65535;s=a+156|0;f[s>>2]=f[g>>2];if((E&65535)>=512)if(zh(i,D)|0){P=f[i>>2]|0;Q=s;R=i;G=26}else{S=0;T=i;G=117}else{M=D;N=i;O=s;G=22}}else L=0;if((G|0)==22){s=M+8|0;D=f[s>>2]|0;E=f[s+4>>2]|0;s=M+16|0;g=s;J=f[g>>2]|0;F=vl(J|0,f[g+4>>2]|0,4,0)|0;g=H;if((E|0)<(g|0)|(E|0)==(g|0)&D>>>0>>0){S=0;T=N;G=117}else{D=(f[M>>2]|0)+J|0;J=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;f[i>>2]=J;D=s;f[D>>2]=F;f[D+4>>2]=g;P=J;Q=O;R=N;G=26}}if((G|0)==26)if((P>>>0<=1431655765?(f[Q>>2]|0)>>>0<=(P*3|0)>>>0:0)?(N=f[r>>2]|0,O=f[N+32>>2]|0,J=O+8|0,g=f[J>>2]|0,D=f[J+4>>2]|0,J=O+16|0,F=J,s=f[F>>2]|0,M=f[F+4>>2]|0,(D|0)>(M|0)|(D|0)==(M|0)&g>>>0>s>>>0):0){F=f[O>>2]|0;E=b[F+s>>0]|0;I=vl(s|0,M|0,1,0)|0;t=J;f[t>>2]=I;f[t+4>>2]=H;if((h[N+36>>0]<<8&65535)<512){N=vl(s|0,M|0,5,0)|0;M=H;if((D|0)<(M|0)|(D|0)==(M|0)&g>>>0>>0)U=0;else{g=F+I|0;I=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[k>>2]=I;g=J;f[g>>2]=N;f[g+4>>2]=M;V=P;W=I;G=34}}else if(zh(k,O)|0){V=f[i>>2]|0;W=f[k>>2]|0;G=34}else U=0;if((G|0)==34)if(V>>>0>=W>>>0?V>>>0<=(((W>>>0)/3|0)+W|0)>>>0:0){V=f[r>>2]|0;O=f[V+32>>2]|0;if((h[V+36>>0]<<8&65535)<512){V=O+8|0;I=f[V>>2]|0;P=f[V+4>>2]|0;V=O+16|0;M=V;g=f[M>>2]|0;N=vl(g|0,f[M+4>>2]|0,4,0)|0;M=H;if((P|0)<(M|0)|(P|0)==(M|0)&I>>>0>>0)X=0;else{I=(f[O>>2]|0)+g|0;g=h[I>>0]|h[I+1>>0]<<8|h[I+2>>0]<<16|h[I+3>>0]<<24;f[l>>2]=g;I=V;f[I>>2]=N;f[I+4>>2]=M;Y=g;Z=W;G=41}}else if(zh(l,O)|0){Y=f[l>>2]|0;Z=f[k>>2]|0;G=41}else X=0;a:do if((G|0)==41)if(Y>>>0<=Z>>>0){f[a+28>>2]=f[a+24>>2];O=wk(88)|0;Ej(O);W=a+8|0;g=f[W>>2]|0;f[W>>2]=O;if(g|0){O=f[g+76>>2]|0;if(O|0){f[g+80>>2]=O;Ko(O)}O=f[g+64>>2]|0;if(O|0){f[g+68>>2]=O;Ko(O)}O=f[g+48>>2]|0;if(O|0){f[g+52>>2]=O;Ko(O)}O=f[g+24>>2]|0;if(O|0){f[g+28>>2]=O;Ko(O)}O=f[g+12>>2]|0;if(O|0){f[g+16>>2]=O;Ko(O)}O=f[g>>2]|0;if(O|0){f[g+4>>2]=O;Ko(O)}Ko(g);if(!(f[W>>2]|0)){X=0;break}}g=a+160|0;f[a+164>>2]=f[g>>2];Wh(g,f[i>>2]|0);g=a+172|0;f[a+176>>2]=f[g>>2];Wh(g,f[i>>2]|0);f[a+40>>2]=f[a+36>>2];f[a+52>>2]=f[a+48>>2];f[a+64>>2]=0;f[a+76>>2]=f[a+72>>2];f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;g=a+216|0;O=f[g>>2]|0;M=a+220|0;I=f[M>>2]|0;if((I|0)!=(O|0)){N=I;do{I=f[N+-12>>2]|0;if(I|0){f[N+-8>>2]=I;Ko(I)}I=f[N+-28>>2]|0;if(I|0){f[N+-24>>2]=I;Ko(I)}I=f[N+-40>>2]|0;if(I|0){f[N+-36>>2]=I;Ko(I)}di(N+-140|0);N=N+-144|0}while((N|0)!=(O|0))}f[M>>2]=O;N=E&255;Zg(g,N);if(Hh(f[W>>2]|0,f[i>>2]|0,(f[l>>2]|0)+(f[Q>>2]|0)|0)|0){I=(f[l>>2]|0)+(f[Q>>2]|0)|0;b[e>>0]=1;Gf(a+120|0,I,e);I=f[r>>2]|0;V=(h[I+36>>0]<<8|h[I+37>>0])&65535;b:do if((V&65535)>=514)if((Nb(a,f[I+32>>2]|0)|0)==-1){X=0;break a}else _=-1;else{P=f[I+32>>2]|0;do if((V&65535)<512){J=P+8|0;F=f[J>>2]|0;D=f[J+4>>2]|0;J=P+16|0;s=J;t=f[s>>2]|0;q=vl(t|0,f[s+4>>2]|0,4,0)|0;s=H;if((D|0)<(s|0)|(D|0)==(s|0)&F>>>0>>0)break;F=(f[P>>2]|0)+t|0;t=h[F>>0]|h[F+1>>0]<<8|h[F+2>>0]<<16|h[F+3>>0]<<24;f[e>>2]=t;F=J;f[F>>2]=q;f[F+4>>2]=s;$=t;G=72}else{if(!(zh(e,P)|0))break;$=f[e>>2]|0;G=72}while(0);do if((G|0)==72){if(!$)break;P=f[(f[r>>2]|0)+32>>2]|0;t=P+8|0;s=P+16|0;P=wl(f[t>>2]|0,f[t+4>>2]|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=H;if((s|0)<0|(s|0)==0&P>>>0<$>>>0)break;Zj(m);P=f[(f[r>>2]|0)+32>>2]|0;s=P+16|0;t=f[s>>2]|0;F=f[e>>2]|0;q=(f[P>>2]|0)+t+F|0;J=P+8|0;D=wl(f[J>>2]|0,f[J+4>>2]|0,t|0,f[s+4>>2]|0)|0;pk(m,q,D-F|0,d[P+38>>1]|0);P=Nb(a,m)|0;if((P|0)==-1)break;_=P;break b}while(0);X=0;break a}while(0);V=a+232|0;f[a+376>>2]=a;I=(Ka[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;O=f[I>>2]|0;I=(f[O>>2]|0)+(f[O+16>>2]|0)|0;O=(Ka[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;P=f[O>>2]|0;O=P+8|0;F=P+16|0;P=wl(f[O>>2]|0,f[O+4>>2]|0,f[F>>2]|0,f[F+4>>2]|0)|0;F=(Ka[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;pk(V,I,P,d[(f[F>>2]|0)+38>>1]|0);F=Ka[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+380>>2]=F;f[a+384>>2]=(f[l>>2]|0)+(f[Q>>2]|0);f[a+372>>2]=N;Zj(m);c:do if(Vb(V,m)|0){F=Xa(a,f[k>>2]|0)|0;if((F|0)==-1){aa=0;break}P=f[(f[r>>2]|0)+32>>2]|0;I=m+16|0;O=f[I>>2]|0;D=(f[m>>2]|0)+O|0;q=m+8|0;s=wl(f[q>>2]|0,f[q+4>>2]|0,O|0,f[I+4>>2]|0)|0;pk(P,D,s,d[P+38>>1]|0);P=f[r>>2]|0;s=(h[P+36>>0]<<8|h[P+37>>0])&65535;if((s&65535)<514){D=(f[P+32>>2]|0)+16|0;P=D;I=vl(f[P>>2]|0,f[P+4>>2]|0,_|0,((_|0)<0)<<31>>31|0)|0;P=D;f[P>>2]=I;f[P+4>>2]=H}do if((f[M>>2]|0)!=(f[g>>2]|0)){P=f[W>>2]|0;I=(f[P+4>>2]|0)!=(f[P>>2]|0);if((s&65535)<513){if(!I)break;P=0;do{f[n>>2]=P;f[e>>2]=f[n>>2];P=P+3|0;if(!(Zb(a,e)|0)){aa=0;break c}D=f[W>>2]|0}while(P>>>0<(f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)}else{if(!I)break;P=0;do{f[o>>2]=P;f[e>>2]=f[o>>2];P=P+3|0;if(!(gc(a,e)|0)){aa=0;break c}D=f[W>>2]|0}while(P>>>0<(f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)}}while(0);if(b[a+308>>0]|0)Cj(a+272|0);if((j[a+270>>1]|0)<514)Cj(a+328|0);s=f[g>>2]|0;if((f[M>>2]|0)!=(s|0)){P=0;I=s;do{gg(I+(P*144|0)+4|0,f[W>>2]|0)|0;s=f[g>>2]|0;D=f[s+(P*144|0)+132>>2]|0;O=f[s+(P*144|0)+136>>2]|0;if((D|0)==(O|0))ba=s;else{q=D;D=s;while(1){f[p>>2]=f[q>>2];f[e>>2]=f[p>>2];pf(D+(P*144|0)+4|0,e);q=q+4|0;s=f[g>>2]|0;if((q|0)==(O|0)){ba=s;break}else D=s}}jj(ba+(P*144|0)+4|0,0,0);P=P+1|0;I=f[g>>2]|0}while(P>>>0<(((f[M>>2]|0)-I|0)/144|0)>>>0)}I=f[W>>2]|0;P=(f[I+28>>2]|0)-(f[I+24>>2]|0)>>2;I=a+196|0;D=a+200|0;O=f[I>>2]|0;q=(f[D>>2]|0)-O>>2;do if(P>>>0>q>>>0)Eg(I,P-q|0);else{if(P>>>0>=q>>>0)break;f[D>>2]=O+(P<<2)}while(0);Wh(a+184|0,P);O=f[g>>2]|0;if((f[M>>2]|0)!=(O|0)){D=0;q=O;do{O=q;I=(f[O+(D*144|0)+60>>2]|0)-(f[O+(D*144|0)+56>>2]|0)>>2;s=f[W>>2]|0;t=(f[s+28>>2]|0)-(f[s+24>>2]|0)>>2;s=(I|0)<(t|0)?t:I;I=O+(D*144|0)+116|0;t=O+(D*144|0)+120|0;J=f[I>>2]|0;v=(f[t>>2]|0)-J>>2;do if(s>>>0>v>>>0)Eg(I,s-v|0);else{if(s>>>0>=v>>>0)break;f[t>>2]=J+(s<<2)}while(0);Wh(O+(D*144|0)+104|0,s);D=D+1|0;q=f[g>>2]|0}while(D>>>0<(((f[M>>2]|0)-q|0)/144|0)>>>0)}aa=Gb(a,F)|0}else aa=0;while(0);X=aa}else X=0}else X=0;while(0);U=X}else U=0;S=U;T=R;G=117}else{S=0;T=R;G=117}if((G|0)==117)L=S;K=L;u=c;return K|0}function ab(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;c=u;u=u+80|0;e=c+68|0;g=c+64|0;i=c+60|0;k=c+52|0;l=c+44|0;m=c;n=c+56|0;o=c+48|0;p=c+40|0;q=a+132|0;f[q>>2]=0;r=a+148|0;if(f[r>>2]|0){s=a+144|0;t=f[s>>2]|0;if(t|0){v=t;do{t=v;v=f[v>>2]|0;Ko(t)}while((v|0)!=0)}f[s>>2]=0;s=f[a+140>>2]|0;if(s|0){v=a+136|0;t=0;do{f[(f[v>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(s|0))}f[r>>2]=0}r=a+4|0;s=f[r>>2]|0;t=h[s+36>>0]<<8;v=(t|h[s+37>>0])&65535;do if((v&65535)<514){w=f[s+32>>2]|0;if((v&65535)<512){x=w+8|0;y=f[x>>2]|0;z=f[x+4>>2]|0;x=w+16|0;A=x;B=f[A>>2]|0;C=vl(B|0,f[A+4>>2]|0,4,0)|0;A=H;if(!((z|0)<(A|0)|(z|0)==(A|0)&y>>>0>>0)){y=(f[w>>2]|0)+B|0;B=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[e>>2]=B;y=x;f[y>>2]=C;f[y+4>>2]=A;D=s;E=t;F=B;G=15}}else if(zh(e,w)|0){w=f[r>>2]|0;D=w;E=h[w+36>>0]<<8;F=f[e>>2]|0;G=15}if((G|0)==15){f[q>>2]=F;I=E;J=D;break}K=0;u=c;return K|0}else{I=t;J=s}while(0);s=f[J+32>>2]|0;if((I&65535)<512){I=s+8|0;J=f[I>>2]|0;t=f[I+4>>2]|0;I=s+16|0;D=I;E=f[D>>2]|0;F=vl(E|0,f[D+4>>2]|0,4,0)|0;D=H;if((t|0)<(D|0)|(t|0)==(D|0)&J>>>0>>0)L=0;else{J=(f[s>>2]|0)+E|0;E=h[J>>0]|h[J+1>>0]<<8|h[J+2>>0]<<16|h[J+3>>0]<<24;f[g>>2]=E;J=I;f[J>>2]=F;f[J+4>>2]=D;D=a+156|0;f[D>>2]=E;M=s;N=i;O=D;G=22}}else if(zh(g,s)|0){s=f[r>>2]|0;D=f[s+32>>2]|0;E=h[s+36>>0]<<8&65535;s=a+156|0;f[s>>2]=f[g>>2];if((E&65535)>=512)if(zh(i,D)|0){P=f[i>>2]|0;Q=s;R=i;G=26}else{S=0;T=i;G=117}else{M=D;N=i;O=s;G=22}}else L=0;if((G|0)==22){s=M+8|0;D=f[s>>2]|0;E=f[s+4>>2]|0;s=M+16|0;g=s;J=f[g>>2]|0;F=vl(J|0,f[g+4>>2]|0,4,0)|0;g=H;if((E|0)<(g|0)|(E|0)==(g|0)&D>>>0>>0){S=0;T=N;G=117}else{D=(f[M>>2]|0)+J|0;J=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;f[i>>2]=J;D=s;f[D>>2]=F;f[D+4>>2]=g;P=J;Q=O;R=N;G=26}}if((G|0)==26)if((P>>>0<=1431655765?(f[Q>>2]|0)>>>0<=(P*3|0)>>>0:0)?(N=f[r>>2]|0,O=f[N+32>>2]|0,J=O+8|0,g=f[J>>2]|0,D=f[J+4>>2]|0,J=O+16|0,F=J,s=f[F>>2]|0,M=f[F+4>>2]|0,(D|0)>(M|0)|(D|0)==(M|0)&g>>>0>s>>>0):0){F=f[O>>2]|0;E=b[F+s>>0]|0;I=vl(s|0,M|0,1,0)|0;t=J;f[t>>2]=I;f[t+4>>2]=H;if((h[N+36>>0]<<8&65535)<512){N=vl(s|0,M|0,5,0)|0;M=H;if((D|0)<(M|0)|(D|0)==(M|0)&g>>>0>>0)U=0;else{g=F+I|0;I=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[k>>2]=I;g=J;f[g>>2]=N;f[g+4>>2]=M;V=P;W=I;G=34}}else if(zh(k,O)|0){V=f[i>>2]|0;W=f[k>>2]|0;G=34}else U=0;if((G|0)==34)if(V>>>0>=W>>>0?V>>>0<=(((W>>>0)/3|0)+W|0)>>>0:0){V=f[r>>2]|0;O=f[V+32>>2]|0;if((h[V+36>>0]<<8&65535)<512){V=O+8|0;I=f[V>>2]|0;P=f[V+4>>2]|0;V=O+16|0;M=V;g=f[M>>2]|0;N=vl(g|0,f[M+4>>2]|0,4,0)|0;M=H;if((P|0)<(M|0)|(P|0)==(M|0)&I>>>0>>0)X=0;else{I=(f[O>>2]|0)+g|0;g=h[I>>0]|h[I+1>>0]<<8|h[I+2>>0]<<16|h[I+3>>0]<<24;f[l>>2]=g;I=V;f[I>>2]=N;f[I+4>>2]=M;Y=g;Z=W;G=41}}else if(zh(l,O)|0){Y=f[l>>2]|0;Z=f[k>>2]|0;G=41}else X=0;a:do if((G|0)==41)if(Y>>>0<=Z>>>0){f[a+28>>2]=f[a+24>>2];O=wk(88)|0;Ej(O);W=a+8|0;g=f[W>>2]|0;f[W>>2]=O;if(g|0){O=f[g+76>>2]|0;if(O|0){f[g+80>>2]=O;Ko(O)}O=f[g+64>>2]|0;if(O|0){f[g+68>>2]=O;Ko(O)}O=f[g+48>>2]|0;if(O|0){f[g+52>>2]=O;Ko(O)}O=f[g+24>>2]|0;if(O|0){f[g+28>>2]=O;Ko(O)}O=f[g+12>>2]|0;if(O|0){f[g+16>>2]=O;Ko(O)}O=f[g>>2]|0;if(O|0){f[g+4>>2]=O;Ko(O)}Ko(g);if(!(f[W>>2]|0)){X=0;break}}g=a+160|0;f[a+164>>2]=f[g>>2];Wh(g,f[i>>2]|0);g=a+172|0;f[a+176>>2]=f[g>>2];Wh(g,f[i>>2]|0);f[a+40>>2]=f[a+36>>2];f[a+52>>2]=f[a+48>>2];f[a+64>>2]=0;f[a+76>>2]=f[a+72>>2];f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;g=a+216|0;O=f[g>>2]|0;M=a+220|0;I=f[M>>2]|0;if((I|0)!=(O|0)){N=I;do{I=f[N+-12>>2]|0;if(I|0){f[N+-8>>2]=I;Ko(I)}I=f[N+-28>>2]|0;if(I|0){f[N+-24>>2]=I;Ko(I)}I=f[N+-40>>2]|0;if(I|0){f[N+-36>>2]=I;Ko(I)}di(N+-140|0);N=N+-144|0}while((N|0)!=(O|0))}f[M>>2]=O;N=E&255;Zg(g,N);if(Hh(f[W>>2]|0,f[i>>2]|0,(f[l>>2]|0)+(f[Q>>2]|0)|0)|0){I=(f[l>>2]|0)+(f[Q>>2]|0)|0;b[e>>0]=1;Gf(a+120|0,I,e);I=f[r>>2]|0;V=(h[I+36>>0]<<8|h[I+37>>0])&65535;b:do if((V&65535)>=514)if((Nb(a,f[I+32>>2]|0)|0)==-1){X=0;break a}else _=-1;else{P=f[I+32>>2]|0;do if((V&65535)<512){J=P+8|0;F=f[J>>2]|0;D=f[J+4>>2]|0;J=P+16|0;s=J;t=f[s>>2]|0;q=vl(t|0,f[s+4>>2]|0,4,0)|0;s=H;if((D|0)<(s|0)|(D|0)==(s|0)&F>>>0>>0)break;F=(f[P>>2]|0)+t|0;t=h[F>>0]|h[F+1>>0]<<8|h[F+2>>0]<<16|h[F+3>>0]<<24;f[e>>2]=t;F=J;f[F>>2]=q;f[F+4>>2]=s;$=t;G=72}else{if(!(zh(e,P)|0))break;$=f[e>>2]|0;G=72}while(0);do if((G|0)==72){if(!$)break;P=f[(f[r>>2]|0)+32>>2]|0;t=P+8|0;s=P+16|0;P=wl(f[t>>2]|0,f[t+4>>2]|0,f[s>>2]|0,f[s+4>>2]|0)|0;s=H;if((s|0)<0|(s|0)==0&P>>>0<$>>>0)break;Zj(m);P=f[(f[r>>2]|0)+32>>2]|0;s=P+16|0;t=f[s>>2]|0;F=f[e>>2]|0;q=(f[P>>2]|0)+t+F|0;J=P+8|0;D=wl(f[J>>2]|0,f[J+4>>2]|0,t|0,f[s+4>>2]|0)|0;pk(m,q,D-F|0,d[P+38>>1]|0);P=Nb(a,m)|0;if((P|0)==-1)break;_=P;break b}while(0);X=0;break a}while(0);V=a+232|0;f[a+376>>2]=a;I=(Ka[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;O=f[I>>2]|0;I=(f[O>>2]|0)+(f[O+16>>2]|0)|0;O=(Ka[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;P=f[O>>2]|0;O=P+8|0;F=P+16|0;P=wl(f[O>>2]|0,f[O+4>>2]|0,f[F>>2]|0,f[F+4>>2]|0)|0;F=(Ka[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;pk(V,I,P,d[(f[F>>2]|0)+38>>1]|0);f[a+372>>2]=N;Zj(m);c:do if(Dd(V,m)|0){F=Ya(a,f[k>>2]|0)|0;if((F|0)==-1){aa=0;break}P=f[(f[r>>2]|0)+32>>2]|0;I=m+16|0;O=f[I>>2]|0;D=(f[m>>2]|0)+O|0;q=m+8|0;s=wl(f[q>>2]|0,f[q+4>>2]|0,O|0,f[I+4>>2]|0)|0;pk(P,D,s,d[P+38>>1]|0);P=f[r>>2]|0;s=(h[P+36>>0]<<8|h[P+37>>0])&65535;if((s&65535)<514){D=(f[P+32>>2]|0)+16|0;P=D;I=vl(f[P>>2]|0,f[P+4>>2]|0,_|0,((_|0)<0)<<31>>31|0)|0;P=D;f[P>>2]=I;f[P+4>>2]=H}do if((f[M>>2]|0)!=(f[g>>2]|0)){P=f[W>>2]|0;I=(f[P+4>>2]|0)!=(f[P>>2]|0);if((s&65535)<513){if(!I)break;P=0;do{f[n>>2]=P;f[e>>2]=f[n>>2];P=P+3|0;if(!(Zb(a,e)|0)){aa=0;break c}D=f[W>>2]|0}while(P>>>0<(f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)}else{if(!I)break;P=0;do{f[o>>2]=P;f[e>>2]=f[o>>2];P=P+3|0;if(!(gc(a,e)|0)){aa=0;break c}D=f[W>>2]|0}while(P>>>0<(f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)}}while(0);if(b[a+308>>0]|0)Cj(a+272|0);if((j[a+270>>1]|0)<514)Cj(a+328|0);s=f[g>>2]|0;if((f[M>>2]|0)!=(s|0)){P=0;I=s;do{gg(I+(P*144|0)+4|0,f[W>>2]|0)|0;s=f[g>>2]|0;D=f[s+(P*144|0)+132>>2]|0;O=f[s+(P*144|0)+136>>2]|0;if((D|0)==(O|0))ba=s;else{q=D;D=s;while(1){f[p>>2]=f[q>>2];f[e>>2]=f[p>>2];pf(D+(P*144|0)+4|0,e);q=q+4|0;s=f[g>>2]|0;if((q|0)==(O|0)){ba=s;break}else D=s}}jj(ba+(P*144|0)+4|0,0,0);P=P+1|0;I=f[g>>2]|0}while(P>>>0<(((f[M>>2]|0)-I|0)/144|0)>>>0)}I=f[W>>2]|0;P=(f[I+28>>2]|0)-(f[I+24>>2]|0)>>2;I=a+196|0;D=a+200|0;O=f[I>>2]|0;q=(f[D>>2]|0)-O>>2;do if(P>>>0>q>>>0)Eg(I,P-q|0);else{if(P>>>0>=q>>>0)break;f[D>>2]=O+(P<<2)}while(0);Wh(a+184|0,P);O=f[g>>2]|0;if((f[M>>2]|0)!=(O|0)){D=0;q=O;do{O=q;I=(f[O+(D*144|0)+60>>2]|0)-(f[O+(D*144|0)+56>>2]|0)>>2;s=f[W>>2]|0;t=(f[s+28>>2]|0)-(f[s+24>>2]|0)>>2;s=(I|0)<(t|0)?t:I;I=O+(D*144|0)+116|0;t=O+(D*144|0)+120|0;J=f[I>>2]|0;v=(f[t>>2]|0)-J>>2;do if(s>>>0>v>>>0)Eg(I,s-v|0);else{if(s>>>0>=v>>>0)break;f[t>>2]=J+(s<<2)}while(0);Wh(O+(D*144|0)+104|0,s);D=D+1|0;q=f[g>>2]|0}while(D>>>0<(((f[M>>2]|0)-q|0)/144|0)>>>0)}aa=Gb(a,F)|0}else aa=0;while(0);X=aa}else X=0}else X=0;while(0);U=X}else U=0;S=U;T=R;G=117}else{S=0;T=R;G=117}if((G|0)==117)L=S;K=L;u=c;return K|0}function bb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;k=g+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(g);else{l=i<<2;m=wk(l)|0;f[g>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+120|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[g>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[g>>2]=0;k=g+4|0;f[k>>2]=0;q=g+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(g);else{t=v<<2;r=wk(t)|0;f[g>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+132|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[g>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=c;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=d+16|0;r=d+20|0;A=d+28|0;w=a+8|0;s=d+12|0;x=a+108|0;t=a+4|0;n=a+96|0;j=a+52|0;i=a+48|0;l=a+40|0;o=a+32|0;p=a+28|0;E=a+20|0;F=a+92|0;G=a+80|0;H=a+88|0;I=C;while(1){J=f[B>>2]|0;K=I+-1|0;L=J+K|0;M=f[y>>2]|0;N=(L>>>0)/341|0;O=f[M+(N<<2)>>2]|0;P=L-(N*341|0)|0;N=f[O+(P*12|0)>>2]|0;L=f[O+(P*12|0)+4>>2]|0;Q=f[O+(P*12|0)+8>>2]|0;f[z>>2]=K;K=f[q>>2]|0;P=K-M|0;if((1-I-J+((P|0)==0?0:((P>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[K+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}K=f[m>>2]|0;P=K+(Q*12|0)|0;J=(f[v>>2]|0)+(Q*12|0)|0;if(N>>>0>c>>>0){D=0;break a}M=Pk(a,N,J,L)|0;if(M>>>0>=(f[h>>2]|0)>>>0){D=0;break a}L=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!L)if(!N)R=19;else{O=0;while(1){S=f[k>>2]|0;c:do if((f[r>>2]|0)!=(S|0)){T=0;U=S;do{V=U;X=f[V+(T*20|0)>>2]|0;Y=V+(T*20|0)+12|0;_=V+(T*20|0)+16|0;$=(f[P>>2]|0)+(f[V+(T*20|0)+4>>2]<<2)|0;V=f[Y>>2]|0;if((V|0)==4)aa=$;else{if(f[_>>2]|0){ba=f[s>>2]|0;ca=0;da=V;while(1){Bf(ba|0,$+(ca<<2)|0,da|0)|0;ca=ca+1|0;V=f[Y>>2]|0;if(ca>>>0>=(f[_>>2]|0)>>>0)break;else{ba=ba+V|0;da=V}}}aa=f[s>>2]|0}da=f[A>>2]|0;if(!(b[X+84>>0]|0))ea=f[(f[X+68>>2]|0)+(da<<2)>>2]|0;else ea=da;if(ea>>>0>=(f[X+80>>2]|0)>>>0)break c;da=f[X+40>>2]|0;Bf((f[f[X+64>>2]>>2]|0)+(W(ea,da)|0)|0,aa|0,da|0)|0;T=T+1|0;U=f[k>>2]|0}while(T>>>0<(((f[r>>2]|0)-U|0)/20|0)>>>0)}while(0);f[A>>2]=(f[A>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;O=O+1|0;if((O|0)==(N|0)){R=19;break}}}else{if(N>>>0>=3){if((f[w>>2]|0)>>>0>(f[t>>2]|0)>>>0){D=0;break a}O=Q+1|0;S=f[m>>2]|0;U=S+(O*12|0)|0;if((U|0)==(P|0))fa=S;else{Df(U,f[P>>2]|0,f[K+(Q*12|0)+4>>2]|0);fa=f[m>>2]|0}U=(f[fa+(O*12|0)>>2]|0)+(M<<2)|0;f[U>>2]=(f[U>>2]|0)+(1<>2]|0;T=32-S|0;do if((U|0)>(T|0)){da=f[p>>2]|0;ba=da+4|0;if((ba|0)==(f[E>>2]|0))ga=0;else{_=f[da>>2]<>2]=da;f[p>>2]=ba;ca=32-da|0;ga=(f[ba>>2]|0)>>>ca|_>>>(ca-T|0)}}else{ca=f[p>>2]|0;if((ca|0)==(f[E>>2]|0))ga=0;else{_=f[ca>>2]<>>(32-U|0);ba=S+U|0;f[o>>2]=ba;if((ba|0)!=32){ga=_;break}f[p>>2]=ca+4;f[o>>2]=0;ga=_}}while(0);U=(N>>>1)-ga|0;S=N-U|0;d:do if((U|0)==(S|0)){ha=U;ia=U}else{T=f[F>>2]|0;_=f[H>>2]|0;do if((_|0)!=(f[G>>2]|0)){ca=(f[_>>2]&1<<31-T|0)!=0;ba=T+1|0;f[F>>2]=ba;if((ba|0)==32){f[H>>2]=_+4;f[F>>2]=0;if(ca){ha=U;ia=S;break d}else break}else if(ca){ha=U;ia=S;break d}else break}while(0);ha=S;ia=U}while(0);U=f[v>>2]|0;S=f[U+(Q*12|0)>>2]|0;_=S+(M<<2)|0;f[_>>2]=(f[_>>2]|0)+1;Df(U+(O*12|0)|0,S,f[U+(Q*12|0)+4>>2]|0);if(ha|0){U=f[q>>2]|0;S=f[y>>2]|0;_=U-S|0;T=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((_|0)==0?0:((_>>2)*341|0)+-1|0)|0)==(T|0)){cc(g);ja=(f[B>>2]|0)+(f[z>>2]|0)|0;ka=f[q>>2]|0;la=f[y>>2]|0}else{ja=T;ka=U;la=S}if((ka|0)==(la|0))ma=0;else{S=(ja>>>0)/341|0;ma=(f[la+(S<<2)>>2]|0)+((ja-(S*341|0)|0)*12|0)|0}f[ma>>2]=ha;f[ma+4>>2]=M;f[ma+8>>2]=Q;f[z>>2]=(f[z>>2]|0)+1}if(!ia){R=19;break}S=f[q>>2]|0;U=f[y>>2]|0;T=S-U|0;_=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((T|0)==0?0:((T>>2)*341|0)+-1|0)|0)==(_|0)){cc(g);na=(f[B>>2]|0)+(f[z>>2]|0)|0;oa=f[q>>2]|0;pa=f[y>>2]|0}else{na=_;oa=S;pa=U}if((oa|0)==(pa|0))qa=0;else{U=(na>>>0)/341|0;qa=(f[pa+(U<<2)>>2]|0)+((na-(U*341|0)|0)*12|0)|0}f[qa>>2]=ia;f[qa+4>>2]=M;f[qa+8>>2]=O;U=(f[z>>2]|0)+1|0;f[z>>2]=U;ra=U;break}U=f[x>>2]|0;f[U>>2]=M;S=f[h>>2]|0;if(S>>>0>1){_=1;T=S;ca=M;while(1){ca=(ca|0)==(T+-1|0)?0:ca+1|0;f[U+(_<<2)>>2]=ca;_=_+1|0;ba=f[h>>2]|0;if(_>>>0>=ba>>>0){sa=ba;break}else T=ba}}else sa=S;if(!N)R=19;else{T=0;_=sa;while(1){if(_|0){ca=f[x>>2]|0;U=f[n>>2]|0;O=f[J>>2]|0;ba=0;do{da=ca+(ba<<2)|0;f[U+(f[da>>2]<<2)>>2]=0;Y=f[da>>2]|0;$=(f[a>>2]|0)-(f[O+(Y<<2)>>2]|0)|0;do if($|0){V=U+(Y<<2)|0;ta=f[j>>2]|0;ua=32-ta|0;if(($|0)>(ua|0)){va=f[i>>2]|0;wa=va+4|0;if((wa|0)==(f[l>>2]|0)){f[V>>2]=0;break}else{xa=f[va>>2]<>2]=va;f[i>>2]=wa;ya=32-va|0;f[V>>2]=(f[wa>>2]|0)>>>ya|xa>>>(ya-ua|0);break}}ua=f[i>>2]|0;if((ua|0)==(f[l>>2]|0)){f[V>>2]=0;break}f[V>>2]=f[ua>>2]<>>(32-$|0);ta=(f[j>>2]|0)+$|0;f[j>>2]=ta;if((ta|0)!=32)break;f[i>>2]=ua+4;f[j>>2]=0}while(0);$=f[da>>2]|0;Y=U+($<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[P>>2]|0)+($<<2)>>2];ba=ba+1|0}while(ba>>>0<(f[h>>2]|0)>>>0)}ba=f[k>>2]|0;e:do if((f[r>>2]|0)!=(ba|0)){U=0;O=ba;do{ca=O;$=f[ca+(U*20|0)>>2]|0;Y=ca+(U*20|0)+12|0;ua=ca+(U*20|0)+16|0;ta=(f[n>>2]|0)+(f[ca+(U*20|0)+4>>2]<<2)|0;ca=f[Y>>2]|0;if((ca|0)==4)za=ta;else{if(f[ua>>2]|0){V=f[s>>2]|0;ya=0;xa=ca;while(1){Bf(V|0,ta+(ya<<2)|0,xa|0)|0;ya=ya+1|0;ca=f[Y>>2]|0;if(ya>>>0>=(f[ua>>2]|0)>>>0)break;else{V=V+ca|0;xa=ca}}}za=f[s>>2]|0}xa=f[A>>2]|0;if(!(b[$+84>>0]|0))Aa=f[(f[$+68>>2]|0)+(xa<<2)>>2]|0;else Aa=xa;if(Aa>>>0>=(f[$+80>>2]|0)>>>0)break e;xa=f[$+40>>2]|0;Bf((f[f[$+64>>2]>>2]|0)+(W(Aa,xa)|0)|0,za|0,xa|0)|0;U=U+1|0;O=f[k>>2]|0}while(U>>>0<(((f[r>>2]|0)-O|0)/20|0)>>>0)}while(0);f[A>>2]=(f[A>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;ba=T+1|0;if((ba|0)==(N|0)){R=19;break b}T=ba;_=f[h>>2]|0}}}while(0);if((R|0)==19){R=0;ra=f[z>>2]|0}if(!ra){D=1;break}else I=ra}}while(0);ra=f[y>>2]|0;h=f[B>>2]|0;za=(h>>>0)/341|0;Aa=ra+(za<<2)|0;a=f[q>>2]|0;sa=a;qa=ra;if((a|0)!=(ra|0)?(ia=(f[Aa>>2]|0)+((h-(za*341|0)|0)*12|0)|0,za=(f[z>>2]|0)+h|0,h=(za>>>0)/341|0,na=(f[ra+(h<<2)>>2]|0)+((za-(h*341|0)|0)*12|0)|0,(na|0)!=(ia|0)):0){h=Aa;Aa=ia;while(1){ia=Aa+12|0;if((ia-(f[h>>2]|0)|0)==4092){za=h+4|0;Ba=za;Ca=f[za>>2]|0}else{Ba=h;Ca=ia}Aa=Ca;if((na|0)==(Aa|0))break;else h=Ba}}f[z>>2]=0;z=sa-qa>>2;if(z>>>0>2){qa=ra;do{Ko(f[qa>>2]|0);qa=(f[y>>2]|0)+4|0;f[y>>2]=qa;Da=f[q>>2]|0;Ea=Da-qa>>2}while(Ea>>>0>2);Fa=Ea;Ga=qa;Ha=Da}else{Fa=z;Ga=ra;Ha=a}switch(Fa|0){case 1:{Ia=170;R=110;break}case 2:{Ia=341;R=110;break}default:{}}if((R|0)==110)f[B>>2]=Ia;if((Ga|0)!=(Ha|0)){Ia=Ga;do{Ko(f[Ia>>2]|0);Ia=Ia+4|0}while((Ia|0)!=(Ha|0));Ha=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(Ha|0))f[q>>2]=y+(~((y+-4-Ha|0)>>>2)<<2)}Ha=f[g>>2]|0;if(!Ha){u=e;return D|0}Ko(Ha);u=e;return D|0}function cb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;k=g+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(g);else{l=i<<2;m=wk(l)|0;f[g>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+120|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[g>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[g>>2]=0;k=g+4|0;f[k>>2]=0;q=g+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(g);else{t=v<<2;r=wk(t)|0;f[g>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+132|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[g>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=c;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=d+16|0;r=d+20|0;A=d+28|0;w=a+8|0;s=d+12|0;x=a+108|0;t=a+4|0;n=a+96|0;j=a+52|0;i=a+48|0;l=a+40|0;o=a+32|0;p=a+28|0;E=a+20|0;F=a+92|0;G=a+80|0;H=a+88|0;I=C;while(1){J=f[B>>2]|0;K=I+-1|0;L=J+K|0;M=f[y>>2]|0;N=(L>>>0)/341|0;O=f[M+(N<<2)>>2]|0;P=L-(N*341|0)|0;N=f[O+(P*12|0)>>2]|0;L=f[O+(P*12|0)+4>>2]|0;Q=f[O+(P*12|0)+8>>2]|0;f[z>>2]=K;K=f[q>>2]|0;P=K-M|0;if((1-I-J+((P|0)==0?0:((P>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[K+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}K=f[m>>2]|0;P=K+(Q*12|0)|0;if(N>>>0>c>>>0){D=0;break a}J=f[h>>2]|0;M=(J+-1|0)==(L|0)?0:L+1|0;if(M>>>0>=J>>>0){D=0;break a}J=(f[v>>2]|0)+(Q*12|0)|0;L=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!L)if(!N)R=19;else{O=0;while(1){S=f[k>>2]|0;c:do if((f[r>>2]|0)!=(S|0)){T=0;U=S;do{V=U;X=f[V+(T*20|0)>>2]|0;Y=V+(T*20|0)+12|0;_=V+(T*20|0)+16|0;$=(f[P>>2]|0)+(f[V+(T*20|0)+4>>2]<<2)|0;V=f[Y>>2]|0;if((V|0)==4)aa=$;else{if(f[_>>2]|0){ba=f[s>>2]|0;ca=0;da=V;while(1){Bf(ba|0,$+(ca<<2)|0,da|0)|0;ca=ca+1|0;V=f[Y>>2]|0;if(ca>>>0>=(f[_>>2]|0)>>>0)break;else{ba=ba+V|0;da=V}}}aa=f[s>>2]|0}da=f[A>>2]|0;if(!(b[X+84>>0]|0))ea=f[(f[X+68>>2]|0)+(da<<2)>>2]|0;else ea=da;if(ea>>>0>=(f[X+80>>2]|0)>>>0)break c;da=f[X+40>>2]|0;Bf((f[f[X+64>>2]>>2]|0)+(W(ea,da)|0)|0,aa|0,da|0)|0;T=T+1|0;U=f[k>>2]|0}while(T>>>0<(((f[r>>2]|0)-U|0)/20|0)>>>0)}while(0);f[A>>2]=(f[A>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;O=O+1|0;if((O|0)==(N|0)){R=19;break}}}else{if(N>>>0>=3){if((f[w>>2]|0)>>>0>(f[t>>2]|0)>>>0){D=0;break a}O=Q+1|0;Df(K+(O*12|0)|0,f[P>>2]|0,f[K+(Q*12|0)+4>>2]|0);S=(f[(f[m>>2]|0)+(O*12|0)>>2]|0)+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<>2]|0;T=32-U|0;if((S|0)>(T|0)){da=f[p>>2]|0;ba=da+4|0;if((ba|0)==(f[E>>2]|0))fa=0;else{_=f[da>>2]<>2]=da;f[p>>2]=ba;ca=32-da|0;fa=(f[ba>>2]|0)>>>ca|_>>>(ca-T|0)}}else{T=f[p>>2]|0;if((T|0)!=(f[E>>2]|0)){ca=f[T>>2]<>>(32-S|0);_=U+S|0;f[o>>2]=_;if((_|0)==32){f[p>>2]=T+4;f[o>>2]=0;fa=ca}else fa=ca}else fa=0}ca=(N>>>1)-fa|0;T=N-ca|0;d:do if((ca|0)==(T|0)){ga=ca;ha=ca}else{_=f[F>>2]|0;S=f[H>>2]|0;do if((S|0)!=(f[G>>2]|0)){U=(f[S>>2]&1<<31-_|0)!=0;ba=_+1|0;f[F>>2]=ba;if((ba|0)==32){f[H>>2]=S+4;f[F>>2]=0;if(U){ga=ca;ha=T;break d}else break}else if(U){ga=ca;ha=T;break d}else break}while(0);ga=T;ha=ca}while(0);ca=f[v>>2]|0;T=f[ca+(Q*12|0)>>2]|0;S=T+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+1;Df(ca+(O*12|0)|0,T,f[ca+(Q*12|0)+4>>2]|0);if(ga|0){ca=f[q>>2]|0;T=f[y>>2]|0;S=ca-T|0;_=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((S|0)==0?0:((S>>2)*341|0)+-1|0)|0)==(_|0)){cc(g);ia=(f[B>>2]|0)+(f[z>>2]|0)|0;ja=f[q>>2]|0;ka=f[y>>2]|0}else{ia=_;ja=ca;ka=T}if((ja|0)==(ka|0))la=0;else{T=(ia>>>0)/341|0;la=(f[ka+(T<<2)>>2]|0)+((ia-(T*341|0)|0)*12|0)|0}f[la>>2]=ga;f[la+4>>2]=M;f[la+8>>2]=Q;f[z>>2]=(f[z>>2]|0)+1}if(!ha){R=19;break}T=f[q>>2]|0;ca=f[y>>2]|0;_=T-ca|0;S=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((_|0)==0?0:((_>>2)*341|0)+-1|0)|0)==(S|0)){cc(g);ma=(f[B>>2]|0)+(f[z>>2]|0)|0;na=f[q>>2]|0;oa=f[y>>2]|0}else{ma=S;na=T;oa=ca}if((na|0)==(oa|0))pa=0;else{ca=(ma>>>0)/341|0;pa=(f[oa+(ca<<2)>>2]|0)+((ma-(ca*341|0)|0)*12|0)|0}f[pa>>2]=ha;f[pa+4>>2]=M;f[pa+8>>2]=O;ca=(f[z>>2]|0)+1|0;f[z>>2]=ca;qa=ca;break}ca=f[x>>2]|0;f[ca>>2]=M;T=f[h>>2]|0;if(T>>>0>1){S=1;_=T;U=M;while(1){U=(U|0)==(_+-1|0)?0:U+1|0;f[ca+(S<<2)>>2]=U;S=S+1|0;ba=f[h>>2]|0;if(S>>>0>=ba>>>0){ra=ba;break}else _=ba}}else ra=T;if(!N)R=19;else{_=0;S=ra;while(1){if(S|0){U=f[x>>2]|0;ca=f[n>>2]|0;O=f[J>>2]|0;ba=0;do{da=U+(ba<<2)|0;f[ca+(f[da>>2]<<2)>>2]=0;Y=f[da>>2]|0;$=(f[a>>2]|0)-(f[O+(Y<<2)>>2]|0)|0;do if($|0){V=ca+(Y<<2)|0;sa=f[j>>2]|0;ta=32-sa|0;if(($|0)>(ta|0)){ua=f[i>>2]|0;va=ua+4|0;if((va|0)==(f[l>>2]|0)){f[V>>2]=0;break}else{wa=f[ua>>2]<>2]=ua;f[i>>2]=va;xa=32-ua|0;f[V>>2]=(f[va>>2]|0)>>>xa|wa>>>(xa-ta|0);break}}ta=f[i>>2]|0;if((ta|0)==(f[l>>2]|0)){f[V>>2]=0;break}f[V>>2]=f[ta>>2]<>>(32-$|0);sa=(f[j>>2]|0)+$|0;f[j>>2]=sa;if((sa|0)!=32)break;f[i>>2]=ta+4;f[j>>2]=0}while(0);$=f[da>>2]|0;Y=ca+($<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[P>>2]|0)+($<<2)>>2];ba=ba+1|0}while(ba>>>0<(f[h>>2]|0)>>>0)}ba=f[k>>2]|0;e:do if((f[r>>2]|0)!=(ba|0)){ca=0;O=ba;do{U=O;$=f[U+(ca*20|0)>>2]|0;Y=U+(ca*20|0)+12|0;ta=U+(ca*20|0)+16|0;sa=(f[n>>2]|0)+(f[U+(ca*20|0)+4>>2]<<2)|0;U=f[Y>>2]|0;if((U|0)==4)ya=sa;else{if(f[ta>>2]|0){V=f[s>>2]|0;xa=0;wa=U;while(1){Bf(V|0,sa+(xa<<2)|0,wa|0)|0;xa=xa+1|0;U=f[Y>>2]|0;if(xa>>>0>=(f[ta>>2]|0)>>>0)break;else{V=V+U|0;wa=U}}}ya=f[s>>2]|0}wa=f[A>>2]|0;if(!(b[$+84>>0]|0))za=f[(f[$+68>>2]|0)+(wa<<2)>>2]|0;else za=wa;if(za>>>0>=(f[$+80>>2]|0)>>>0)break e;wa=f[$+40>>2]|0;Bf((f[f[$+64>>2]>>2]|0)+(W(za,wa)|0)|0,ya|0,wa|0)|0;ca=ca+1|0;O=f[k>>2]|0}while(ca>>>0<(((f[r>>2]|0)-O|0)/20|0)>>>0)}while(0);f[A>>2]=(f[A>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;ba=_+1|0;if((ba|0)==(N|0)){R=19;break b}_=ba;S=f[h>>2]|0}}}while(0);if((R|0)==19){R=0;qa=f[z>>2]|0}if(!qa){D=1;break}else I=qa}}while(0);qa=f[y>>2]|0;h=f[B>>2]|0;ya=(h>>>0)/341|0;za=qa+(ya<<2)|0;a=f[q>>2]|0;ra=a;pa=qa;if((a|0)!=(qa|0)?(ha=(f[za>>2]|0)+((h-(ya*341|0)|0)*12|0)|0,ya=(f[z>>2]|0)+h|0,h=(ya>>>0)/341|0,ma=(f[qa+(h<<2)>>2]|0)+((ya-(h*341|0)|0)*12|0)|0,(ma|0)!=(ha|0)):0){h=za;za=ha;while(1){ha=za+12|0;if((ha-(f[h>>2]|0)|0)==4092){ya=h+4|0;Aa=ya;Ba=f[ya>>2]|0}else{Aa=h;Ba=ha}za=Ba;if((ma|0)==(za|0))break;else h=Aa}}f[z>>2]=0;z=ra-pa>>2;if(z>>>0>2){pa=qa;do{Ko(f[pa>>2]|0);pa=(f[y>>2]|0)+4|0;f[y>>2]=pa;Ca=f[q>>2]|0;Da=Ca-pa>>2}while(Da>>>0>2);Ea=Da;Fa=pa;Ga=Ca}else{Ea=z;Fa=qa;Ga=a}switch(Ea|0){case 1:{Ha=170;R=108;break}case 2:{Ha=341;R=108;break}default:{}}if((R|0)==108)f[B>>2]=Ha;if((Fa|0)!=(Ga|0)){Ha=Fa;do{Ko(f[Ha>>2]|0);Ha=Ha+4|0}while((Ha|0)!=(Ga|0));Ga=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(Ga|0))f[q>>2]=y+(~((y+-4-Ga|0)>>>2)<<2)}Ga=f[g>>2]|0;if(!Ga){u=e;return D|0}Ko(Ga);u=e;return D|0}function db(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;k=g+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(g);else{l=i<<2;m=wk(l)|0;f[g>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+628|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[g>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[g>>2]=0;k=g+4|0;f[k>>2]=0;q=g+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(g);else{t=v<<2;r=wk(t)|0;f[g>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+640|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[g>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=c;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=d+16|0;r=d+20|0;A=d+28|0;w=a+8|0;s=d+12|0;x=a+616|0;t=a+4|0;n=a+604|0;j=a+560|0;i=a+556|0;l=a+548|0;o=a+600|0;p=a+588|0;E=a+596|0;F=C;while(1){G=f[B>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=(I>>>0)/341|0;L=f[J+(K<<2)>>2]|0;M=I-(K*341|0)|0;K=f[L+(M*12|0)>>2]|0;I=f[L+(M*12|0)+4>>2]|0;N=f[L+(M*12|0)+8>>2]|0;f[z>>2]=H;H=f[q>>2]|0;M=H-J|0;if((1-F-G+((M|0)==0?0:((M>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[H+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}H=f[m>>2]|0;M=H+(N*12|0)|0;G=(f[v>>2]|0)+(N*12|0)|0;if(K>>>0>c>>>0){D=0;break a}J=tg(a,K,G,I)|0;if(J>>>0>=(f[h>>2]|0)>>>0){D=0;break a}I=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!I)if(!K)O=19;else{L=0;while(1){P=f[k>>2]|0;c:do if((f[r>>2]|0)!=(P|0)){Q=0;R=P;do{S=R;T=f[S+(Q*20|0)>>2]|0;U=S+(Q*20|0)+12|0;V=S+(Q*20|0)+16|0;X=(f[M>>2]|0)+(f[S+(Q*20|0)+4>>2]<<2)|0;S=f[U>>2]|0;if((S|0)==4)Y=X;else{if(f[V>>2]|0){_=f[s>>2]|0;$=0;aa=S;while(1){Bf(_|0,X+($<<2)|0,aa|0)|0;$=$+1|0;S=f[U>>2]|0;if($>>>0>=(f[V>>2]|0)>>>0)break;else{_=_+S|0;aa=S}}}Y=f[s>>2]|0}aa=f[A>>2]|0;if(!(b[T+84>>0]|0))ba=f[(f[T+68>>2]|0)+(aa<<2)>>2]|0;else ba=aa;if(ba>>>0>=(f[T+80>>2]|0)>>>0)break c;aa=f[T+40>>2]|0;Bf((f[f[T+64>>2]>>2]|0)+(W(ba,aa)|0)|0,Y|0,aa|0)|0;Q=Q+1|0;R=f[k>>2]|0}while(Q>>>0<(((f[r>>2]|0)-R|0)/20|0)>>>0)}while(0);f[A>>2]=(f[A>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;L=L+1|0;if((L|0)==(K|0)){O=19;break}}}else{if(K>>>0>=3){if((f[w>>2]|0)>>>0>(f[t>>2]|0)>>>0){D=0;break a}L=N+1|0;P=f[m>>2]|0;R=P+(L*12|0)|0;if((R|0)==(M|0))ca=P;else{Df(R,f[M>>2]|0,f[H+(N*12|0)+4>>2]|0);ca=f[m>>2]|0}R=(f[ca+(L*12|0)>>2]|0)+(J<<2)|0;f[R>>2]=(f[R>>2]|0)+(1<>>1)-da|0;R=K-Q|0;d:do if((Q|0)==(R|0)){ea=Q;fa=Q}else{P=f[o>>2]|0;aa=f[E>>2]|0;do if((aa|0)!=(f[p>>2]|0)){_=(f[aa>>2]&1<<31-P|0)!=0;V=P+1|0;f[o>>2]=V;if((V|0)==32){f[E>>2]=aa+4;f[o>>2]=0;if(_){ea=Q;fa=R;break d}else break}else if(_){ea=Q;fa=R;break d}else break}while(0);ea=R;fa=Q}while(0);Q=f[v>>2]|0;R=f[Q+(N*12|0)>>2]|0;aa=R+(J<<2)|0;f[aa>>2]=(f[aa>>2]|0)+1;Df(Q+(L*12|0)|0,R,f[Q+(N*12|0)+4>>2]|0);if(ea|0){Q=f[q>>2]|0;R=f[y>>2]|0;aa=Q-R|0;P=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((aa|0)==0?0:((aa>>2)*341|0)+-1|0)|0)==(P|0)){cc(g);ga=(f[B>>2]|0)+(f[z>>2]|0)|0;ha=f[q>>2]|0;ia=f[y>>2]|0}else{ga=P;ha=Q;ia=R}if((ha|0)==(ia|0))ja=0;else{R=(ga>>>0)/341|0;ja=(f[ia+(R<<2)>>2]|0)+((ga-(R*341|0)|0)*12|0)|0}f[ja>>2]=ea;f[ja+4>>2]=J;f[ja+8>>2]=N;f[z>>2]=(f[z>>2]|0)+1}if(!fa){O=19;break}R=f[q>>2]|0;Q=f[y>>2]|0;P=R-Q|0;aa=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((P|0)==0?0:((P>>2)*341|0)+-1|0)|0)==(aa|0)){cc(g);ka=(f[B>>2]|0)+(f[z>>2]|0)|0;la=f[q>>2]|0;ma=f[y>>2]|0}else{ka=aa;la=R;ma=Q}if((la|0)==(ma|0))na=0;else{Q=(ka>>>0)/341|0;na=(f[ma+(Q<<2)>>2]|0)+((ka-(Q*341|0)|0)*12|0)|0}f[na>>2]=fa;f[na+4>>2]=J;f[na+8>>2]=L;Q=(f[z>>2]|0)+1|0;f[z>>2]=Q;oa=Q;break}Q=f[x>>2]|0;f[Q>>2]=J;R=f[h>>2]|0;if(R>>>0>1){aa=1;P=R;_=J;while(1){_=(_|0)==(P+-1|0)?0:_+1|0;f[Q+(aa<<2)>>2]=_;aa=aa+1|0;V=f[h>>2]|0;if(aa>>>0>=V>>>0){pa=V;break}else P=V}}else pa=R;if(!K)O=19;else{P=0;aa=pa;while(1){if(aa|0){_=f[x>>2]|0;Q=f[n>>2]|0;L=f[G>>2]|0;V=0;do{$=_+(V<<2)|0;f[Q+(f[$>>2]<<2)>>2]=0;U=f[$>>2]|0;X=(f[a>>2]|0)-(f[L+(U<<2)>>2]|0)|0;do if(X|0){S=Q+(U<<2)|0;qa=f[j>>2]|0;ra=32-qa|0;if((X|0)>(ra|0)){sa=f[i>>2]|0;ta=sa+4|0;if((ta|0)==(f[l>>2]|0)){f[S>>2]=0;break}else{ua=f[sa>>2]<>2]=sa;f[i>>2]=ta;va=32-sa|0;f[S>>2]=(f[ta>>2]|0)>>>va|ua>>>(va-ra|0);break}}ra=f[i>>2]|0;if((ra|0)==(f[l>>2]|0)){f[S>>2]=0;break}f[S>>2]=f[ra>>2]<>>(32-X|0);qa=(f[j>>2]|0)+X|0;f[j>>2]=qa;if((qa|0)!=32)break;f[i>>2]=ra+4;f[j>>2]=0}while(0);X=f[$>>2]|0;U=Q+(X<<2)|0;f[U>>2]=f[U>>2]|f[(f[M>>2]|0)+(X<<2)>>2];V=V+1|0}while(V>>>0<(f[h>>2]|0)>>>0)}V=f[k>>2]|0;e:do if((f[r>>2]|0)!=(V|0)){Q=0;L=V;do{_=L;X=f[_+(Q*20|0)>>2]|0;U=_+(Q*20|0)+12|0;ra=_+(Q*20|0)+16|0;qa=(f[n>>2]|0)+(f[_+(Q*20|0)+4>>2]<<2)|0;_=f[U>>2]|0;if((_|0)==4)wa=qa;else{if(f[ra>>2]|0){S=f[s>>2]|0;va=0;ua=_;while(1){Bf(S|0,qa+(va<<2)|0,ua|0)|0;va=va+1|0;_=f[U>>2]|0;if(va>>>0>=(f[ra>>2]|0)>>>0)break;else{S=S+_|0;ua=_}}}wa=f[s>>2]|0}ua=f[A>>2]|0;if(!(b[X+84>>0]|0))xa=f[(f[X+68>>2]|0)+(ua<<2)>>2]|0;else xa=ua;if(xa>>>0>=(f[X+80>>2]|0)>>>0)break e;ua=f[X+40>>2]|0;Bf((f[f[X+64>>2]>>2]|0)+(W(xa,ua)|0)|0,wa|0,ua|0)|0;Q=Q+1|0;L=f[k>>2]|0}while(Q>>>0<(((f[r>>2]|0)-L|0)/20|0)>>>0)}while(0);f[A>>2]=(f[A>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;V=P+1|0;if((V|0)==(K|0)){O=19;break b}P=V;aa=f[h>>2]|0}}}while(0);if((O|0)==19){O=0;oa=f[z>>2]|0}if(!oa){D=1;break}else F=oa}}while(0);oa=f[y>>2]|0;h=f[B>>2]|0;wa=(h>>>0)/341|0;xa=oa+(wa<<2)|0;a=f[q>>2]|0;pa=a;na=oa;if((a|0)!=(oa|0)?(fa=(f[xa>>2]|0)+((h-(wa*341|0)|0)*12|0)|0,wa=(f[z>>2]|0)+h|0,h=(wa>>>0)/341|0,ka=(f[oa+(h<<2)>>2]|0)+((wa-(h*341|0)|0)*12|0)|0,(ka|0)!=(fa|0)):0){h=xa;xa=fa;while(1){fa=xa+12|0;if((fa-(f[h>>2]|0)|0)==4092){wa=h+4|0;ya=wa;za=f[wa>>2]|0}else{ya=h;za=fa}xa=za;if((ka|0)==(xa|0))break;else h=ya}}f[z>>2]=0;z=pa-na>>2;if(z>>>0>2){na=oa;do{Ko(f[na>>2]|0);na=(f[y>>2]|0)+4|0;f[y>>2]=na;Aa=f[q>>2]|0;Ba=Aa-na>>2}while(Ba>>>0>2);Ca=Ba;Da=na;Ea=Aa}else{Ca=z;Da=oa;Ea=a}switch(Ca|0){case 1:{Fa=170;O=107;break}case 2:{Fa=341;O=107;break}default:{}}if((O|0)==107)f[B>>2]=Fa;if((Da|0)!=(Ea|0)){Fa=Da;do{Ko(f[Fa>>2]|0);Fa=Fa+4|0}while((Fa|0)!=(Ea|0));Ea=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(Ea|0))f[q>>2]=y+(~((y+-4-Ea|0)>>>2)<<2)}Ea=f[g>>2]|0;if(!Ea){u=e;return D|0}Ko(Ea);u=e;return D|0}function eb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;k=g+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(g);else{l=i<<2;m=wk(l)|0;f[g>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+628|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[g>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[g>>2]=0;k=g+4|0;f[k>>2]=0;q=g+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(g);else{t=v<<2;r=wk(t)|0;f[g>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+640|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[g>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=c;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=d+16|0;r=d+20|0;A=d+28|0;w=a+8|0;s=d+12|0;x=a+616|0;t=a+4|0;n=a+604|0;j=a+560|0;i=a+556|0;l=a+548|0;o=a+600|0;p=a+588|0;E=a+596|0;F=C;while(1){G=f[B>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=(I>>>0)/341|0;L=f[J+(K<<2)>>2]|0;M=I-(K*341|0)|0;K=f[L+(M*12|0)>>2]|0;I=f[L+(M*12|0)+4>>2]|0;N=f[L+(M*12|0)+8>>2]|0;f[z>>2]=H;H=f[q>>2]|0;M=H-J|0;if((1-F-G+((M|0)==0?0:((M>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[H+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}H=f[m>>2]|0;M=H+(N*12|0)|0;G=(f[v>>2]|0)+(N*12|0)|0;if(K>>>0>c>>>0){D=0;break a}J=Pk(a,K,G,I)|0;if(J>>>0>=(f[h>>2]|0)>>>0){D=0;break a}I=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!I)if(!K)O=19;else{L=0;while(1){P=f[k>>2]|0;c:do if((f[r>>2]|0)!=(P|0)){Q=0;R=P;do{S=R;T=f[S+(Q*20|0)>>2]|0;U=S+(Q*20|0)+12|0;V=S+(Q*20|0)+16|0;X=(f[M>>2]|0)+(f[S+(Q*20|0)+4>>2]<<2)|0;S=f[U>>2]|0;if((S|0)==4)Y=X;else{if(f[V>>2]|0){_=f[s>>2]|0;$=0;aa=S;while(1){Bf(_|0,X+($<<2)|0,aa|0)|0;$=$+1|0;S=f[U>>2]|0;if($>>>0>=(f[V>>2]|0)>>>0)break;else{_=_+S|0;aa=S}}}Y=f[s>>2]|0}aa=f[A>>2]|0;if(!(b[T+84>>0]|0))ba=f[(f[T+68>>2]|0)+(aa<<2)>>2]|0;else ba=aa;if(ba>>>0>=(f[T+80>>2]|0)>>>0)break c;aa=f[T+40>>2]|0;Bf((f[f[T+64>>2]>>2]|0)+(W(ba,aa)|0)|0,Y|0,aa|0)|0;Q=Q+1|0;R=f[k>>2]|0}while(Q>>>0<(((f[r>>2]|0)-R|0)/20|0)>>>0)}while(0);f[A>>2]=(f[A>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;L=L+1|0;if((L|0)==(K|0)){O=19;break}}}else{if(K>>>0>=3){if((f[w>>2]|0)>>>0>(f[t>>2]|0)>>>0){D=0;break a}L=N+1|0;P=f[m>>2]|0;R=P+(L*12|0)|0;if((R|0)==(M|0))ca=P;else{Df(R,f[M>>2]|0,f[H+(N*12|0)+4>>2]|0);ca=f[m>>2]|0}R=(f[ca+(L*12|0)>>2]|0)+(J<<2)|0;f[R>>2]=(f[R>>2]|0)+(1<>>1)-da|0;R=K-Q|0;d:do if((Q|0)==(R|0)){ea=Q;fa=Q}else{P=f[o>>2]|0;aa=f[E>>2]|0;do if((aa|0)!=(f[p>>2]|0)){_=(f[aa>>2]&1<<31-P|0)!=0;V=P+1|0;f[o>>2]=V;if((V|0)==32){f[E>>2]=aa+4;f[o>>2]=0;if(_){ea=Q;fa=R;break d}else break}else if(_){ea=Q;fa=R;break d}else break}while(0);ea=R;fa=Q}while(0);Q=f[v>>2]|0;R=f[Q+(N*12|0)>>2]|0;aa=R+(J<<2)|0;f[aa>>2]=(f[aa>>2]|0)+1;Df(Q+(L*12|0)|0,R,f[Q+(N*12|0)+4>>2]|0);if(ea|0){Q=f[q>>2]|0;R=f[y>>2]|0;aa=Q-R|0;P=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((aa|0)==0?0:((aa>>2)*341|0)+-1|0)|0)==(P|0)){cc(g);ga=(f[B>>2]|0)+(f[z>>2]|0)|0;ha=f[q>>2]|0;ia=f[y>>2]|0}else{ga=P;ha=Q;ia=R}if((ha|0)==(ia|0))ja=0;else{R=(ga>>>0)/341|0;ja=(f[ia+(R<<2)>>2]|0)+((ga-(R*341|0)|0)*12|0)|0}f[ja>>2]=ea;f[ja+4>>2]=J;f[ja+8>>2]=N;f[z>>2]=(f[z>>2]|0)+1}if(!fa){O=19;break}R=f[q>>2]|0;Q=f[y>>2]|0;P=R-Q|0;aa=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((P|0)==0?0:((P>>2)*341|0)+-1|0)|0)==(aa|0)){cc(g);ka=(f[B>>2]|0)+(f[z>>2]|0)|0;la=f[q>>2]|0;ma=f[y>>2]|0}else{ka=aa;la=R;ma=Q}if((la|0)==(ma|0))na=0;else{Q=(ka>>>0)/341|0;na=(f[ma+(Q<<2)>>2]|0)+((ka-(Q*341|0)|0)*12|0)|0}f[na>>2]=fa;f[na+4>>2]=J;f[na+8>>2]=L;Q=(f[z>>2]|0)+1|0;f[z>>2]=Q;oa=Q;break}Q=f[x>>2]|0;f[Q>>2]=J;R=f[h>>2]|0;if(R>>>0>1){aa=1;P=R;_=J;while(1){_=(_|0)==(P+-1|0)?0:_+1|0;f[Q+(aa<<2)>>2]=_;aa=aa+1|0;V=f[h>>2]|0;if(aa>>>0>=V>>>0){pa=V;break}else P=V}}else pa=R;if(!K)O=19;else{P=0;aa=pa;while(1){if(aa|0){_=f[x>>2]|0;Q=f[n>>2]|0;L=f[G>>2]|0;V=0;do{$=_+(V<<2)|0;f[Q+(f[$>>2]<<2)>>2]=0;U=f[$>>2]|0;X=(f[a>>2]|0)-(f[L+(U<<2)>>2]|0)|0;do if(X|0){S=Q+(U<<2)|0;qa=f[j>>2]|0;ra=32-qa|0;if((X|0)>(ra|0)){sa=f[i>>2]|0;ta=sa+4|0;if((ta|0)==(f[l>>2]|0)){f[S>>2]=0;break}else{ua=f[sa>>2]<>2]=sa;f[i>>2]=ta;va=32-sa|0;f[S>>2]=(f[ta>>2]|0)>>>va|ua>>>(va-ra|0);break}}ra=f[i>>2]|0;if((ra|0)==(f[l>>2]|0)){f[S>>2]=0;break}f[S>>2]=f[ra>>2]<>>(32-X|0);qa=(f[j>>2]|0)+X|0;f[j>>2]=qa;if((qa|0)!=32)break;f[i>>2]=ra+4;f[j>>2]=0}while(0);X=f[$>>2]|0;U=Q+(X<<2)|0;f[U>>2]=f[U>>2]|f[(f[M>>2]|0)+(X<<2)>>2];V=V+1|0}while(V>>>0<(f[h>>2]|0)>>>0)}V=f[k>>2]|0;e:do if((f[r>>2]|0)!=(V|0)){Q=0;L=V;do{_=L;X=f[_+(Q*20|0)>>2]|0;U=_+(Q*20|0)+12|0;ra=_+(Q*20|0)+16|0;qa=(f[n>>2]|0)+(f[_+(Q*20|0)+4>>2]<<2)|0;_=f[U>>2]|0;if((_|0)==4)wa=qa;else{if(f[ra>>2]|0){S=f[s>>2]|0;va=0;ua=_;while(1){Bf(S|0,qa+(va<<2)|0,ua|0)|0;va=va+1|0;_=f[U>>2]|0;if(va>>>0>=(f[ra>>2]|0)>>>0)break;else{S=S+_|0;ua=_}}}wa=f[s>>2]|0}ua=f[A>>2]|0;if(!(b[X+84>>0]|0))xa=f[(f[X+68>>2]|0)+(ua<<2)>>2]|0;else xa=ua;if(xa>>>0>=(f[X+80>>2]|0)>>>0)break e;ua=f[X+40>>2]|0;Bf((f[f[X+64>>2]>>2]|0)+(W(xa,ua)|0)|0,wa|0,ua|0)|0;Q=Q+1|0;L=f[k>>2]|0}while(Q>>>0<(((f[r>>2]|0)-L|0)/20|0)>>>0)}while(0);f[A>>2]=(f[A>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;V=P+1|0;if((V|0)==(K|0)){O=19;break b}P=V;aa=f[h>>2]|0}}}while(0);if((O|0)==19){O=0;oa=f[z>>2]|0}if(!oa){D=1;break}else F=oa}}while(0);oa=f[y>>2]|0;h=f[B>>2]|0;wa=(h>>>0)/341|0;xa=oa+(wa<<2)|0;a=f[q>>2]|0;pa=a;na=oa;if((a|0)!=(oa|0)?(fa=(f[xa>>2]|0)+((h-(wa*341|0)|0)*12|0)|0,wa=(f[z>>2]|0)+h|0,h=(wa>>>0)/341|0,ka=(f[oa+(h<<2)>>2]|0)+((wa-(h*341|0)|0)*12|0)|0,(ka|0)!=(fa|0)):0){h=xa;xa=fa;while(1){fa=xa+12|0;if((fa-(f[h>>2]|0)|0)==4092){wa=h+4|0;ya=wa;za=f[wa>>2]|0}else{ya=h;za=fa}xa=za;if((ka|0)==(xa|0))break;else h=ya}}f[z>>2]=0;z=pa-na>>2;if(z>>>0>2){na=oa;do{Ko(f[na>>2]|0);na=(f[y>>2]|0)+4|0;f[y>>2]=na;Aa=f[q>>2]|0;Ba=Aa-na>>2}while(Ba>>>0>2);Ca=Ba;Da=na;Ea=Aa}else{Ca=z;Da=oa;Ea=a}switch(Ca|0){case 1:{Fa=170;O=107;break}case 2:{Fa=341;O=107;break}default:{}}if((O|0)==107)f[B>>2]=Fa;if((Da|0)!=(Ea|0)){Fa=Da;do{Ko(f[Fa>>2]|0);Fa=Fa+4|0}while((Fa|0)!=(Ea|0));Ea=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(Ea|0))f[q>>2]=y+(~((y+-4-Ea|0)>>>2)<<2)}Ea=f[g>>2]|0;if(!Ea){u=e;return D|0}Ko(Ea);u=e;return D|0}function fb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;e=u;u=u+32|0;g=e;h=a+12|0;i=f[h>>2]|0;f[g>>2]=0;j=g+4|0;f[j>>2]=0;k=g+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(g);else{l=i<<2;m=wk(l)|0;f[g>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+628|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[g>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[g>>2]=0;k=g+4|0;f[k>>2]=0;q=g+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(g);else{t=v<<2;r=wk(t)|0;f[g>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+640|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[g>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=c;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=d+16|0;r=d+20|0;A=d+28|0;w=a+8|0;s=d+12|0;x=a+616|0;t=a+4|0;n=a+604|0;j=a+560|0;i=a+556|0;l=a+548|0;o=a+600|0;p=a+588|0;E=a+596|0;F=C;while(1){G=f[B>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=(I>>>0)/341|0;L=f[J+(K<<2)>>2]|0;M=I-(K*341|0)|0;K=f[L+(M*12|0)>>2]|0;I=f[L+(M*12|0)+4>>2]|0;N=f[L+(M*12|0)+8>>2]|0;f[z>>2]=H;H=f[q>>2]|0;M=H-J|0;if((1-F-G+((M|0)==0?0:((M>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[H+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}H=f[m>>2]|0;M=H+(N*12|0)|0;if(K>>>0>c>>>0){D=0;break a}G=f[h>>2]|0;J=(G+-1|0)==(I|0)?0:I+1|0;if(J>>>0>=G>>>0){D=0;break a}G=(f[v>>2]|0)+(N*12|0)|0;I=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!I)if(!K)O=19;else{L=0;while(1){P=f[k>>2]|0;c:do if((f[r>>2]|0)!=(P|0)){Q=0;R=P;do{S=R;T=f[S+(Q*20|0)>>2]|0;U=S+(Q*20|0)+12|0;V=S+(Q*20|0)+16|0;X=(f[M>>2]|0)+(f[S+(Q*20|0)+4>>2]<<2)|0;S=f[U>>2]|0;if((S|0)==4)Y=X;else{if(f[V>>2]|0){_=f[s>>2]|0;$=0;aa=S;while(1){Bf(_|0,X+($<<2)|0,aa|0)|0;$=$+1|0;S=f[U>>2]|0;if($>>>0>=(f[V>>2]|0)>>>0)break;else{_=_+S|0;aa=S}}}Y=f[s>>2]|0}aa=f[A>>2]|0;if(!(b[T+84>>0]|0))ba=f[(f[T+68>>2]|0)+(aa<<2)>>2]|0;else ba=aa;if(ba>>>0>=(f[T+80>>2]|0)>>>0)break c;aa=f[T+40>>2]|0;Bf((f[f[T+64>>2]>>2]|0)+(W(ba,aa)|0)|0,Y|0,aa|0)|0;Q=Q+1|0;R=f[k>>2]|0}while(Q>>>0<(((f[r>>2]|0)-R|0)/20|0)>>>0)}while(0);f[A>>2]=(f[A>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;L=L+1|0;if((L|0)==(K|0)){O=19;break}}}else{if(K>>>0>=3){if((f[w>>2]|0)>>>0>(f[t>>2]|0)>>>0){D=0;break a}L=N+1|0;Df(H+(L*12|0)|0,f[M>>2]|0,f[H+(N*12|0)+4>>2]|0);P=(f[(f[m>>2]|0)+(L*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>>1)-ca|0;P=K-Q|0;d:do if((Q|0)==(P|0)){da=Q;ea=Q}else{R=f[o>>2]|0;aa=f[E>>2]|0;do if((aa|0)!=(f[p>>2]|0)){_=(f[aa>>2]&1<<31-R|0)!=0;V=R+1|0;f[o>>2]=V;if((V|0)==32){f[E>>2]=aa+4;f[o>>2]=0;if(_){da=Q;ea=P;break d}else break}else if(_){da=Q;ea=P;break d}else break}while(0);da=P;ea=Q}while(0);Q=f[v>>2]|0;P=f[Q+(N*12|0)>>2]|0;aa=P+(J<<2)|0;f[aa>>2]=(f[aa>>2]|0)+1;Df(Q+(L*12|0)|0,P,f[Q+(N*12|0)+4>>2]|0);if(da|0){Q=f[q>>2]|0;P=f[y>>2]|0;aa=Q-P|0;R=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((aa|0)==0?0:((aa>>2)*341|0)+-1|0)|0)==(R|0)){cc(g);fa=(f[B>>2]|0)+(f[z>>2]|0)|0;ga=f[q>>2]|0;ha=f[y>>2]|0}else{fa=R;ga=Q;ha=P}if((ga|0)==(ha|0))ia=0;else{P=(fa>>>0)/341|0;ia=(f[ha+(P<<2)>>2]|0)+((fa-(P*341|0)|0)*12|0)|0}f[ia>>2]=da;f[ia+4>>2]=J;f[ia+8>>2]=N;f[z>>2]=(f[z>>2]|0)+1}if(!ea){O=19;break}P=f[q>>2]|0;Q=f[y>>2]|0;R=P-Q|0;aa=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((R|0)==0?0:((R>>2)*341|0)+-1|0)|0)==(aa|0)){cc(g);ja=(f[B>>2]|0)+(f[z>>2]|0)|0;ka=f[q>>2]|0;la=f[y>>2]|0}else{ja=aa;ka=P;la=Q}if((ka|0)==(la|0))ma=0;else{Q=(ja>>>0)/341|0;ma=(f[la+(Q<<2)>>2]|0)+((ja-(Q*341|0)|0)*12|0)|0}f[ma>>2]=ea;f[ma+4>>2]=J;f[ma+8>>2]=L;Q=(f[z>>2]|0)+1|0;f[z>>2]=Q;na=Q;break}Q=f[x>>2]|0;f[Q>>2]=J;P=f[h>>2]|0;if(P>>>0>1){aa=1;R=P;_=J;while(1){_=(_|0)==(R+-1|0)?0:_+1|0;f[Q+(aa<<2)>>2]=_;aa=aa+1|0;V=f[h>>2]|0;if(aa>>>0>=V>>>0){oa=V;break}else R=V}}else oa=P;if(!K)O=19;else{R=0;aa=oa;while(1){if(aa|0){_=f[x>>2]|0;Q=f[n>>2]|0;L=f[G>>2]|0;V=0;do{$=_+(V<<2)|0;f[Q+(f[$>>2]<<2)>>2]=0;U=f[$>>2]|0;X=(f[a>>2]|0)-(f[L+(U<<2)>>2]|0)|0;do if(X|0){S=Q+(U<<2)|0;pa=f[j>>2]|0;qa=32-pa|0;if((X|0)>(qa|0)){ra=f[i>>2]|0;sa=ra+4|0;if((sa|0)==(f[l>>2]|0)){f[S>>2]=0;break}else{ta=f[ra>>2]<>2]=ra;f[i>>2]=sa;ua=32-ra|0;f[S>>2]=(f[sa>>2]|0)>>>ua|ta>>>(ua-qa|0);break}}qa=f[i>>2]|0;if((qa|0)==(f[l>>2]|0)){f[S>>2]=0;break}f[S>>2]=f[qa>>2]<>>(32-X|0);pa=(f[j>>2]|0)+X|0;f[j>>2]=pa;if((pa|0)!=32)break;f[i>>2]=qa+4;f[j>>2]=0}while(0);X=f[$>>2]|0;U=Q+(X<<2)|0;f[U>>2]=f[U>>2]|f[(f[M>>2]|0)+(X<<2)>>2];V=V+1|0}while(V>>>0<(f[h>>2]|0)>>>0)}V=f[k>>2]|0;e:do if((f[r>>2]|0)!=(V|0)){Q=0;L=V;do{_=L;X=f[_+(Q*20|0)>>2]|0;U=_+(Q*20|0)+12|0;qa=_+(Q*20|0)+16|0;pa=(f[n>>2]|0)+(f[_+(Q*20|0)+4>>2]<<2)|0;_=f[U>>2]|0;if((_|0)==4)va=pa;else{if(f[qa>>2]|0){S=f[s>>2]|0;ua=0;ta=_;while(1){Bf(S|0,pa+(ua<<2)|0,ta|0)|0;ua=ua+1|0;_=f[U>>2]|0;if(ua>>>0>=(f[qa>>2]|0)>>>0)break;else{S=S+_|0;ta=_}}}va=f[s>>2]|0}ta=f[A>>2]|0;if(!(b[X+84>>0]|0))wa=f[(f[X+68>>2]|0)+(ta<<2)>>2]|0;else wa=ta;if(wa>>>0>=(f[X+80>>2]|0)>>>0)break e;ta=f[X+40>>2]|0;Bf((f[f[X+64>>2]>>2]|0)+(W(wa,ta)|0)|0,va|0,ta|0)|0;Q=Q+1|0;L=f[k>>2]|0}while(Q>>>0<(((f[r>>2]|0)-L|0)/20|0)>>>0)}while(0);f[A>>2]=(f[A>>2]|0)+1;f[w>>2]=(f[w>>2]|0)+1;V=R+1|0;if((V|0)==(K|0)){O=19;break b}R=V;aa=f[h>>2]|0}}}while(0);if((O|0)==19){O=0;na=f[z>>2]|0}if(!na){D=1;break}else F=na}}while(0);na=f[y>>2]|0;h=f[B>>2]|0;va=(h>>>0)/341|0;wa=na+(va<<2)|0;a=f[q>>2]|0;oa=a;ma=na;if((a|0)!=(na|0)?(ea=(f[wa>>2]|0)+((h-(va*341|0)|0)*12|0)|0,va=(f[z>>2]|0)+h|0,h=(va>>>0)/341|0,ja=(f[na+(h<<2)>>2]|0)+((va-(h*341|0)|0)*12|0)|0,(ja|0)!=(ea|0)):0){h=wa;wa=ea;while(1){ea=wa+12|0;if((ea-(f[h>>2]|0)|0)==4092){va=h+4|0;xa=va;ya=f[va>>2]|0}else{xa=h;ya=ea}wa=ya;if((ja|0)==(wa|0))break;else h=xa}}f[z>>2]=0;z=oa-ma>>2;if(z>>>0>2){ma=na;do{Ko(f[ma>>2]|0);ma=(f[y>>2]|0)+4|0;f[y>>2]=ma;za=f[q>>2]|0;Aa=za-ma>>2}while(Aa>>>0>2);Ba=Aa;Ca=ma;Da=za}else{Ba=z;Ca=na;Da=a}switch(Ba|0){case 1:{Ea=170;O=105;break}case 2:{Ea=341;O=105;break}default:{}}if((O|0)==105)f[B>>2]=Ea;if((Ca|0)!=(Da|0)){Ea=Ca;do{Ko(f[Ea>>2]|0);Ea=Ea+4|0}while((Ea|0)!=(Da|0));Da=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(Da|0))f[q>>2]=y+(~((y+-4-Da|0)>>>2)<<2)}Da=f[g>>2]|0;if(!Da){u=e;return D|0}Ko(Da);u=e;return D|0}function gb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0;e=u;u=u+32|0;g=e+8|0;h=e;i=a+12|0;j=f[i>>2]|0;f[g>>2]=0;k=g+4|0;f[k>>2]=0;l=g+8|0;f[l>>2]=0;do if(j)if(j>>>0>1073741823)$n(g);else{m=j<<2;n=wk(m)|0;f[g>>2]=n;o=n+(j<<2)|0;f[l>>2]=o;oh(n|0,0,m|0)|0;f[k>>2]=o;p=o;q=n;break}else{p=0;q=0}while(0);n=a+116|0;o=f[n>>2]|0;m=f[o>>2]|0;if(!m){r=o+8|0;s=o+4|0;t=q;v=p;w=j}else{j=o+4|0;f[j>>2]=m;Ko(m);m=o+8|0;f[m>>2]=0;f[j>>2]=0;f[o>>2]=0;r=m;s=j;t=f[g>>2]|0;v=f[k>>2]|0;w=f[i>>2]|0}f[o>>2]=t;f[s>>2]=v;f[r>>2]=f[l>>2];f[g>>2]=0;l=g+4|0;f[l>>2]=0;r=g+8|0;f[r>>2]=0;do if(w)if(w>>>0>1073741823)$n(g);else{v=w<<2;s=wk(v)|0;f[g>>2]=s;t=s+(w<<2)|0;f[r>>2]=t;oh(s|0,0,v|0)|0;f[l>>2]=t;x=t;y=s;break}else{x=0;y=0}while(0);w=a+128|0;s=f[w>>2]|0;t=f[s>>2]|0;if(!t){z=s+8|0;A=s+4|0;B=y;C=x}else{x=s+4|0;f[x>>2]=t;Ko(t);t=s+8|0;f[t>>2]=0;f[x>>2]=0;f[s>>2]=0;z=t;A=x;B=f[g>>2]|0;C=f[l>>2]|0}f[s>>2]=B;f[A>>2]=C;f[z>>2]=f[r>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;r=g+8|0;z=g+4|0;C=g+16|0;A=g+20|0;cc(g);B=f[z>>2]|0;s=(f[C>>2]|0)+(f[A>>2]|0)|0;if((f[r>>2]|0)==(B|0))D=0;else{l=(s>>>0)/341|0;D=(f[B+(l<<2)>>2]|0)+((s-(l*341|0)|0)*12|0)|0}f[D>>2]=c;f[D+4>>2]=0;f[D+8>>2]=0;D=(f[A>>2]|0)+1|0;f[A>>2]=D;a:do if(!D)E=1;else{l=d+16|0;s=d+20|0;B=d+28|0;x=a+8|0;t=d+12|0;y=a+104|0;v=a+4|0;o=a+92|0;k=a+48|0;j=a+44|0;m=a+36|0;p=a+16|0;q=a+88|0;F=a+76|0;G=a+84|0;H=D;while(1){I=f[C>>2]|0;J=H+-1|0;K=I+J|0;L=f[z>>2]|0;M=(K>>>0)/341|0;N=f[L+(M<<2)>>2]|0;O=K-(M*341|0)|0;M=f[N+(O*12|0)>>2]|0;K=f[N+(O*12|0)+4>>2]|0;P=f[N+(O*12|0)+8>>2]|0;f[A>>2]=J;J=f[r>>2]|0;O=J-L|0;if((1-H-I+((O|0)==0?0:((O>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[J+-4>>2]|0);f[r>>2]=(f[r>>2]|0)+-4}J=f[n>>2]|0;O=J+(P*12|0)|0;I=(f[w>>2]|0)+(P*12|0)|0;if(M>>>0>c>>>0){E=0;break a}L=Pk(a,M,I,K)|0;if(L>>>0>=(f[i>>2]|0)>>>0){E=0;break a}K=(f[a>>2]|0)-(f[(f[I>>2]|0)+(L<<2)>>2]|0)|0;b:do if(!K){if(M|0){N=0;do{Q=f[l>>2]|0;c:do if((f[s>>2]|0)!=(Q|0)){R=0;S=Q;do{T=S;U=f[T+(R*20|0)>>2]|0;V=T+(R*20|0)+12|0;X=T+(R*20|0)+16|0;Y=(f[O>>2]|0)+(f[T+(R*20|0)+4>>2]<<2)|0;T=f[V>>2]|0;if((T|0)==4)_=Y;else{if(f[X>>2]|0){$=f[t>>2]|0;aa=0;ba=T;while(1){Bf($|0,Y+(aa<<2)|0,ba|0)|0;aa=aa+1|0;T=f[V>>2]|0;if(aa>>>0>=(f[X>>2]|0)>>>0)break;else{$=$+T|0;ba=T}}}_=f[t>>2]|0}ba=f[B>>2]|0;if(!(b[U+84>>0]|0))ca=f[(f[U+68>>2]|0)+(ba<<2)>>2]|0;else ca=ba;if(ca>>>0>=(f[U+80>>2]|0)>>>0)break c;ba=f[U+40>>2]|0;Bf((f[f[U+64>>2]>>2]|0)+(W(ca,ba)|0)|0,_|0,ba|0)|0;R=R+1|0;S=f[l>>2]|0}while(R>>>0<(((f[s>>2]|0)-S|0)/20|0)>>>0)}while(0);f[B>>2]=(f[B>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;N=N+1|0}while((N|0)!=(M|0))}}else{if(M>>>0>=3){if((f[x>>2]|0)>>>0>(f[v>>2]|0)>>>0){E=0;break a}N=P+1|0;Q=f[n>>2]|0;S=Q+(N*12|0)|0;if((S|0)==(O|0))da=Q;else{Df(S,f[O>>2]|0,f[J+(P*12|0)+4>>2]|0);da=f[n>>2]|0}S=(f[da+(N*12|0)>>2]|0)+(L<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<>2]=0;ph(p,S,h);S=(M>>>1)-(f[h>>2]|0)|0;Q=M-S|0;d:do if((S|0)==(Q|0)){ea=S;fa=S}else{R=f[q>>2]|0;ba=f[G>>2]|0;do if((ba|0)!=(f[F>>2]|0)){$=(f[ba>>2]&1<<31-R|0)!=0;X=R+1|0;f[q>>2]=X;if((X|0)==32){f[G>>2]=ba+4;f[q>>2]=0;if($){ea=S;fa=Q;break d}else break}else if($){ea=S;fa=Q;break d}else break}while(0);ea=Q;fa=S}while(0);S=f[w>>2]|0;Q=f[S+(P*12|0)>>2]|0;ba=Q+(L<<2)|0;f[ba>>2]=(f[ba>>2]|0)+1;Df(S+(N*12|0)|0,Q,f[S+(P*12|0)+4>>2]|0);if(ea|0){S=f[r>>2]|0;Q=f[z>>2]|0;ba=S-Q|0;R=(f[A>>2]|0)+(f[C>>2]|0)|0;if((((ba|0)==0?0:((ba>>2)*341|0)+-1|0)|0)==(R|0)){cc(g);ga=(f[C>>2]|0)+(f[A>>2]|0)|0;ha=f[r>>2]|0;ia=f[z>>2]|0}else{ga=R;ha=S;ia=Q}if((ha|0)==(ia|0))ja=0;else{Q=(ga>>>0)/341|0;ja=(f[ia+(Q<<2)>>2]|0)+((ga-(Q*341|0)|0)*12|0)|0}f[ja>>2]=ea;f[ja+4>>2]=L;f[ja+8>>2]=P;f[A>>2]=(f[A>>2]|0)+1}if(fa|0){Q=f[r>>2]|0;S=f[z>>2]|0;R=Q-S|0;ba=(f[A>>2]|0)+(f[C>>2]|0)|0;if((((R|0)==0?0:((R>>2)*341|0)+-1|0)|0)==(ba|0)){cc(g);ka=(f[C>>2]|0)+(f[A>>2]|0)|0;la=f[r>>2]|0;ma=f[z>>2]|0}else{ka=ba;la=Q;ma=S}if((la|0)==(ma|0))na=0;else{S=(ka>>>0)/341|0;na=(f[ma+(S<<2)>>2]|0)+((ka-(S*341|0)|0)*12|0)|0}f[na>>2]=fa;f[na+4>>2]=L;f[na+8>>2]=N;f[A>>2]=(f[A>>2]|0)+1}break}S=f[y>>2]|0;f[S>>2]=L;Q=f[i>>2]|0;if(Q>>>0>1){ba=1;R=Q;$=L;while(1){$=($|0)==(R+-1|0)?0:$+1|0;f[S+(ba<<2)>>2]=$;ba=ba+1|0;X=f[i>>2]|0;if(ba>>>0>=X>>>0){oa=X;break}else R=X}}else oa=Q;if(M|0){R=0;ba=oa;while(1){if(ba|0){$=f[y>>2]|0;S=f[o>>2]|0;N=f[I>>2]|0;X=0;do{aa=$+(X<<2)|0;f[S+(f[aa>>2]<<2)>>2]=0;V=f[aa>>2]|0;Y=(f[a>>2]|0)-(f[N+(V<<2)>>2]|0)|0;do if(Y|0){T=S+(V<<2)|0;pa=f[k>>2]|0;qa=32-pa|0;if((Y|0)>(qa|0)){ra=f[j>>2]|0;sa=ra+4|0;if((sa|0)==(f[m>>2]|0)){f[T>>2]=0;break}else{ta=f[ra>>2]<>2]=ra;f[j>>2]=sa;ua=32-ra|0;f[T>>2]=(f[sa>>2]|0)>>>ua|ta>>>(ua-qa|0);break}}qa=f[j>>2]|0;if((qa|0)==(f[m>>2]|0)){f[T>>2]=0;break}f[T>>2]=f[qa>>2]<>>(32-Y|0);pa=(f[k>>2]|0)+Y|0;f[k>>2]=pa;if((pa|0)!=32)break;f[j>>2]=qa+4;f[k>>2]=0}while(0);Y=f[aa>>2]|0;V=S+(Y<<2)|0;f[V>>2]=f[V>>2]|f[(f[O>>2]|0)+(Y<<2)>>2];X=X+1|0}while(X>>>0<(f[i>>2]|0)>>>0)}X=f[l>>2]|0;e:do if((f[s>>2]|0)!=(X|0)){S=0;N=X;do{$=N;Y=f[$+(S*20|0)>>2]|0;V=$+(S*20|0)+12|0;qa=$+(S*20|0)+16|0;pa=(f[o>>2]|0)+(f[$+(S*20|0)+4>>2]<<2)|0;$=f[V>>2]|0;if(($|0)==4)va=pa;else{if(f[qa>>2]|0){T=f[t>>2]|0;ua=0;ta=$;while(1){Bf(T|0,pa+(ua<<2)|0,ta|0)|0;ua=ua+1|0;$=f[V>>2]|0;if(ua>>>0>=(f[qa>>2]|0)>>>0)break;else{T=T+$|0;ta=$}}}va=f[t>>2]|0}ta=f[B>>2]|0;if(!(b[Y+84>>0]|0))wa=f[(f[Y+68>>2]|0)+(ta<<2)>>2]|0;else wa=ta;if(wa>>>0>=(f[Y+80>>2]|0)>>>0)break e;ta=f[Y+40>>2]|0;Bf((f[f[Y+64>>2]>>2]|0)+(W(wa,ta)|0)|0,va|0,ta|0)|0;S=S+1|0;N=f[l>>2]|0}while(S>>>0<(((f[s>>2]|0)-N|0)/20|0)>>>0)}while(0);f[B>>2]=(f[B>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;X=R+1|0;if((X|0)==(M|0))break b;R=X;ba=f[i>>2]|0}}}while(0);H=f[A>>2]|0;if(!H){E=1;break}}}while(0);i=f[z>>2]|0;va=f[C>>2]|0;wa=(va>>>0)/341|0;a=i+(wa<<2)|0;oa=f[r>>2]|0;na=oa;fa=i;if((oa|0)!=(i|0)?(ka=(f[a>>2]|0)+((va-(wa*341|0)|0)*12|0)|0,wa=(f[A>>2]|0)+va|0,va=(wa>>>0)/341|0,ma=(f[i+(va<<2)>>2]|0)+((wa-(va*341|0)|0)*12|0)|0,(ma|0)!=(ka|0)):0){va=a;a=ka;while(1){ka=a+12|0;if((ka-(f[va>>2]|0)|0)==4092){wa=va+4|0;xa=wa;ya=f[wa>>2]|0}else{xa=va;ya=ka}a=ya;if((ma|0)==(a|0))break;else va=xa}}f[A>>2]=0;A=na-fa>>2;if(A>>>0>2){fa=i;do{Ko(f[fa>>2]|0);fa=(f[z>>2]|0)+4|0;f[z>>2]=fa;za=f[r>>2]|0;Aa=za-fa>>2}while(Aa>>>0>2);Ba=Aa;Ca=fa;Da=za}else{Ba=A;Ca=i;Da=oa}switch(Ba|0){case 1:{Ea=170;Fa=104;break}case 2:{Ea=341;Fa=104;break}default:{}}if((Fa|0)==104)f[C>>2]=Ea;if((Ca|0)!=(Da|0)){Ea=Ca;do{Ko(f[Ea>>2]|0);Ea=Ea+4|0}while((Ea|0)!=(Da|0));Da=f[z>>2]|0;z=f[r>>2]|0;if((z|0)!=(Da|0))f[r>>2]=z+(~((z+-4-Da|0)>>>2)<<2)}Da=f[g>>2]|0;if(!Da){u=e;return E|0}Ko(Da);u=e;return E|0}function hb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;e=u;u=u+32|0;g=e+8|0;h=e;i=a+12|0;j=f[i>>2]|0;f[g>>2]=0;k=g+4|0;f[k>>2]=0;l=g+8|0;f[l>>2]=0;do if(j)if(j>>>0>1073741823)$n(g);else{m=j<<2;n=wk(m)|0;f[g>>2]=n;o=n+(j<<2)|0;f[l>>2]=o;oh(n|0,0,m|0)|0;f[k>>2]=o;p=o;q=n;break}else{p=0;q=0}while(0);n=a+116|0;o=f[n>>2]|0;m=f[o>>2]|0;if(!m){r=o+8|0;s=o+4|0;t=q;v=p;w=j}else{j=o+4|0;f[j>>2]=m;Ko(m);m=o+8|0;f[m>>2]=0;f[j>>2]=0;f[o>>2]=0;r=m;s=j;t=f[g>>2]|0;v=f[k>>2]|0;w=f[i>>2]|0}f[o>>2]=t;f[s>>2]=v;f[r>>2]=f[l>>2];f[g>>2]=0;l=g+4|0;f[l>>2]=0;r=g+8|0;f[r>>2]=0;do if(w)if(w>>>0>1073741823)$n(g);else{v=w<<2;s=wk(v)|0;f[g>>2]=s;t=s+(w<<2)|0;f[r>>2]=t;oh(s|0,0,v|0)|0;f[l>>2]=t;x=t;y=s;break}else{x=0;y=0}while(0);w=a+128|0;s=f[w>>2]|0;t=f[s>>2]|0;if(!t){z=s+8|0;A=s+4|0;B=y;C=x}else{x=s+4|0;f[x>>2]=t;Ko(t);t=s+8|0;f[t>>2]=0;f[x>>2]=0;f[s>>2]=0;z=t;A=x;B=f[g>>2]|0;C=f[l>>2]|0}f[s>>2]=B;f[A>>2]=C;f[z>>2]=f[r>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;r=g+8|0;z=g+4|0;C=g+16|0;A=g+20|0;cc(g);B=f[z>>2]|0;s=(f[C>>2]|0)+(f[A>>2]|0)|0;if((f[r>>2]|0)==(B|0))D=0;else{l=(s>>>0)/341|0;D=(f[B+(l<<2)>>2]|0)+((s-(l*341|0)|0)*12|0)|0}f[D>>2]=c;f[D+4>>2]=0;f[D+8>>2]=0;D=(f[A>>2]|0)+1|0;f[A>>2]=D;a:do if(!D)E=1;else{l=d+16|0;s=d+20|0;B=d+28|0;x=a+8|0;t=d+12|0;y=a+104|0;v=a+4|0;o=a+92|0;k=a+48|0;j=a+44|0;m=a+36|0;p=a+16|0;q=a+88|0;F=a+76|0;G=a+84|0;H=D;while(1){I=f[C>>2]|0;J=H+-1|0;K=I+J|0;L=f[z>>2]|0;M=(K>>>0)/341|0;N=f[L+(M<<2)>>2]|0;O=K-(M*341|0)|0;M=f[N+(O*12|0)>>2]|0;K=f[N+(O*12|0)+4>>2]|0;P=f[N+(O*12|0)+8>>2]|0;f[A>>2]=J;J=f[r>>2]|0;O=J-L|0;if((1-H-I+((O|0)==0?0:((O>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[J+-4>>2]|0);f[r>>2]=(f[r>>2]|0)+-4}J=f[n>>2]|0;O=J+(P*12|0)|0;if(M>>>0>c>>>0){E=0;break a}I=f[i>>2]|0;L=(I+-1|0)==(K|0)?0:K+1|0;if(L>>>0>=I>>>0){E=0;break a}I=(f[w>>2]|0)+(P*12|0)|0;K=(f[a>>2]|0)-(f[(f[I>>2]|0)+(L<<2)>>2]|0)|0;b:do if(!K){if(M|0){N=0;do{Q=f[l>>2]|0;c:do if((f[s>>2]|0)!=(Q|0)){R=0;S=Q;do{T=S;U=f[T+(R*20|0)>>2]|0;V=T+(R*20|0)+12|0;X=T+(R*20|0)+16|0;Y=(f[O>>2]|0)+(f[T+(R*20|0)+4>>2]<<2)|0;T=f[V>>2]|0;if((T|0)==4)_=Y;else{if(f[X>>2]|0){$=f[t>>2]|0;aa=0;ba=T;while(1){Bf($|0,Y+(aa<<2)|0,ba|0)|0;aa=aa+1|0;T=f[V>>2]|0;if(aa>>>0>=(f[X>>2]|0)>>>0)break;else{$=$+T|0;ba=T}}}_=f[t>>2]|0}ba=f[B>>2]|0;if(!(b[U+84>>0]|0))ca=f[(f[U+68>>2]|0)+(ba<<2)>>2]|0;else ca=ba;if(ca>>>0>=(f[U+80>>2]|0)>>>0)break c;ba=f[U+40>>2]|0;Bf((f[f[U+64>>2]>>2]|0)+(W(ca,ba)|0)|0,_|0,ba|0)|0;R=R+1|0;S=f[l>>2]|0}while(R>>>0<(((f[s>>2]|0)-S|0)/20|0)>>>0)}while(0);f[B>>2]=(f[B>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;N=N+1|0}while((N|0)!=(M|0))}}else{if(M>>>0>=3){if((f[x>>2]|0)>>>0>(f[v>>2]|0)>>>0){E=0;break a}N=P+1|0;Df(J+(N*12|0)|0,f[O>>2]|0,f[J+(P*12|0)+4>>2]|0);Q=(f[(f[n>>2]|0)+(N*12|0)>>2]|0)+(L<<2)|0;f[Q>>2]=(f[Q>>2]|0)+(1<>2]=0;ph(p,Q,h);Q=(M>>>1)-(f[h>>2]|0)|0;S=M-Q|0;d:do if((Q|0)==(S|0)){da=Q;ea=Q}else{R=f[q>>2]|0;ba=f[G>>2]|0;do if((ba|0)!=(f[F>>2]|0)){$=(f[ba>>2]&1<<31-R|0)!=0;X=R+1|0;f[q>>2]=X;if((X|0)==32){f[G>>2]=ba+4;f[q>>2]=0;if($){da=Q;ea=S;break d}else break}else if($){da=Q;ea=S;break d}else break}while(0);da=S;ea=Q}while(0);Q=f[w>>2]|0;S=f[Q+(P*12|0)>>2]|0;ba=S+(L<<2)|0;f[ba>>2]=(f[ba>>2]|0)+1;Df(Q+(N*12|0)|0,S,f[Q+(P*12|0)+4>>2]|0);if(da|0){Q=f[r>>2]|0;S=f[z>>2]|0;ba=Q-S|0;R=(f[A>>2]|0)+(f[C>>2]|0)|0;if((((ba|0)==0?0:((ba>>2)*341|0)+-1|0)|0)==(R|0)){cc(g);fa=(f[C>>2]|0)+(f[A>>2]|0)|0;ga=f[r>>2]|0;ha=f[z>>2]|0}else{fa=R;ga=Q;ha=S}if((ga|0)==(ha|0))ia=0;else{S=(fa>>>0)/341|0;ia=(f[ha+(S<<2)>>2]|0)+((fa-(S*341|0)|0)*12|0)|0}f[ia>>2]=da;f[ia+4>>2]=L;f[ia+8>>2]=P;f[A>>2]=(f[A>>2]|0)+1}if(ea|0){S=f[r>>2]|0;Q=f[z>>2]|0;R=S-Q|0;ba=(f[A>>2]|0)+(f[C>>2]|0)|0;if((((R|0)==0?0:((R>>2)*341|0)+-1|0)|0)==(ba|0)){cc(g);ja=(f[C>>2]|0)+(f[A>>2]|0)|0;ka=f[r>>2]|0;la=f[z>>2]|0}else{ja=ba;ka=S;la=Q}if((ka|0)==(la|0))ma=0;else{Q=(ja>>>0)/341|0;ma=(f[la+(Q<<2)>>2]|0)+((ja-(Q*341|0)|0)*12|0)|0}f[ma>>2]=ea;f[ma+4>>2]=L;f[ma+8>>2]=N;f[A>>2]=(f[A>>2]|0)+1}break}Q=f[y>>2]|0;f[Q>>2]=L;S=f[i>>2]|0;if(S>>>0>1){ba=1;R=S;$=L;while(1){$=($|0)==(R+-1|0)?0:$+1|0;f[Q+(ba<<2)>>2]=$;ba=ba+1|0;X=f[i>>2]|0;if(ba>>>0>=X>>>0){na=X;break}else R=X}}else na=S;if(M|0){R=0;ba=na;while(1){if(ba|0){$=f[y>>2]|0;Q=f[o>>2]|0;N=f[I>>2]|0;X=0;do{aa=$+(X<<2)|0;f[Q+(f[aa>>2]<<2)>>2]=0;V=f[aa>>2]|0;Y=(f[a>>2]|0)-(f[N+(V<<2)>>2]|0)|0;do if(Y|0){T=Q+(V<<2)|0;oa=f[k>>2]|0;pa=32-oa|0;if((Y|0)>(pa|0)){qa=f[j>>2]|0;ra=qa+4|0;if((ra|0)==(f[m>>2]|0)){f[T>>2]=0;break}else{sa=f[qa>>2]<>2]=qa;f[j>>2]=ra;ta=32-qa|0;f[T>>2]=(f[ra>>2]|0)>>>ta|sa>>>(ta-pa|0);break}}pa=f[j>>2]|0;if((pa|0)==(f[m>>2]|0)){f[T>>2]=0;break}f[T>>2]=f[pa>>2]<>>(32-Y|0);oa=(f[k>>2]|0)+Y|0;f[k>>2]=oa;if((oa|0)!=32)break;f[j>>2]=pa+4;f[k>>2]=0}while(0);Y=f[aa>>2]|0;V=Q+(Y<<2)|0;f[V>>2]=f[V>>2]|f[(f[O>>2]|0)+(Y<<2)>>2];X=X+1|0}while(X>>>0<(f[i>>2]|0)>>>0)}X=f[l>>2]|0;e:do if((f[s>>2]|0)!=(X|0)){Q=0;N=X;do{$=N;Y=f[$+(Q*20|0)>>2]|0;V=$+(Q*20|0)+12|0;pa=$+(Q*20|0)+16|0;oa=(f[o>>2]|0)+(f[$+(Q*20|0)+4>>2]<<2)|0;$=f[V>>2]|0;if(($|0)==4)ua=oa;else{if(f[pa>>2]|0){T=f[t>>2]|0;ta=0;sa=$;while(1){Bf(T|0,oa+(ta<<2)|0,sa|0)|0;ta=ta+1|0;$=f[V>>2]|0;if(ta>>>0>=(f[pa>>2]|0)>>>0)break;else{T=T+$|0;sa=$}}}ua=f[t>>2]|0}sa=f[B>>2]|0;if(!(b[Y+84>>0]|0))va=f[(f[Y+68>>2]|0)+(sa<<2)>>2]|0;else va=sa;if(va>>>0>=(f[Y+80>>2]|0)>>>0)break e;sa=f[Y+40>>2]|0;Bf((f[f[Y+64>>2]>>2]|0)+(W(va,sa)|0)|0,ua|0,sa|0)|0;Q=Q+1|0;N=f[l>>2]|0}while(Q>>>0<(((f[s>>2]|0)-N|0)/20|0)>>>0)}while(0);f[B>>2]=(f[B>>2]|0)+1;f[x>>2]=(f[x>>2]|0)+1;X=R+1|0;if((X|0)==(M|0))break b;R=X;ba=f[i>>2]|0}}}while(0);H=f[A>>2]|0;if(!H){E=1;break}}}while(0);i=f[z>>2]|0;ua=f[C>>2]|0;va=(ua>>>0)/341|0;a=i+(va<<2)|0;na=f[r>>2]|0;ma=na;ea=i;if((na|0)!=(i|0)?(ja=(f[a>>2]|0)+((ua-(va*341|0)|0)*12|0)|0,va=(f[A>>2]|0)+ua|0,ua=(va>>>0)/341|0,la=(f[i+(ua<<2)>>2]|0)+((va-(ua*341|0)|0)*12|0)|0,(la|0)!=(ja|0)):0){ua=a;a=ja;while(1){ja=a+12|0;if((ja-(f[ua>>2]|0)|0)==4092){va=ua+4|0;wa=va;xa=f[va>>2]|0}else{wa=ua;xa=ja}a=xa;if((la|0)==(a|0))break;else ua=wa}}f[A>>2]=0;A=ma-ea>>2;if(A>>>0>2){ea=i;do{Ko(f[ea>>2]|0);ea=(f[z>>2]|0)+4|0;f[z>>2]=ea;ya=f[r>>2]|0;za=ya-ea>>2}while(za>>>0>2);Aa=za;Ba=ea;Ca=ya}else{Aa=A;Ba=i;Ca=na}switch(Aa|0){case 1:{Da=170;Ea=102;break}case 2:{Da=341;Ea=102;break}default:{}}if((Ea|0)==102)f[C>>2]=Da;if((Ba|0)!=(Ca|0)){Da=Ba;do{Ko(f[Da>>2]|0);Da=Da+4|0}while((Da|0)!=(Ca|0));Ca=f[z>>2]|0;z=f[r>>2]|0;if((z|0)!=(Ca|0))f[r>>2]=z+(~((z+-4-Ca|0)>>>2)<<2)}Ca=f[g>>2]|0;if(!Ca){u=e;return E|0}Ko(Ca);u=e;return E|0}function ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;k=e+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(e);else{l=i<<2;m=wk(l)|0;f[e>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+120|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[e>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[e>>2]=0;k=e+4|0;f[k>>2]=0;q=e+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(e);else{t=v<<2;r=wk(t)|0;f[e>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+132|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[e>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=b;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=e+4|0;r=e+8|0;A=a+8|0;w=a+108|0;s=a+4|0;x=e+4|0;t=e+8|0;n=a+96|0;j=a+52|0;i=a+48|0;l=a+40|0;o=a+32|0;p=a+28|0;E=a+20|0;F=a+92|0;G=a+80|0;H=a+88|0;I=C;while(1){J=f[B>>2]|0;K=I+-1|0;L=J+K|0;M=f[y>>2]|0;N=(L>>>0)/341|0;O=f[M+(N<<2)>>2]|0;P=L-(N*341|0)|0;N=f[O+(P*12|0)>>2]|0;L=f[O+(P*12|0)+4>>2]|0;Q=f[O+(P*12|0)+8>>2]|0;f[z>>2]=K;K=f[q>>2]|0;P=K-M|0;if((1-I-J+((P|0)==0?0:((P>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[K+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}K=f[m>>2]|0;P=K+(Q*12|0)|0;J=(f[v>>2]|0)+(Q*12|0)|0;if(N>>>0>b>>>0){D=0;break a}M=Pk(a,N,J,L)|0;if(M>>>0>=(f[h>>2]|0)>>>0){D=0;break a}L=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!L)if(!N)R=19;else{O=0;do{S=f[P>>2]|0;T=f[S>>2]|0;f[e>>2]=T;f[k>>2]=f[S+4>>2];f[r>>2]=f[S+8>>2];S=f[c>>2]|0;U=S+4|0;V=f[U>>2]|0;if(V>>>0<(f[S+8>>2]|0)>>>0){f[V>>2]=T;f[V+4>>2]=f[k>>2];f[V+8>>2]=f[r>>2];f[U>>2]=V+12}else If(S,e);f[A>>2]=(f[A>>2]|0)+1;O=O+1|0}while(O>>>0>>0);R=19}else{if(N>>>0<3){O=f[w>>2]|0;f[O>>2]=M;S=f[h>>2]|0;if(S>>>0>1){V=1;U=S;T=M;while(1){T=(T|0)==(U+-1|0)?0:T+1|0;f[O+(V<<2)>>2]=T;V=V+1|0;W=f[h>>2]|0;if(V>>>0>=W>>>0){X=W;break}else U=W}}else X=S;if(!N){R=19;break}U=0;V=X;while(1){if(!V)Y=f[n>>2]|0;else{T=f[w>>2]|0;O=f[n>>2]|0;W=f[J>>2]|0;_=0;do{$=T+(_<<2)|0;f[O+(f[$>>2]<<2)>>2]=0;aa=f[$>>2]|0;ba=(f[a>>2]|0)-(f[W+(aa<<2)>>2]|0)|0;do if(ba|0){ca=O+(aa<<2)|0;da=f[j>>2]|0;ea=32-da|0;if((ba|0)>(ea|0)){fa=f[i>>2]|0;ga=fa+4|0;if((ga|0)==(f[l>>2]|0)){f[ca>>2]=0;break}else{ha=f[fa>>2]<>2]=fa;f[i>>2]=ga;ia=32-fa|0;f[ca>>2]=(f[ga>>2]|0)>>>ia|ha>>>(ia-ea|0);break}}ea=f[i>>2]|0;if((ea|0)==(f[l>>2]|0)){f[ca>>2]=0;break}f[ca>>2]=f[ea>>2]<>>(32-ba|0);da=(f[j>>2]|0)+ba|0;f[j>>2]=da;if((da|0)!=32)break;f[i>>2]=ea+4;f[j>>2]=0}while(0);ba=f[$>>2]|0;aa=O+(ba<<2)|0;f[aa>>2]=f[aa>>2]|f[(f[P>>2]|0)+(ba<<2)>>2];_=_+1|0}while(_>>>0<(f[h>>2]|0)>>>0);Y=O}O=f[Y>>2]|0;f[e>>2]=O;f[x>>2]=f[Y+4>>2];f[t>>2]=f[Y+8>>2];_=f[c>>2]|0;W=_+4|0;T=f[W>>2]|0;if(T>>>0<(f[_+8>>2]|0)>>>0){f[T>>2]=O;f[T+4>>2]=f[x>>2];f[T+8>>2]=f[t>>2];f[W>>2]=T+12}else If(_,e);f[A>>2]=(f[A>>2]|0)+1;_=U+1|0;if(_>>>0>=N>>>0){R=19;break b}U=_;V=f[h>>2]|0}}if((f[A>>2]|0)>>>0>(f[s>>2]|0)>>>0){D=0;break a}V=Q+1|0;U=f[m>>2]|0;S=U+(V*12|0)|0;if((S|0)==(P|0))ja=U;else{Df(S,f[P>>2]|0,f[K+(Q*12|0)+4>>2]|0);ja=f[m>>2]|0}S=(f[ja+(V*12|0)>>2]|0)+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<>2]|0;_=32-U|0;if((S|0)>(_|0)){T=f[p>>2]|0;W=T+4|0;if((W|0)==(f[E>>2]|0))ka=0;else{O=f[T>>2]<>2]=T;f[p>>2]=W;ba=32-T|0;ka=(f[W>>2]|0)>>>ba|O>>>(ba-_|0)}}else{_=f[p>>2]|0;if((_|0)!=(f[E>>2]|0)){ba=f[_>>2]<>>(32-S|0);O=U+S|0;f[o>>2]=O;if((O|0)==32){f[p>>2]=_+4;f[o>>2]=0;ka=ba}else ka=ba}else ka=0}ba=(N>>>1)-ka|0;_=N-ba|0;c:do if((ba|0)==(_|0)){la=ba;ma=ba}else{O=f[F>>2]|0;S=f[H>>2]|0;do if((S|0)!=(f[G>>2]|0)){U=(f[S>>2]&1<<31-O|0)!=0;W=O+1|0;f[F>>2]=W;if((W|0)==32){f[H>>2]=S+4;f[F>>2]=0;if(U){la=ba;ma=_;break c}else break}else if(U){la=ba;ma=_;break c}else break}while(0);la=_;ma=ba}while(0);ba=f[v>>2]|0;_=f[ba+(Q*12|0)>>2]|0;S=_+(M<<2)|0;f[S>>2]=(f[S>>2]|0)+1;Df(ba+(V*12|0)|0,_,f[ba+(Q*12|0)+4>>2]|0);if(la|0){ba=f[q>>2]|0;_=f[y>>2]|0;S=ba-_|0;O=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((S|0)==0?0:((S>>2)*341|0)+-1|0)|0)==(O|0)){cc(g);na=(f[B>>2]|0)+(f[z>>2]|0)|0;oa=f[q>>2]|0;pa=f[y>>2]|0}else{na=O;oa=ba;pa=_}if((oa|0)==(pa|0))qa=0;else{_=(na>>>0)/341|0;qa=(f[pa+(_<<2)>>2]|0)+((na-(_*341|0)|0)*12|0)|0}f[qa>>2]=la;f[qa+4>>2]=M;f[qa+8>>2]=Q;f[z>>2]=(f[z>>2]|0)+1}if(!ma)R=19;else{_=f[q>>2]|0;ba=f[y>>2]|0;O=_-ba|0;S=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((O|0)==0?0:((O>>2)*341|0)+-1|0)|0)==(S|0)){cc(g);ra=(f[B>>2]|0)+(f[z>>2]|0)|0;sa=f[q>>2]|0;ta=f[y>>2]|0}else{ra=S;sa=_;ta=ba}if((sa|0)==(ta|0))ua=0;else{ba=(ra>>>0)/341|0;ua=(f[ta+(ba<<2)>>2]|0)+((ra-(ba*341|0)|0)*12|0)|0}f[ua>>2]=ma;f[ua+4>>2]=M;f[ua+8>>2]=V;ba=(f[z>>2]|0)+1|0;f[z>>2]=ba;va=ba}}while(0);if((R|0)==19){R=0;va=f[z>>2]|0}if(!va){D=1;break}else I=va}}while(0);va=f[y>>2]|0;ua=f[B>>2]|0;ma=(ua>>>0)/341|0;ra=va+(ma<<2)|0;ta=f[q>>2]|0;sa=ta;qa=va;if((ta|0)!=(va|0)?(la=(f[ra>>2]|0)+((ua-(ma*341|0)|0)*12|0)|0,ma=(f[z>>2]|0)+ua|0,ua=(ma>>>0)/341|0,na=(f[va+(ua<<2)>>2]|0)+((ma-(ua*341|0)|0)*12|0)|0,(na|0)!=(la|0)):0){ua=ra;ra=la;while(1){la=ra+12|0;if((la-(f[ua>>2]|0)|0)==4092){ma=ua+4|0;wa=ma;xa=f[ma>>2]|0}else{wa=ua;xa=la}ra=xa;if((na|0)==(ra|0))break;else ua=wa}}f[z>>2]=0;z=sa-qa>>2;if(z>>>0>2){qa=va;do{Ko(f[qa>>2]|0);qa=(f[y>>2]|0)+4|0;f[y>>2]=qa;ya=f[q>>2]|0;za=ya-qa>>2}while(za>>>0>2);Aa=za;Ba=qa;Ca=ya}else{Aa=z;Ba=va;Ca=ta}switch(Aa|0){case 1:{Da=170;R=95;break}case 2:{Da=341;R=95;break}default:{}}if((R|0)==95)f[B>>2]=Da;if((Ba|0)!=(Ca|0)){Da=Ba;do{Ko(f[Da>>2]|0);Da=Da+4|0}while((Da|0)!=(Ca|0));Ca=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(Ca|0))f[q>>2]=y+(~((y+-4-Ca|0)>>>2)<<2)}Ca=f[g>>2]|0;if(!Ca){u=d;return D|0}Ko(Ca);u=d;return D|0}function jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;k=e+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(e);else{l=i<<2;m=wk(l)|0;f[e>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+120|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[e>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[e>>2]=0;k=e+4|0;f[k>>2]=0;q=e+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(e);else{t=v<<2;r=wk(t)|0;f[e>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+132|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[e>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=b;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=e+4|0;r=e+8|0;A=a+8|0;w=a+108|0;s=a+4|0;x=e+4|0;t=e+8|0;n=a+96|0;j=a+52|0;i=a+48|0;l=a+40|0;o=a+32|0;p=a+28|0;E=a+20|0;F=a+92|0;G=a+80|0;H=a+88|0;I=C;while(1){J=f[B>>2]|0;K=I+-1|0;L=J+K|0;M=f[y>>2]|0;N=(L>>>0)/341|0;O=f[M+(N<<2)>>2]|0;P=L-(N*341|0)|0;N=f[O+(P*12|0)>>2]|0;L=f[O+(P*12|0)+4>>2]|0;Q=f[O+(P*12|0)+8>>2]|0;f[z>>2]=K;K=f[q>>2]|0;P=K-M|0;if((1-I-J+((P|0)==0?0:((P>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[K+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}K=f[m>>2]|0;P=K+(Q*12|0)|0;if(N>>>0>b>>>0){D=0;break a}J=f[h>>2]|0;M=(J+-1|0)==(L|0)?0:L+1|0;if(M>>>0>=J>>>0){D=0;break a}J=(f[v>>2]|0)+(Q*12|0)|0;L=(f[a>>2]|0)-(f[(f[J>>2]|0)+(M<<2)>>2]|0)|0;b:do if(!L)if(!N)R=19;else{O=0;do{S=f[P>>2]|0;T=f[S>>2]|0;f[e>>2]=T;f[k>>2]=f[S+4>>2];f[r>>2]=f[S+8>>2];S=f[c>>2]|0;U=S+4|0;V=f[U>>2]|0;if(V>>>0<(f[S+8>>2]|0)>>>0){f[V>>2]=T;f[V+4>>2]=f[k>>2];f[V+8>>2]=f[r>>2];f[U>>2]=V+12}else If(S,e);f[A>>2]=(f[A>>2]|0)+1;O=O+1|0}while(O>>>0>>0);R=19}else{if(N>>>0<3){O=f[w>>2]|0;f[O>>2]=M;S=f[h>>2]|0;if(S>>>0>1){V=1;U=S;T=M;while(1){T=(T|0)==(U+-1|0)?0:T+1|0;f[O+(V<<2)>>2]=T;V=V+1|0;W=f[h>>2]|0;if(V>>>0>=W>>>0){X=W;break}else U=W}}else X=S;if(!N){R=19;break}U=0;V=X;while(1){if(!V)Y=f[n>>2]|0;else{T=f[w>>2]|0;O=f[n>>2]|0;W=f[J>>2]|0;_=0;do{$=T+(_<<2)|0;f[O+(f[$>>2]<<2)>>2]=0;aa=f[$>>2]|0;ba=(f[a>>2]|0)-(f[W+(aa<<2)>>2]|0)|0;do if(ba|0){ca=O+(aa<<2)|0;da=f[j>>2]|0;ea=32-da|0;if((ba|0)>(ea|0)){fa=f[i>>2]|0;ga=fa+4|0;if((ga|0)==(f[l>>2]|0)){f[ca>>2]=0;break}else{ha=f[fa>>2]<>2]=fa;f[i>>2]=ga;ia=32-fa|0;f[ca>>2]=(f[ga>>2]|0)>>>ia|ha>>>(ia-ea|0);break}}ea=f[i>>2]|0;if((ea|0)==(f[l>>2]|0)){f[ca>>2]=0;break}f[ca>>2]=f[ea>>2]<>>(32-ba|0);da=(f[j>>2]|0)+ba|0;f[j>>2]=da;if((da|0)!=32)break;f[i>>2]=ea+4;f[j>>2]=0}while(0);ba=f[$>>2]|0;aa=O+(ba<<2)|0;f[aa>>2]=f[aa>>2]|f[(f[P>>2]|0)+(ba<<2)>>2];_=_+1|0}while(_>>>0<(f[h>>2]|0)>>>0);Y=O}O=f[Y>>2]|0;f[e>>2]=O;f[x>>2]=f[Y+4>>2];f[t>>2]=f[Y+8>>2];_=f[c>>2]|0;W=_+4|0;T=f[W>>2]|0;if(T>>>0<(f[_+8>>2]|0)>>>0){f[T>>2]=O;f[T+4>>2]=f[x>>2];f[T+8>>2]=f[t>>2];f[W>>2]=T+12}else If(_,e);f[A>>2]=(f[A>>2]|0)+1;_=U+1|0;if(_>>>0>=N>>>0){R=19;break b}U=_;V=f[h>>2]|0}}if((f[A>>2]|0)>>>0>(f[s>>2]|0)>>>0){D=0;break a}V=Q+1|0;Df(K+(V*12|0)|0,f[P>>2]|0,f[K+(Q*12|0)+4>>2]|0);U=(f[(f[m>>2]|0)+(V*12|0)>>2]|0)+(M<<2)|0;f[U>>2]=(f[U>>2]|0)+(1<>2]|0;_=32-S|0;if((U|0)>(_|0)){T=f[p>>2]|0;W=T+4|0;if((W|0)==(f[E>>2]|0))ja=0;else{O=f[T>>2]<>2]=T;f[p>>2]=W;ba=32-T|0;ja=(f[W>>2]|0)>>>ba|O>>>(ba-_|0)}}else{_=f[p>>2]|0;if((_|0)!=(f[E>>2]|0)){ba=f[_>>2]<>>(32-U|0);O=S+U|0;f[o>>2]=O;if((O|0)==32){f[p>>2]=_+4;f[o>>2]=0;ja=ba}else ja=ba}else ja=0}ba=(N>>>1)-ja|0;_=N-ba|0;c:do if((ba|0)==(_|0)){ka=ba;la=ba}else{O=f[F>>2]|0;U=f[H>>2]|0;do if((U|0)!=(f[G>>2]|0)){S=(f[U>>2]&1<<31-O|0)!=0;W=O+1|0;f[F>>2]=W;if((W|0)==32){f[H>>2]=U+4;f[F>>2]=0;if(S){ka=ba;la=_;break c}else break}else if(S){ka=ba;la=_;break c}else break}while(0);ka=_;la=ba}while(0);ba=f[v>>2]|0;_=f[ba+(Q*12|0)>>2]|0;U=_+(M<<2)|0;f[U>>2]=(f[U>>2]|0)+1;Df(ba+(V*12|0)|0,_,f[ba+(Q*12|0)+4>>2]|0);if(ka|0){ba=f[q>>2]|0;_=f[y>>2]|0;U=ba-_|0;O=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((U|0)==0?0:((U>>2)*341|0)+-1|0)|0)==(O|0)){cc(g);ma=(f[B>>2]|0)+(f[z>>2]|0)|0;na=f[q>>2]|0;oa=f[y>>2]|0}else{ma=O;na=ba;oa=_}if((na|0)==(oa|0))pa=0;else{_=(ma>>>0)/341|0;pa=(f[oa+(_<<2)>>2]|0)+((ma-(_*341|0)|0)*12|0)|0}f[pa>>2]=ka;f[pa+4>>2]=M;f[pa+8>>2]=Q;f[z>>2]=(f[z>>2]|0)+1}if(!la)R=19;else{_=f[q>>2]|0;ba=f[y>>2]|0;O=_-ba|0;U=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((O|0)==0?0:((O>>2)*341|0)+-1|0)|0)==(U|0)){cc(g);qa=(f[B>>2]|0)+(f[z>>2]|0)|0;ra=f[q>>2]|0;sa=f[y>>2]|0}else{qa=U;ra=_;sa=ba}if((ra|0)==(sa|0))ta=0;else{ba=(qa>>>0)/341|0;ta=(f[sa+(ba<<2)>>2]|0)+((qa-(ba*341|0)|0)*12|0)|0}f[ta>>2]=la;f[ta+4>>2]=M;f[ta+8>>2]=V;ba=(f[z>>2]|0)+1|0;f[z>>2]=ba;ua=ba}}while(0);if((R|0)==19){R=0;ua=f[z>>2]|0}if(!ua){D=1;break}else I=ua}}while(0);ua=f[y>>2]|0;ta=f[B>>2]|0;la=(ta>>>0)/341|0;qa=ua+(la<<2)|0;sa=f[q>>2]|0;ra=sa;pa=ua;if((sa|0)!=(ua|0)?(ka=(f[qa>>2]|0)+((ta-(la*341|0)|0)*12|0)|0,la=(f[z>>2]|0)+ta|0,ta=(la>>>0)/341|0,ma=(f[ua+(ta<<2)>>2]|0)+((la-(ta*341|0)|0)*12|0)|0,(ma|0)!=(ka|0)):0){ta=qa;qa=ka;while(1){ka=qa+12|0;if((ka-(f[ta>>2]|0)|0)==4092){la=ta+4|0;va=la;wa=f[la>>2]|0}else{va=ta;wa=ka}qa=wa;if((ma|0)==(qa|0))break;else ta=va}}f[z>>2]=0;z=ra-pa>>2;if(z>>>0>2){pa=ua;do{Ko(f[pa>>2]|0);pa=(f[y>>2]|0)+4|0;f[y>>2]=pa;xa=f[q>>2]|0;ya=xa-pa>>2}while(ya>>>0>2);za=ya;Aa=pa;Ba=xa}else{za=z;Aa=ua;Ba=sa}switch(za|0){case 1:{Ca=170;R=93;break}case 2:{Ca=341;R=93;break}default:{}}if((R|0)==93)f[B>>2]=Ca;if((Aa|0)!=(Ba|0)){Ca=Aa;do{Ko(f[Ca>>2]|0);Ca=Ca+4|0}while((Ca|0)!=(Ba|0));Ba=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(Ba|0))f[q>>2]=y+(~((y+-4-Ba|0)>>>2)<<2)}Ba=f[g>>2]|0;if(!Ba){u=d;return D|0}Ko(Ba);u=d;return D|0}function kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;k=e+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(e);else{l=i<<2;m=wk(l)|0;f[e>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+628|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[e>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[e>>2]=0;k=e+4|0;f[k>>2]=0;q=e+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(e);else{t=v<<2;r=wk(t)|0;f[e>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+640|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[e>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=b;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=e+4|0;r=e+8|0;A=a+8|0;w=a+616|0;s=a+4|0;x=e+4|0;t=e+8|0;n=a+604|0;j=a+560|0;i=a+556|0;l=a+548|0;o=a+600|0;p=a+588|0;E=a+596|0;F=C;while(1){G=f[B>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=(I>>>0)/341|0;L=f[J+(K<<2)>>2]|0;M=I-(K*341|0)|0;K=f[L+(M*12|0)>>2]|0;I=f[L+(M*12|0)+4>>2]|0;N=f[L+(M*12|0)+8>>2]|0;f[z>>2]=H;H=f[q>>2]|0;M=H-J|0;if((1-F-G+((M|0)==0?0:((M>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[H+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}H=f[m>>2]|0;M=H+(N*12|0)|0;G=(f[v>>2]|0)+(N*12|0)|0;if(K>>>0>b>>>0){D=0;break a}J=tg(a,K,G,I)|0;if(J>>>0>=(f[h>>2]|0)>>>0){D=0;break a}I=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!I)if(!K)O=19;else{L=0;do{P=f[M>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[k>>2]=f[P+4>>2];f[r>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[k>>2];f[S+8>>2]=f[r>>2];f[R>>2]=S+12}else If(P,e);f[A>>2]=(f[A>>2]|0)+1;L=L+1|0}while(L>>>0>>0);O=19}else{if(K>>>0<3){L=f[w>>2]|0;f[L>>2]=J;P=f[h>>2]|0;if(P>>>0>1){S=1;R=P;Q=J;while(1){Q=(Q|0)==(R+-1|0)?0:Q+1|0;f[L+(S<<2)>>2]=Q;S=S+1|0;T=f[h>>2]|0;if(S>>>0>=T>>>0){U=T;break}else R=T}}else U=P;if(!K){O=19;break}R=0;S=U;while(1){if(!S)V=f[n>>2]|0;else{Q=f[w>>2]|0;L=f[n>>2]|0;T=f[G>>2]|0;W=0;do{X=Q+(W<<2)|0;f[L+(f[X>>2]<<2)>>2]=0;Y=f[X>>2]|0;_=(f[a>>2]|0)-(f[T+(Y<<2)>>2]|0)|0;do if(_|0){$=L+(Y<<2)|0;aa=f[j>>2]|0;ba=32-aa|0;if((_|0)>(ba|0)){ca=f[i>>2]|0;da=ca+4|0;if((da|0)==(f[l>>2]|0)){f[$>>2]=0;break}else{ea=f[ca>>2]<>2]=ca;f[i>>2]=da;fa=32-ca|0;f[$>>2]=(f[da>>2]|0)>>>fa|ea>>>(fa-ba|0);break}}ba=f[i>>2]|0;if((ba|0)==(f[l>>2]|0)){f[$>>2]=0;break}f[$>>2]=f[ba>>2]<>>(32-_|0);aa=(f[j>>2]|0)+_|0;f[j>>2]=aa;if((aa|0)!=32)break;f[i>>2]=ba+4;f[j>>2]=0}while(0);_=f[X>>2]|0;Y=L+(_<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[M>>2]|0)+(_<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);V=L}L=f[V>>2]|0;f[e>>2]=L;f[x>>2]=f[V+4>>2];f[t>>2]=f[V+8>>2];W=f[c>>2]|0;T=W+4|0;Q=f[T>>2]|0;if(Q>>>0<(f[W+8>>2]|0)>>>0){f[Q>>2]=L;f[Q+4>>2]=f[x>>2];f[Q+8>>2]=f[t>>2];f[T>>2]=Q+12}else If(W,e);f[A>>2]=(f[A>>2]|0)+1;W=R+1|0;if(W>>>0>=K>>>0){O=19;break b}R=W;S=f[h>>2]|0}}if((f[A>>2]|0)>>>0>(f[s>>2]|0)>>>0){D=0;break a}S=N+1|0;R=f[m>>2]|0;P=R+(S*12|0)|0;if((P|0)==(M|0))ga=R;else{Df(P,f[M>>2]|0,f[H+(N*12|0)+4>>2]|0);ga=f[m>>2]|0}P=(f[ga+(S*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>>1)-ha|0;P=K-W|0;c:do if((W|0)==(P|0)){ia=W;ja=W}else{R=f[o>>2]|0;Q=f[E>>2]|0;do if((Q|0)!=(f[p>>2]|0)){T=(f[Q>>2]&1<<31-R|0)!=0;L=R+1|0;f[o>>2]=L;if((L|0)==32){f[E>>2]=Q+4;f[o>>2]=0;if(T){ia=W;ja=P;break c}else break}else if(T){ia=W;ja=P;break c}else break}while(0);ia=P;ja=W}while(0);W=f[v>>2]|0;P=f[W+(N*12|0)>>2]|0;Q=P+(J<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;Df(W+(S*12|0)|0,P,f[W+(N*12|0)+4>>2]|0);if(ia|0){W=f[q>>2]|0;P=f[y>>2]|0;Q=W-P|0;R=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((Q|0)==0?0:((Q>>2)*341|0)+-1|0)|0)==(R|0)){cc(g);ka=(f[B>>2]|0)+(f[z>>2]|0)|0;la=f[q>>2]|0;ma=f[y>>2]|0}else{ka=R;la=W;ma=P}if((la|0)==(ma|0))na=0;else{P=(ka>>>0)/341|0;na=(f[ma+(P<<2)>>2]|0)+((ka-(P*341|0)|0)*12|0)|0}f[na>>2]=ia;f[na+4>>2]=J;f[na+8>>2]=N;f[z>>2]=(f[z>>2]|0)+1}if(!ja)O=19;else{P=f[q>>2]|0;W=f[y>>2]|0;R=P-W|0;Q=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((R|0)==0?0:((R>>2)*341|0)+-1|0)|0)==(Q|0)){cc(g);oa=(f[B>>2]|0)+(f[z>>2]|0)|0;pa=f[q>>2]|0;qa=f[y>>2]|0}else{oa=Q;pa=P;qa=W}if((pa|0)==(qa|0))ra=0;else{W=(oa>>>0)/341|0;ra=(f[qa+(W<<2)>>2]|0)+((oa-(W*341|0)|0)*12|0)|0}f[ra>>2]=ja;f[ra+4>>2]=J;f[ra+8>>2]=S;W=(f[z>>2]|0)+1|0;f[z>>2]=W;sa=W}}while(0);if((O|0)==19){O=0;sa=f[z>>2]|0}if(!sa){D=1;break}else F=sa}}while(0);sa=f[y>>2]|0;ra=f[B>>2]|0;ja=(ra>>>0)/341|0;oa=sa+(ja<<2)|0;qa=f[q>>2]|0;pa=qa;na=sa;if((qa|0)!=(sa|0)?(ia=(f[oa>>2]|0)+((ra-(ja*341|0)|0)*12|0)|0,ja=(f[z>>2]|0)+ra|0,ra=(ja>>>0)/341|0,ka=(f[sa+(ra<<2)>>2]|0)+((ja-(ra*341|0)|0)*12|0)|0,(ka|0)!=(ia|0)):0){ra=oa;oa=ia;while(1){ia=oa+12|0;if((ia-(f[ra>>2]|0)|0)==4092){ja=ra+4|0;ta=ja;ua=f[ja>>2]|0}else{ta=ra;ua=ia}oa=ua;if((ka|0)==(oa|0))break;else ra=ta}}f[z>>2]=0;z=pa-na>>2;if(z>>>0>2){na=sa;do{Ko(f[na>>2]|0);na=(f[y>>2]|0)+4|0;f[y>>2]=na;va=f[q>>2]|0;wa=va-na>>2}while(wa>>>0>2);xa=wa;ya=na;za=va}else{xa=z;ya=sa;za=qa}switch(xa|0){case 1:{Aa=170;O=92;break}case 2:{Aa=341;O=92;break}default:{}}if((O|0)==92)f[B>>2]=Aa;if((ya|0)!=(za|0)){Aa=ya;do{Ko(f[Aa>>2]|0);Aa=Aa+4|0}while((Aa|0)!=(za|0));za=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(za|0))f[q>>2]=y+(~((y+-4-za|0)>>>2)<<2)}za=f[g>>2]|0;if(!za){u=d;return D|0}Ko(za);u=d;return D|0}function lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;k=e+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(e);else{l=i<<2;m=wk(l)|0;f[e>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+628|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[e>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[e>>2]=0;k=e+4|0;f[k>>2]=0;q=e+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(e);else{t=v<<2;r=wk(t)|0;f[e>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+640|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[e>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=b;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=e+4|0;r=e+8|0;A=a+8|0;w=a+616|0;s=a+4|0;x=e+4|0;t=e+8|0;n=a+604|0;j=a+560|0;i=a+556|0;l=a+548|0;o=a+600|0;p=a+588|0;E=a+596|0;F=C;while(1){G=f[B>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=(I>>>0)/341|0;L=f[J+(K<<2)>>2]|0;M=I-(K*341|0)|0;K=f[L+(M*12|0)>>2]|0;I=f[L+(M*12|0)+4>>2]|0;N=f[L+(M*12|0)+8>>2]|0;f[z>>2]=H;H=f[q>>2]|0;M=H-J|0;if((1-F-G+((M|0)==0?0:((M>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[H+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}H=f[m>>2]|0;M=H+(N*12|0)|0;G=(f[v>>2]|0)+(N*12|0)|0;if(K>>>0>b>>>0){D=0;break a}J=Pk(a,K,G,I)|0;if(J>>>0>=(f[h>>2]|0)>>>0){D=0;break a}I=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!I)if(!K)O=19;else{L=0;do{P=f[M>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[k>>2]=f[P+4>>2];f[r>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[k>>2];f[S+8>>2]=f[r>>2];f[R>>2]=S+12}else If(P,e);f[A>>2]=(f[A>>2]|0)+1;L=L+1|0}while(L>>>0>>0);O=19}else{if(K>>>0<3){L=f[w>>2]|0;f[L>>2]=J;P=f[h>>2]|0;if(P>>>0>1){S=1;R=P;Q=J;while(1){Q=(Q|0)==(R+-1|0)?0:Q+1|0;f[L+(S<<2)>>2]=Q;S=S+1|0;T=f[h>>2]|0;if(S>>>0>=T>>>0){U=T;break}else R=T}}else U=P;if(!K){O=19;break}R=0;S=U;while(1){if(!S)V=f[n>>2]|0;else{Q=f[w>>2]|0;L=f[n>>2]|0;T=f[G>>2]|0;W=0;do{X=Q+(W<<2)|0;f[L+(f[X>>2]<<2)>>2]=0;Y=f[X>>2]|0;_=(f[a>>2]|0)-(f[T+(Y<<2)>>2]|0)|0;do if(_|0){$=L+(Y<<2)|0;aa=f[j>>2]|0;ba=32-aa|0;if((_|0)>(ba|0)){ca=f[i>>2]|0;da=ca+4|0;if((da|0)==(f[l>>2]|0)){f[$>>2]=0;break}else{ea=f[ca>>2]<>2]=ca;f[i>>2]=da;fa=32-ca|0;f[$>>2]=(f[da>>2]|0)>>>fa|ea>>>(fa-ba|0);break}}ba=f[i>>2]|0;if((ba|0)==(f[l>>2]|0)){f[$>>2]=0;break}f[$>>2]=f[ba>>2]<>>(32-_|0);aa=(f[j>>2]|0)+_|0;f[j>>2]=aa;if((aa|0)!=32)break;f[i>>2]=ba+4;f[j>>2]=0}while(0);_=f[X>>2]|0;Y=L+(_<<2)|0;f[Y>>2]=f[Y>>2]|f[(f[M>>2]|0)+(_<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);V=L}L=f[V>>2]|0;f[e>>2]=L;f[x>>2]=f[V+4>>2];f[t>>2]=f[V+8>>2];W=f[c>>2]|0;T=W+4|0;Q=f[T>>2]|0;if(Q>>>0<(f[W+8>>2]|0)>>>0){f[Q>>2]=L;f[Q+4>>2]=f[x>>2];f[Q+8>>2]=f[t>>2];f[T>>2]=Q+12}else If(W,e);f[A>>2]=(f[A>>2]|0)+1;W=R+1|0;if(W>>>0>=K>>>0){O=19;break b}R=W;S=f[h>>2]|0}}if((f[A>>2]|0)>>>0>(f[s>>2]|0)>>>0){D=0;break a}S=N+1|0;R=f[m>>2]|0;P=R+(S*12|0)|0;if((P|0)==(M|0))ga=R;else{Df(P,f[M>>2]|0,f[H+(N*12|0)+4>>2]|0);ga=f[m>>2]|0}P=(f[ga+(S*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>>1)-ha|0;P=K-W|0;c:do if((W|0)==(P|0)){ia=W;ja=W}else{R=f[o>>2]|0;Q=f[E>>2]|0;do if((Q|0)!=(f[p>>2]|0)){T=(f[Q>>2]&1<<31-R|0)!=0;L=R+1|0;f[o>>2]=L;if((L|0)==32){f[E>>2]=Q+4;f[o>>2]=0;if(T){ia=W;ja=P;break c}else break}else if(T){ia=W;ja=P;break c}else break}while(0);ia=P;ja=W}while(0);W=f[v>>2]|0;P=f[W+(N*12|0)>>2]|0;Q=P+(J<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;Df(W+(S*12|0)|0,P,f[W+(N*12|0)+4>>2]|0);if(ia|0){W=f[q>>2]|0;P=f[y>>2]|0;Q=W-P|0;R=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((Q|0)==0?0:((Q>>2)*341|0)+-1|0)|0)==(R|0)){cc(g);ka=(f[B>>2]|0)+(f[z>>2]|0)|0;la=f[q>>2]|0;ma=f[y>>2]|0}else{ka=R;la=W;ma=P}if((la|0)==(ma|0))na=0;else{P=(ka>>>0)/341|0;na=(f[ma+(P<<2)>>2]|0)+((ka-(P*341|0)|0)*12|0)|0}f[na>>2]=ia;f[na+4>>2]=J;f[na+8>>2]=N;f[z>>2]=(f[z>>2]|0)+1}if(!ja)O=19;else{P=f[q>>2]|0;W=f[y>>2]|0;R=P-W|0;Q=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((R|0)==0?0:((R>>2)*341|0)+-1|0)|0)==(Q|0)){cc(g);oa=(f[B>>2]|0)+(f[z>>2]|0)|0;pa=f[q>>2]|0;qa=f[y>>2]|0}else{oa=Q;pa=P;qa=W}if((pa|0)==(qa|0))ra=0;else{W=(oa>>>0)/341|0;ra=(f[qa+(W<<2)>>2]|0)+((oa-(W*341|0)|0)*12|0)|0}f[ra>>2]=ja;f[ra+4>>2]=J;f[ra+8>>2]=S;W=(f[z>>2]|0)+1|0;f[z>>2]=W;sa=W}}while(0);if((O|0)==19){O=0;sa=f[z>>2]|0}if(!sa){D=1;break}else F=sa}}while(0);sa=f[y>>2]|0;ra=f[B>>2]|0;ja=(ra>>>0)/341|0;oa=sa+(ja<<2)|0;qa=f[q>>2]|0;pa=qa;na=sa;if((qa|0)!=(sa|0)?(ia=(f[oa>>2]|0)+((ra-(ja*341|0)|0)*12|0)|0,ja=(f[z>>2]|0)+ra|0,ra=(ja>>>0)/341|0,ka=(f[sa+(ra<<2)>>2]|0)+((ja-(ra*341|0)|0)*12|0)|0,(ka|0)!=(ia|0)):0){ra=oa;oa=ia;while(1){ia=oa+12|0;if((ia-(f[ra>>2]|0)|0)==4092){ja=ra+4|0;ta=ja;ua=f[ja>>2]|0}else{ta=ra;ua=ia}oa=ua;if((ka|0)==(oa|0))break;else ra=ta}}f[z>>2]=0;z=pa-na>>2;if(z>>>0>2){na=sa;do{Ko(f[na>>2]|0);na=(f[y>>2]|0)+4|0;f[y>>2]=na;va=f[q>>2]|0;wa=va-na>>2}while(wa>>>0>2);xa=wa;ya=na;za=va}else{xa=z;ya=sa;za=qa}switch(xa|0){case 1:{Aa=170;O=92;break}case 2:{Aa=341;O=92;break}default:{}}if((O|0)==92)f[B>>2]=Aa;if((ya|0)!=(za|0)){Aa=ya;do{Ko(f[Aa>>2]|0);Aa=Aa+4|0}while((Aa|0)!=(za|0));za=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(za|0))f[q>>2]=y+(~((y+-4-za|0)>>>2)<<2)}za=f[g>>2]|0;if(!za){u=d;return D|0}Ko(za);u=d;return D|0}function mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;k=e+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(e);else{l=i<<2;m=wk(l)|0;f[e>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+628|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[e>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[e>>2]=0;k=e+4|0;f[k>>2]=0;q=e+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(e);else{t=v<<2;r=wk(t)|0;f[e>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+640|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[e>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=b;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=e+4|0;r=e+8|0;A=a+8|0;w=a+616|0;s=a+4|0;x=e+4|0;t=e+8|0;n=a+604|0;j=a+560|0;i=a+556|0;l=a+548|0;o=a+600|0;p=a+588|0;E=a+596|0;F=C;while(1){G=f[B>>2]|0;H=F+-1|0;I=G+H|0;J=f[y>>2]|0;K=(I>>>0)/341|0;L=f[J+(K<<2)>>2]|0;M=I-(K*341|0)|0;K=f[L+(M*12|0)>>2]|0;I=f[L+(M*12|0)+4>>2]|0;N=f[L+(M*12|0)+8>>2]|0;f[z>>2]=H;H=f[q>>2]|0;M=H-J|0;if((1-F-G+((M|0)==0?0:((M>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[H+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}H=f[m>>2]|0;M=H+(N*12|0)|0;if(K>>>0>b>>>0){D=0;break a}G=f[h>>2]|0;J=(G+-1|0)==(I|0)?0:I+1|0;if(J>>>0>=G>>>0){D=0;break a}G=(f[v>>2]|0)+(N*12|0)|0;I=(f[a>>2]|0)-(f[(f[G>>2]|0)+(J<<2)>>2]|0)|0;b:do if(!I)if(!K)O=19;else{L=0;do{P=f[M>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[k>>2]=f[P+4>>2];f[r>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[k>>2];f[S+8>>2]=f[r>>2];f[R>>2]=S+12}else If(P,e);f[A>>2]=(f[A>>2]|0)+1;L=L+1|0}while(L>>>0>>0);O=19}else{if(K>>>0>=3){if((f[A>>2]|0)>>>0>(f[s>>2]|0)>>>0){D=0;break a}L=N+1|0;Df(H+(L*12|0)|0,f[M>>2]|0,f[H+(N*12|0)+4>>2]|0);P=(f[(f[m>>2]|0)+(L*12|0)>>2]|0)+(J<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>>1)-T|0;P=K-R|0;c:do if((R|0)==(P|0)){U=R;V=R}else{S=f[o>>2]|0;Q=f[E>>2]|0;do if((Q|0)!=(f[p>>2]|0)){W=(f[Q>>2]&1<<31-S|0)!=0;X=S+1|0;f[o>>2]=X;if((X|0)==32){f[E>>2]=Q+4;f[o>>2]=0;if(W){U=R;V=P;break c}else break}else if(W){U=R;V=P;break c}else break}while(0);U=P;V=R}while(0);R=f[v>>2]|0;P=f[R+(N*12|0)>>2]|0;Q=P+(J<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;Df(R+(L*12|0)|0,P,f[R+(N*12|0)+4>>2]|0);if(U|0){R=f[q>>2]|0;P=f[y>>2]|0;Q=R-P|0;S=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((Q|0)==0?0:((Q>>2)*341|0)+-1|0)|0)==(S|0)){cc(g);Y=(f[B>>2]|0)+(f[z>>2]|0)|0;_=f[q>>2]|0;$=f[y>>2]|0}else{Y=S;_=R;$=P}if((_|0)==($|0))aa=0;else{P=(Y>>>0)/341|0;aa=(f[$+(P<<2)>>2]|0)+((Y-(P*341|0)|0)*12|0)|0}f[aa>>2]=U;f[aa+4>>2]=J;f[aa+8>>2]=N;f[z>>2]=(f[z>>2]|0)+1}if(!V){O=19;break}P=f[q>>2]|0;R=f[y>>2]|0;S=P-R|0;Q=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((S|0)==0?0:((S>>2)*341|0)+-1|0)|0)==(Q|0)){cc(g);ba=(f[B>>2]|0)+(f[z>>2]|0)|0;ca=f[q>>2]|0;da=f[y>>2]|0}else{ba=Q;ca=P;da=R}if((ca|0)==(da|0))ea=0;else{R=(ba>>>0)/341|0;ea=(f[da+(R<<2)>>2]|0)+((ba-(R*341|0)|0)*12|0)|0}f[ea>>2]=V;f[ea+4>>2]=J;f[ea+8>>2]=L;R=(f[z>>2]|0)+1|0;f[z>>2]=R;fa=R;break}R=f[w>>2]|0;f[R>>2]=J;P=f[h>>2]|0;if(P>>>0>1){Q=1;S=P;W=J;while(1){W=(W|0)==(S+-1|0)?0:W+1|0;f[R+(Q<<2)>>2]=W;Q=Q+1|0;X=f[h>>2]|0;if(Q>>>0>=X>>>0){ga=X;break}else S=X}}else ga=P;if(!K)O=19;else{S=0;Q=ga;while(1){if(!Q)ha=f[n>>2]|0;else{W=f[w>>2]|0;R=f[n>>2]|0;L=f[G>>2]|0;X=0;do{ia=W+(X<<2)|0;f[R+(f[ia>>2]<<2)>>2]=0;ja=f[ia>>2]|0;ka=(f[a>>2]|0)-(f[L+(ja<<2)>>2]|0)|0;do if(ka|0){la=R+(ja<<2)|0;ma=f[j>>2]|0;na=32-ma|0;if((ka|0)>(na|0)){oa=f[i>>2]|0;pa=oa+4|0;if((pa|0)==(f[l>>2]|0)){f[la>>2]=0;break}else{qa=f[oa>>2]<>2]=oa;f[i>>2]=pa;ra=32-oa|0;f[la>>2]=(f[pa>>2]|0)>>>ra|qa>>>(ra-na|0);break}}na=f[i>>2]|0;if((na|0)==(f[l>>2]|0)){f[la>>2]=0;break}f[la>>2]=f[na>>2]<>>(32-ka|0);ma=(f[j>>2]|0)+ka|0;f[j>>2]=ma;if((ma|0)!=32)break;f[i>>2]=na+4;f[j>>2]=0}while(0);ka=f[ia>>2]|0;ja=R+(ka<<2)|0;f[ja>>2]=f[ja>>2]|f[(f[M>>2]|0)+(ka<<2)>>2];X=X+1|0}while(X>>>0<(f[h>>2]|0)>>>0);ha=R}R=f[ha>>2]|0;f[e>>2]=R;f[x>>2]=f[ha+4>>2];f[t>>2]=f[ha+8>>2];X=f[c>>2]|0;L=X+4|0;W=f[L>>2]|0;if(W>>>0<(f[X+8>>2]|0)>>>0){f[W>>2]=R;f[W+4>>2]=f[x>>2];f[W+8>>2]=f[t>>2];f[L>>2]=W+12}else If(X,e);f[A>>2]=(f[A>>2]|0)+1;X=S+1|0;if(X>>>0>=K>>>0){O=19;break b}S=X;Q=f[h>>2]|0}}}while(0);if((O|0)==19){O=0;fa=f[z>>2]|0}if(!fa){D=1;break}else F=fa}}while(0);fa=f[y>>2]|0;h=f[B>>2]|0;e=(h>>>0)/341|0;c=fa+(e<<2)|0;ha=f[q>>2]|0;a=ha;ga=fa;if((ha|0)!=(fa|0)?(ea=(f[c>>2]|0)+((h-(e*341|0)|0)*12|0)|0,e=(f[z>>2]|0)+h|0,h=(e>>>0)/341|0,V=(f[fa+(h<<2)>>2]|0)+((e-(h*341|0)|0)*12|0)|0,(V|0)!=(ea|0)):0){h=c;c=ea;while(1){ea=c+12|0;if((ea-(f[h>>2]|0)|0)==4092){e=h+4|0;sa=e;ta=f[e>>2]|0}else{sa=h;ta=ea}c=ta;if((V|0)==(c|0))break;else h=sa}}f[z>>2]=0;z=a-ga>>2;if(z>>>0>2){ga=fa;do{Ko(f[ga>>2]|0);ga=(f[y>>2]|0)+4|0;f[y>>2]=ga;ua=f[q>>2]|0;va=ua-ga>>2}while(va>>>0>2);wa=va;xa=ga;ya=ua}else{wa=z;xa=fa;ya=ha}switch(wa|0){case 1:{za=170;O=90;break}case 2:{za=341;O=90;break}default:{}}if((O|0)==90)f[B>>2]=za;if((xa|0)!=(ya|0)){za=xa;do{Ko(f[za>>2]|0);za=za+4|0}while((za|0)!=(ya|0));ya=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(ya|0))f[q>>2]=y+(~((y+-4-ya|0)>>>2)<<2)}ya=f[g>>2]|0;if(!ya){u=d;return D|0}Ko(ya);u=d;return D|0}function nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;k=e+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(e);else{l=i<<2;m=wk(l)|0;f[e>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+116|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[e>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[e>>2]=0;k=e+4|0;f[k>>2]=0;q=e+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(e);else{t=v<<2;r=wk(t)|0;f[e>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+128|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[e>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=b;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=e+4|0;r=e+8|0;A=a+8|0;w=a+104|0;s=a+4|0;x=e+4|0;t=e+8|0;n=a+92|0;j=a+48|0;i=a+44|0;l=a+36|0;o=a+16|0;p=a+88|0;E=a+76|0;F=a+84|0;G=C;while(1){H=f[B>>2]|0;I=G+-1|0;J=H+I|0;K=f[y>>2]|0;L=(J>>>0)/341|0;M=f[K+(L<<2)>>2]|0;N=J-(L*341|0)|0;L=f[M+(N*12|0)>>2]|0;J=f[M+(N*12|0)+4>>2]|0;O=f[M+(N*12|0)+8>>2]|0;f[z>>2]=I;I=f[q>>2]|0;N=I-K|0;if((1-G-H+((N|0)==0?0:((N>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[I+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}I=f[m>>2]|0;N=I+(O*12|0)|0;H=(f[v>>2]|0)+(O*12|0)|0;if(L>>>0>b>>>0){D=0;break a}K=Pk(a,L,H,J)|0;if(K>>>0>=(f[h>>2]|0)>>>0){D=0;break a}J=(f[a>>2]|0)-(f[(f[H>>2]|0)+(K<<2)>>2]|0)|0;b:do if(!J){if(L|0){M=0;do{P=f[N>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[k>>2]=f[P+4>>2];f[r>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[k>>2];f[S+8>>2]=f[r>>2];f[R>>2]=S+12}else If(P,e);f[A>>2]=(f[A>>2]|0)+1;M=M+1|0}while(M>>>0>>0)}}else{if(L>>>0>=3){if((f[A>>2]|0)>>>0>(f[s>>2]|0)>>>0){D=0;break a}M=O+1|0;P=f[m>>2]|0;S=P+(M*12|0)|0;if((S|0)==(N|0))T=P;else{Df(S,f[N>>2]|0,f[I+(O*12|0)+4>>2]|0);T=f[m>>2]|0}S=(f[T+(M*12|0)>>2]|0)+(K<<2)|0;f[S>>2]=(f[S>>2]|0)+(1<>2]=0;ph(o,S,e);S=(L>>>1)-(f[e>>2]|0)|0;P=L-S|0;c:do if((S|0)==(P|0)){U=S;V=S}else{R=f[p>>2]|0;Q=f[F>>2]|0;do if((Q|0)!=(f[E>>2]|0)){W=(f[Q>>2]&1<<31-R|0)!=0;X=R+1|0;f[p>>2]=X;if((X|0)==32){f[F>>2]=Q+4;f[p>>2]=0;if(W){U=S;V=P;break c}else break}else if(W){U=S;V=P;break c}else break}while(0);U=P;V=S}while(0);S=f[v>>2]|0;P=f[S+(O*12|0)>>2]|0;Q=P+(K<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;Df(S+(M*12|0)|0,P,f[S+(O*12|0)+4>>2]|0);if(U|0){S=f[q>>2]|0;P=f[y>>2]|0;Q=S-P|0;R=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((Q|0)==0?0:((Q>>2)*341|0)+-1|0)|0)==(R|0)){cc(g);Y=(f[B>>2]|0)+(f[z>>2]|0)|0;_=f[q>>2]|0;$=f[y>>2]|0}else{Y=R;_=S;$=P}if((_|0)==($|0))aa=0;else{P=(Y>>>0)/341|0;aa=(f[$+(P<<2)>>2]|0)+((Y-(P*341|0)|0)*12|0)|0}f[aa>>2]=U;f[aa+4>>2]=K;f[aa+8>>2]=O;f[z>>2]=(f[z>>2]|0)+1}if(V|0){P=f[q>>2]|0;S=f[y>>2]|0;R=P-S|0;Q=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((R|0)==0?0:((R>>2)*341|0)+-1|0)|0)==(Q|0)){cc(g);ba=(f[B>>2]|0)+(f[z>>2]|0)|0;ca=f[q>>2]|0;da=f[y>>2]|0}else{ba=Q;ca=P;da=S}if((ca|0)==(da|0))ea=0;else{S=(ba>>>0)/341|0;ea=(f[da+(S<<2)>>2]|0)+((ba-(S*341|0)|0)*12|0)|0}f[ea>>2]=V;f[ea+4>>2]=K;f[ea+8>>2]=M;f[z>>2]=(f[z>>2]|0)+1}break}S=f[w>>2]|0;f[S>>2]=K;P=f[h>>2]|0;if(P>>>0>1){Q=1;R=P;W=K;while(1){W=(W|0)==(R+-1|0)?0:W+1|0;f[S+(Q<<2)>>2]=W;Q=Q+1|0;X=f[h>>2]|0;if(Q>>>0>=X>>>0){fa=X;break}else R=X}}else fa=P;if(L|0){R=0;Q=fa;while(1){if(!Q)ga=f[n>>2]|0;else{W=f[w>>2]|0;S=f[n>>2]|0;M=f[H>>2]|0;X=0;do{ha=W+(X<<2)|0;f[S+(f[ha>>2]<<2)>>2]=0;ia=f[ha>>2]|0;ja=(f[a>>2]|0)-(f[M+(ia<<2)>>2]|0)|0;do if(ja|0){ka=S+(ia<<2)|0;la=f[j>>2]|0;ma=32-la|0;if((ja|0)>(ma|0)){na=f[i>>2]|0;oa=na+4|0;if((oa|0)==(f[l>>2]|0)){f[ka>>2]=0;break}else{pa=f[na>>2]<>2]=na;f[i>>2]=oa;qa=32-na|0;f[ka>>2]=(f[oa>>2]|0)>>>qa|pa>>>(qa-ma|0);break}}ma=f[i>>2]|0;if((ma|0)==(f[l>>2]|0)){f[ka>>2]=0;break}f[ka>>2]=f[ma>>2]<>>(32-ja|0);la=(f[j>>2]|0)+ja|0;f[j>>2]=la;if((la|0)!=32)break;f[i>>2]=ma+4;f[j>>2]=0}while(0);ja=f[ha>>2]|0;ia=S+(ja<<2)|0;f[ia>>2]=f[ia>>2]|f[(f[N>>2]|0)+(ja<<2)>>2];X=X+1|0}while(X>>>0<(f[h>>2]|0)>>>0);ga=S}S=f[ga>>2]|0;f[e>>2]=S;f[x>>2]=f[ga+4>>2];f[t>>2]=f[ga+8>>2];X=f[c>>2]|0;M=X+4|0;W=f[M>>2]|0;if(W>>>0<(f[X+8>>2]|0)>>>0){f[W>>2]=S;f[W+4>>2]=f[x>>2];f[W+8>>2]=f[t>>2];f[M>>2]=W+12}else If(X,e);f[A>>2]=(f[A>>2]|0)+1;X=R+1|0;if(X>>>0>=L>>>0)break b;R=X;Q=f[h>>2]|0}}}while(0);G=f[z>>2]|0;if(!G){D=1;break}}}while(0);h=f[y>>2]|0;e=f[B>>2]|0;c=(e>>>0)/341|0;ga=h+(c<<2)|0;a=f[q>>2]|0;fa=a;ea=h;if((a|0)!=(h|0)?(V=(f[ga>>2]|0)+((e-(c*341|0)|0)*12|0)|0,c=(f[z>>2]|0)+e|0,e=(c>>>0)/341|0,ba=(f[h+(e<<2)>>2]|0)+((c-(e*341|0)|0)*12|0)|0,(ba|0)!=(V|0)):0){e=ga;ga=V;while(1){V=ga+12|0;if((V-(f[e>>2]|0)|0)==4092){c=e+4|0;ra=c;sa=f[c>>2]|0}else{ra=e;sa=V}ga=sa;if((ba|0)==(ga|0))break;else e=ra}}f[z>>2]=0;z=fa-ea>>2;if(z>>>0>2){ea=h;do{Ko(f[ea>>2]|0);ea=(f[y>>2]|0)+4|0;f[y>>2]=ea;ta=f[q>>2]|0;ua=ta-ea>>2}while(ua>>>0>2);va=ua;wa=ea;xa=ta}else{va=z;wa=h;xa=a}switch(va|0){case 1:{ya=170;za=89;break}case 2:{ya=341;za=89;break}default:{}}if((za|0)==89)f[B>>2]=ya;if((wa|0)!=(xa|0)){ya=wa;do{Ko(f[ya>>2]|0);ya=ya+4|0}while((ya|0)!=(xa|0));xa=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(xa|0))f[q>>2]=y+(~((y+-4-xa|0)>>>2)<<2)}xa=f[g>>2]|0;if(!xa){u=d;return D|0}Ko(xa);u=d;return D|0}function ob(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=Ia,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=vl(q|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;if(!(b[a+32>>0]|0)){r=o;m=0;while(1){s=_(b[r>>0]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}else{r=o;m=0;while(1){s=_(_(b[r>>0]|0)/_(127.0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}}else t=l;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 2:{r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;q=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=vl(q|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+u|0;if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=_(h[u>>0]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){v=q;break}else u=u+1|0}}else{u=o;k=0;while(1){s=_(_(h[u>>0]|0)/_(255.0));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else u=u+1|0}}}else v=m;u=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 3:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(vl(Bk(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,H|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=_(d[u>>1]|0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else u=u+2|0}}else{u=o;l=0;while(1){s=_(_(d[u>>1]|0)/_(32767.0));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else u=u+2|0}}else w=k;u=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 4:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(vl(Bk(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,H|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){s=_(j[u>>1]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else u=u+2|0}}else{u=o;m=0;while(1){s=_(_(j[u>>1]|0)/_(65535.0));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){x=k;break}else u=u+2|0}}else x=l;u=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 5:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(vl(Bk(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,H|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=_(f[u>>2]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){y=q;break}else u=u+4|0}}else{u=o;k=0;while(1){s=_(_(f[u>>2]|0)*_(4.65661287e-10));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){y=l;break}else u=u+4|0}}else y=m;u=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 6:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(vl(Bk(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,H|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=_((f[u>>2]|0)>>>0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){z=q;break}else u=u+4|0}}else{u=o;l=0;while(1){s=_(_((f[u>>2]|0)>>>0)*_(2.32830644e-10));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){z=m;break}else u=u+4|0}}else z=k;u=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 7:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(vl(Bk(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,H|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){q=u;s=_(+((f[q>>2]|0)>>>0)+4294967296.0*+(f[q+4>>2]|0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else u=u+8|0}}else{u=o;m=0;while(1){k=u;s=_(_(+((f[k>>2]|0)>>>0)+4294967296.0*+(f[k+4>>2]|0))*_(1.08420217e-19));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){A=k;break}else u=u+8|0}}else A=l;u=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 8:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(vl(Bk(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,H|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){q=u;s=_(+((f[q>>2]|0)>>>0)+4294967296.0*+((f[q+4>>2]|0)>>>0));n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){B=q;break}else u=u+8|0}}else{u=o;k=0;while(1){l=u;s=_(_(+((f[l>>2]|0)>>>0)+4294967296.0*+((f[l+4>>2]|0)>>>0))*_(5.42101086e-20));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){B=l;break}else u=u+8|0}}else B=m;u=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 9:{u=a+24|0;k=b[u>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;l=Bk(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=vl(l|0,H|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=r+q|0;q=0;while(1){f[g+(q<<2)>>2]=f[o>>2];q=q+1|0;r=b[u>>0]|0;if((q|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){C=r;break}else o=o+4|0}}else C=k;o=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 10:{o=a+24|0;q=b[o>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){u=f[f[a>>2]>>2]|0;m=a+40|0;r=Bk(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;l=vl(r|0,H|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=u+l|0;l=0;while(1){s=_(+p[m>>3]);n[g+(l<<2)>>2]=s;l=l+1|0;u=b[o>>0]|0;if((l|0)>=((u<<24>>24>e<<24>>24?e:u)<<24>>24|0)){D=u;break}else m=m+8|0}}else D=q;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;k=a+40|0;u=Bk(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=vl(u|0,H|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=o+r|0;r=0;while(1){s=_((b[k>>0]|0)!=0&1);n[g+(r<<2)>>2]=s;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){E=o;break}else k=k+1|0}}else E=l;k=E<<24>>24;if(E<<24>>24>=e<<24>>24){i=1;return i|0}oh(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;d=u;u=u+48|0;e=d+24|0;g=d;h=a+12|0;i=f[h>>2]|0;f[e>>2]=0;j=e+4|0;f[j>>2]=0;k=e+8|0;f[k>>2]=0;do if(i)if(i>>>0>1073741823)$n(e);else{l=i<<2;m=wk(l)|0;f[e>>2]=m;n=m+(i<<2)|0;f[k>>2]=n;oh(m|0,0,l|0)|0;f[j>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+116|0;n=f[m>>2]|0;l=f[n>>2]|0;if(!l){q=n+8|0;r=n+4|0;s=p;t=o;v=i}else{i=n+4|0;f[i>>2]=l;Ko(l);l=n+8|0;f[l>>2]=0;f[i>>2]=0;f[n>>2]=0;q=l;r=i;s=f[e>>2]|0;t=f[j>>2]|0;v=f[h>>2]|0}f[n>>2]=s;f[r>>2]=t;f[q>>2]=f[k>>2];f[e>>2]=0;k=e+4|0;f[k>>2]=0;q=e+8|0;f[q>>2]=0;do if(v)if(v>>>0>1073741823)$n(e);else{t=v<<2;r=wk(t)|0;f[e>>2]=r;s=r+(v<<2)|0;f[q>>2]=s;oh(r|0,0,t|0)|0;f[k>>2]=s;w=s;x=r;break}else{w=0;x=0}while(0);v=a+128|0;r=f[v>>2]|0;s=f[r>>2]|0;if(!s){y=r+8|0;z=r+4|0;A=x;B=w}else{w=r+4|0;f[w>>2]=s;Ko(s);s=r+8|0;f[s>>2]=0;f[w>>2]=0;f[r>>2]=0;y=s;z=w;A=f[e>>2]|0;B=f[k>>2]|0}f[r>>2]=A;f[z>>2]=B;f[y>>2]=f[q>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;q=g+8|0;y=g+4|0;B=g+16|0;z=g+20|0;cc(g);A=f[y>>2]|0;r=(f[B>>2]|0)+(f[z>>2]|0)|0;if((f[q>>2]|0)==(A|0))C=0;else{k=(r>>>0)/341|0;C=(f[A+(k<<2)>>2]|0)+((r-(k*341|0)|0)*12|0)|0}f[C>>2]=b;f[C+4>>2]=0;f[C+8>>2]=0;C=(f[z>>2]|0)+1|0;f[z>>2]=C;a:do if(!C)D=1;else{k=e+4|0;r=e+8|0;A=a+8|0;w=a+104|0;s=a+4|0;x=e+4|0;t=e+8|0;n=a+92|0;j=a+48|0;i=a+44|0;l=a+36|0;o=a+16|0;p=a+88|0;E=a+76|0;F=a+84|0;G=C;while(1){H=f[B>>2]|0;I=G+-1|0;J=H+I|0;K=f[y>>2]|0;L=(J>>>0)/341|0;M=f[K+(L<<2)>>2]|0;N=J-(L*341|0)|0;L=f[M+(N*12|0)>>2]|0;J=f[M+(N*12|0)+4>>2]|0;O=f[M+(N*12|0)+8>>2]|0;f[z>>2]=I;I=f[q>>2]|0;N=I-K|0;if((1-G-H+((N|0)==0?0:((N>>2)*341|0)+-1|0)|0)>>>0>681){Ko(f[I+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}I=f[m>>2]|0;N=I+(O*12|0)|0;if(L>>>0>b>>>0){D=0;break a}H=f[h>>2]|0;K=(H+-1|0)==(J|0)?0:J+1|0;if(K>>>0>=H>>>0){D=0;break a}H=(f[v>>2]|0)+(O*12|0)|0;J=(f[a>>2]|0)-(f[(f[H>>2]|0)+(K<<2)>>2]|0)|0;b:do if(!J){if(L|0){M=0;do{P=f[N>>2]|0;Q=f[P>>2]|0;f[e>>2]=Q;f[k>>2]=f[P+4>>2];f[r>>2]=f[P+8>>2];P=f[c>>2]|0;R=P+4|0;S=f[R>>2]|0;if(S>>>0<(f[P+8>>2]|0)>>>0){f[S>>2]=Q;f[S+4>>2]=f[k>>2];f[S+8>>2]=f[r>>2];f[R>>2]=S+12}else If(P,e);f[A>>2]=(f[A>>2]|0)+1;M=M+1|0}while(M>>>0>>0)}}else{if(L>>>0>=3){if((f[A>>2]|0)>>>0>(f[s>>2]|0)>>>0){D=0;break a}M=O+1|0;Df(I+(M*12|0)|0,f[N>>2]|0,f[I+(O*12|0)+4>>2]|0);P=(f[(f[m>>2]|0)+(M*12|0)>>2]|0)+(K<<2)|0;f[P>>2]=(f[P>>2]|0)+(1<>2]=0;ph(o,P,e);P=(L>>>1)-(f[e>>2]|0)|0;S=L-P|0;c:do if((P|0)==(S|0)){T=P;U=P}else{R=f[p>>2]|0;Q=f[F>>2]|0;do if((Q|0)!=(f[E>>2]|0)){V=(f[Q>>2]&1<<31-R|0)!=0;W=R+1|0;f[p>>2]=W;if((W|0)==32){f[F>>2]=Q+4;f[p>>2]=0;if(V){T=P;U=S;break c}else break}else if(V){T=P;U=S;break c}else break}while(0);T=S;U=P}while(0);P=f[v>>2]|0;S=f[P+(O*12|0)>>2]|0;Q=S+(K<<2)|0;f[Q>>2]=(f[Q>>2]|0)+1;Df(P+(M*12|0)|0,S,f[P+(O*12|0)+4>>2]|0);if(T|0){P=f[q>>2]|0;S=f[y>>2]|0;Q=P-S|0;R=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((Q|0)==0?0:((Q>>2)*341|0)+-1|0)|0)==(R|0)){cc(g);X=(f[B>>2]|0)+(f[z>>2]|0)|0;Y=f[q>>2]|0;_=f[y>>2]|0}else{X=R;Y=P;_=S}if((Y|0)==(_|0))$=0;else{S=(X>>>0)/341|0;$=(f[_+(S<<2)>>2]|0)+((X-(S*341|0)|0)*12|0)|0}f[$>>2]=T;f[$+4>>2]=K;f[$+8>>2]=O;f[z>>2]=(f[z>>2]|0)+1}if(U|0){S=f[q>>2]|0;P=f[y>>2]|0;R=S-P|0;Q=(f[z>>2]|0)+(f[B>>2]|0)|0;if((((R|0)==0?0:((R>>2)*341|0)+-1|0)|0)==(Q|0)){cc(g);aa=(f[B>>2]|0)+(f[z>>2]|0)|0;ba=f[q>>2]|0;ca=f[y>>2]|0}else{aa=Q;ba=S;ca=P}if((ba|0)==(ca|0))da=0;else{P=(aa>>>0)/341|0;da=(f[ca+(P<<2)>>2]|0)+((aa-(P*341|0)|0)*12|0)|0}f[da>>2]=U;f[da+4>>2]=K;f[da+8>>2]=M;f[z>>2]=(f[z>>2]|0)+1}break}P=f[w>>2]|0;f[P>>2]=K;S=f[h>>2]|0;if(S>>>0>1){Q=1;R=S;V=K;while(1){V=(V|0)==(R+-1|0)?0:V+1|0;f[P+(Q<<2)>>2]=V;Q=Q+1|0;W=f[h>>2]|0;if(Q>>>0>=W>>>0){ea=W;break}else R=W}}else ea=S;if(L|0){R=0;Q=ea;while(1){if(!Q)fa=f[n>>2]|0;else{V=f[w>>2]|0;P=f[n>>2]|0;M=f[H>>2]|0;W=0;do{ga=V+(W<<2)|0;f[P+(f[ga>>2]<<2)>>2]=0;ha=f[ga>>2]|0;ia=(f[a>>2]|0)-(f[M+(ha<<2)>>2]|0)|0;do if(ia|0){ja=P+(ha<<2)|0;ka=f[j>>2]|0;la=32-ka|0;if((ia|0)>(la|0)){ma=f[i>>2]|0;na=ma+4|0;if((na|0)==(f[l>>2]|0)){f[ja>>2]=0;break}else{oa=f[ma>>2]<>2]=ma;f[i>>2]=na;pa=32-ma|0;f[ja>>2]=(f[na>>2]|0)>>>pa|oa>>>(pa-la|0);break}}la=f[i>>2]|0;if((la|0)==(f[l>>2]|0)){f[ja>>2]=0;break}f[ja>>2]=f[la>>2]<>>(32-ia|0);ka=(f[j>>2]|0)+ia|0;f[j>>2]=ka;if((ka|0)!=32)break;f[i>>2]=la+4;f[j>>2]=0}while(0);ia=f[ga>>2]|0;ha=P+(ia<<2)|0;f[ha>>2]=f[ha>>2]|f[(f[N>>2]|0)+(ia<<2)>>2];W=W+1|0}while(W>>>0<(f[h>>2]|0)>>>0);fa=P}P=f[fa>>2]|0;f[e>>2]=P;f[x>>2]=f[fa+4>>2];f[t>>2]=f[fa+8>>2];W=f[c>>2]|0;M=W+4|0;V=f[M>>2]|0;if(V>>>0<(f[W+8>>2]|0)>>>0){f[V>>2]=P;f[V+4>>2]=f[x>>2];f[V+8>>2]=f[t>>2];f[M>>2]=V+12}else If(W,e);f[A>>2]=(f[A>>2]|0)+1;W=R+1|0;if(W>>>0>=L>>>0)break b;R=W;Q=f[h>>2]|0}}}while(0);G=f[z>>2]|0;if(!G){D=1;break}}}while(0);h=f[y>>2]|0;e=f[B>>2]|0;c=(e>>>0)/341|0;fa=h+(c<<2)|0;a=f[q>>2]|0;ea=a;da=h;if((a|0)!=(h|0)?(U=(f[fa>>2]|0)+((e-(c*341|0)|0)*12|0)|0,c=(f[z>>2]|0)+e|0,e=(c>>>0)/341|0,aa=(f[h+(e<<2)>>2]|0)+((c-(e*341|0)|0)*12|0)|0,(aa|0)!=(U|0)):0){e=fa;fa=U;while(1){U=fa+12|0;if((U-(f[e>>2]|0)|0)==4092){c=e+4|0;qa=c;ra=f[c>>2]|0}else{qa=e;ra=U}fa=ra;if((aa|0)==(fa|0))break;else e=qa}}f[z>>2]=0;z=ea-da>>2;if(z>>>0>2){da=h;do{Ko(f[da>>2]|0);da=(f[y>>2]|0)+4|0;f[y>>2]=da;sa=f[q>>2]|0;ta=sa-da>>2}while(ta>>>0>2);ua=ta;va=da;wa=sa}else{ua=z;va=h;wa=a}switch(ua|0){case 1:{xa=170;ya=87;break}case 2:{xa=341;ya=87;break}default:{}}if((ya|0)==87)f[B>>2]=xa;if((va|0)!=(wa|0)){xa=va;do{Ko(f[xa>>2]|0);xa=xa+4|0}while((xa|0)!=(wa|0));wa=f[y>>2]|0;y=f[q>>2]|0;if((y|0)!=(wa|0))f[q>>2]=y+(~((y+-4-wa|0)>>>2)<<2)}wa=f[g>>2]|0;if(!wa){u=d;return D|0}Ko(wa);u=d;return D|0}function qb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;g=u;u=u+64|0;d=g+16|0;h=g;i=a+8|0;f[i>>2]=e;j=a+32|0;k=a+36|0;l=f[j>>2]|0;m=(f[k>>2]|0)-l>>2;if(m>>>0>=e>>>0){if(m>>>0>e>>>0)f[k>>2]=l+(e<<2)}else Eg(j,e-m|0);m=d;j=m+48|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(j|0));f[h>>2]=0;if(!e){n=0;o=0}else{Of(d,e,h);n=f[d+12>>2]|0;o=f[d+16>>2]|0}f[h>>2]=0;m=d+16|0;j=o-n>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0)f[m>>2]=n+(e<<2)}else Of(d+12|0,e-j|0,h);j=d+24|0;f[h>>2]=0;n=d+28|0;m=f[j>>2]|0;o=(f[n>>2]|0)-m>>2;if(o>>>0>=e>>>0){if(o>>>0>e>>>0)f[n>>2]=m+(e<<2)}else Of(j,e-o|0,h);o=d+36|0;f[h>>2]=0;j=d+40|0;m=f[o>>2]|0;n=(f[j>>2]|0)-m>>2;if(n>>>0>=e>>>0){if(n>>>0>e>>>0)f[j>>2]=m+(e<<2)}else Of(o,e-n|0,h);n=f[d>>2]|0;if((f[i>>2]|0)>0){o=a+16|0;m=a+32|0;j=a+12|0;l=0;do{k=f[n+(l<<2)>>2]|0;p=f[o>>2]|0;do if((k|0)<=(p|0)){q=f[j>>2]|0;r=f[m>>2]|0;s=r+(l<<2)|0;if((k|0)<(q|0)){f[s>>2]=q;t=r;break}else{f[s>>2]=k;t=r;break}}else{r=f[m>>2]|0;f[r+(l<<2)>>2]=p;t=r}while(0);l=l+1|0;v=f[i>>2]|0}while((l|0)<(v|0));if((v|0)>0){v=a+20|0;l=0;do{m=(f[b+(l<<2)>>2]|0)+(f[t+(l<<2)>>2]|0)|0;n=c+(l<<2)|0;f[n>>2]=m;if((m|0)<=(f[o>>2]|0)){if((m|0)<(f[j>>2]|0)){w=(f[v>>2]|0)+m|0;x=19}}else{w=m-(f[v>>2]|0)|0;x=19}if((x|0)==19){x=0;f[n>>2]=w}l=l+1|0}while((l|0)<(f[i>>2]|0))}}l=f[a+48>>2]|0;w=f[a+52>>2]|0;v=wk(16)|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;f[h>>2]=0;j=h+4|0;f[j>>2]=0;o=h+8|0;f[o>>2]=0;do if(e)if(e>>>0>1073741823)$n(h);else{t=e<<2;n=wk(t)|0;f[h>>2]=n;m=n+(e<<2)|0;f[o>>2]=m;oh(n|0,0,t|0)|0;f[j>>2]=m;y=n;break}else y=0;while(0);o=f[a+56>>2]|0;n=f[o>>2]|0;m=(f[o+4>>2]|0)-n|0;t=m>>2;a:do if((m|0)>4){p=n;k=(e|0)>0;r=l+64|0;s=l+28|0;q=a+16|0;z=a+32|0;A=a+12|0;B=a+20|0;C=e<<2;D=(e|0)==1;E=1;while(1){if(t>>>0<=E>>>0){x=30;break}F=f[p+(E<<2)>>2]|0;do if((F|0)!=-1){G=(((F>>>0)%3|0|0)==0?2:-1)+F|0;H=(G|0)==-1;I=G>>>5;J=1<<(G&31);K=1;L=0;M=F;N=f[l>>2]|0;b:while(1){O=f[d+(L*12|0)>>2]|0;if(((f[N+(M>>>5<<2)>>2]&1<<(M&31)|0)==0?(P=f[(f[(f[r>>2]|0)+12>>2]|0)+(M<<2)>>2]|0,(P|0)!=-1):0)?(Q=f[s>>2]|0,R=f[w>>2]|0,S=f[R+(f[Q+(P<<2)>>2]<<2)>>2]|0,T=P+1|0,U=f[R+(f[Q+((((T>>>0)%3|0|0)==0?P+-2|0:T)<<2)>>2]<<2)>>2]|0,T=f[R+(f[Q+((((P>>>0)%3|0|0)==0?2:-1)+P<<2)>>2]<<2)>>2]|0,(S|0)<(E|0)&(U|0)<(E|0)&(T|0)<(E|0)):0){P=W(S,e)|0;S=W(U,e)|0;U=W(T,e)|0;if(k){T=0;do{f[O+(T<<2)>>2]=(f[c+(T+U<<2)>>2]|0)+(f[c+(T+S<<2)>>2]|0)-(f[c+(T+P<<2)>>2]|0);T=T+1|0}while((T|0)!=(e|0))}T=L+1|0;if((T|0)==4){V=4;break}else X=T}else X=L;do if(K){T=M+1|0;P=((T>>>0)%3|0|0)==0?M+-2|0:T;if((P|0)!=-1){T=f[l>>2]|0;if((f[T+(P>>>5<<2)>>2]&1<<(P&31)|0)==0?(S=f[(f[(f[r>>2]|0)+12>>2]|0)+(P<<2)>>2]|0,P=S+1|0,(S|0)!=-1):0){Y=((P>>>0)%3|0|0)==0?S+-2|0:P;Z=T}else{Y=-1;Z=T}}else{Y=-1;Z=N}}else{T=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if(((T|0)!=-1?(f[N+(T>>>5<<2)>>2]&1<<(T&31)|0)==0:0)?(P=f[(f[(f[r>>2]|0)+12>>2]|0)+(T<<2)>>2]|0,(P|0)!=-1):0)if(!((P>>>0)%3|0)){Y=P+2|0;Z=N;break}else{Y=P+-1|0;Z=N;break}else{Y=-1;Z=N}}while(0);if((Y|0)==(F|0)){x=59;break}P=(Y|0)!=-1;T=P|K^1;do if(!(T|H)){S=f[l>>2]|0;if(f[S+(I<<2)>>2]&J|0){x=59;break b}U=f[(f[(f[r>>2]|0)+12>>2]|0)+(G<<2)>>2]|0;if((U|0)==-1){x=59;break b}if(!((U>>>0)%3|0)){_=0;$=U+2|0;aa=S;break}else{_=0;$=U+-1|0;aa=S;break}}else{_=P&K;$=T?Y:-1;aa=Z}while(0);if(($|0)==-1){x=59;break}else{K=_;L=X;M=$;N=aa}}if((x|0)==59){x=0;if((X|0)>0)V=X;else{x=60;break}}if(k){oh(f[h>>2]|0,0,C|0)|0;N=V+-1|0;M=v+(N<<2)|0;L=a+60+(N*12|0)+4|0;K=a+60+(N*12|0)|0;N=f[h>>2]|0;G=0;J=0;while(1){I=f[M>>2]|0;f[M>>2]=I+1;if((f[L>>2]|0)>>>0<=I>>>0){ba=N;ca=0;break a}if(!(f[(f[K>>2]|0)+(I>>>5<<2)>>2]&1<<(I&31))){I=f[d+(G*12|0)>>2]|0;H=0;do{T=N+(H<<2)|0;f[T>>2]=(f[T>>2]|0)+(f[I+(H<<2)>>2]|0);H=H+1|0}while((H|0)!=(e|0));da=J+1|0}else da=J;G=G+1|0;if((G|0)>=(V|0)){ea=da;break}else J=da}}else{J=V+-1|0;G=v+(J<<2)|0;N=a+60+(J*12|0)|0;K=f[h>>2]|0;L=f[a+60+(J*12|0)+4>>2]|0;J=0;M=0;H=f[G>>2]|0;while(1){I=H;H=H+1|0;f[G>>2]=H;if(L>>>0<=I>>>0){ba=K;ca=0;break a}T=M+((f[(f[N>>2]|0)+(I>>>5<<2)>>2]&1<<(I&31)|0)==0&1)|0;J=J+1|0;if((J|0)>=(V|0)){ea=T;break}else M=T}}M=W(E,e)|0;if(ea){J=f[h>>2]|0;if(k?(f[J>>2]=(f[J>>2]|0)/(ea|0)|0,!D):0){N=1;do{K=J+(N<<2)|0;f[K>>2]=(f[K>>2]|0)/(ea|0)|0;N=N+1|0}while((N|0)!=(e|0))}N=b+(M<<2)|0;K=c+(M<<2)|0;if((f[i>>2]|0)>0){L=0;do{H=f[J+(L<<2)>>2]|0;G=f[q>>2]|0;do if((H|0)<=(G|0)){T=f[A>>2]|0;I=f[z>>2]|0;P=I+(L<<2)|0;if((H|0)<(T|0)){f[P>>2]=T;fa=I;break}else{f[P>>2]=H;fa=I;break}}else{I=f[z>>2]|0;f[I+(L<<2)>>2]=G;fa=I}while(0);L=L+1|0;ga=f[i>>2]|0}while((L|0)<(ga|0));if((ga|0)>0){L=0;do{J=(f[N+(L<<2)>>2]|0)+(f[fa+(L<<2)>>2]|0)|0;G=K+(L<<2)|0;f[G>>2]=J;do if((J|0)>(f[q>>2]|0)){ha=J-(f[B>>2]|0)|0;x=106}else{if((J|0)>=(f[A>>2]|0))break;ha=(f[B>>2]|0)+J|0;x=106}while(0);if((x|0)==106){x=0;f[G>>2]=ha}L=L+1|0}while((L|0)<(f[i>>2]|0))}}}else{ia=M;x=73}}else x=60;while(0);if((x|0)==60){x=0;ia=W(E,e)|0;x=73}if((x|0)==73?(x=0,F=c+((W(E+-1|0,e)|0)<<2)|0,L=b+(ia<<2)|0,K=c+(ia<<2)|0,(f[i>>2]|0)>0):0){N=0;do{J=f[F+(N<<2)>>2]|0;H=f[q>>2]|0;do if((J|0)<=(H|0)){I=f[A>>2]|0;P=f[z>>2]|0;T=P+(N<<2)|0;if((J|0)<(I|0)){f[T>>2]=I;ja=P;break}else{f[T>>2]=J;ja=P;break}}else{P=f[z>>2]|0;f[P+(N<<2)>>2]=H;ja=P}while(0);N=N+1|0;ka=f[i>>2]|0}while((N|0)<(ka|0));if((ka|0)>0){N=0;do{F=(f[L+(N<<2)>>2]|0)+(f[ja+(N<<2)>>2]|0)|0;H=K+(N<<2)|0;f[H>>2]=F;if((F|0)<=(f[q>>2]|0)){if((F|0)<(f[A>>2]|0)){la=(f[B>>2]|0)+F|0;x=87}}else{la=F-(f[B>>2]|0)|0;x=87}if((x|0)==87){x=0;f[H>>2]=la}N=N+1|0}while((N|0)<(f[i>>2]|0))}}E=E+1|0;if((E|0)>=(t|0)){x=110;break}}if((x|0)==30)$n(o);else if((x|0)==110){ba=f[h>>2]|0;ca=1;break}}else{ba=y;ca=1}while(0);if(ba|0){f[j>>2]=ba;Ko(ba)}Ko(v);v=f[d+36>>2]|0;if(v|0){f[d+40>>2]=v;Ko(v)}v=f[d+24>>2]|0;if(v|0){f[d+28>>2]=v;Ko(v)}v=f[d+12>>2]|0;if(v|0){f[d+16>>2]=v;Ko(v)}v=f[d>>2]|0;if(!v){u=g;return ca|0}f[d+4>>2]=v;Ko(v);u=g;return ca|0}function rb(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0,G=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.0,ia=0.0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;q=em(c)|0;r=H;if((r|0)<0){s=-c;t=em(s)|0;v=s;w=1;x=14101;y=H;z=t}else{v=c;w=(g&2049|0)!=0&1;x=(g&2048|0)==0?((g&1|0)==0?14102:14107):14104;y=r;z=q}do if(0==0&(y&2146435072|0)==2146435072){q=(i&32|0)!=0;z=w+3|0;vi(a,32,d,z,g&-65537);Pm(a,x,w);Pm(a,v!=v|0.0!=0.0?(q?14128:14132):q?14120:14124,3);vi(a,32,d,z,g^8192);A=z}else{c=+oo(v,l)*2.0;z=c!=0.0;if(z)f[l>>2]=(f[l>>2]|0)+-1;q=i|32;if((q|0)==97){r=i&32;t=(r|0)==0?x:x+9|0;B=w|2;C=12-e|0;do if(!(e>>>0>11|(C|0)==0)){s=8.0;D=C;do{D=D+-1|0;s=s*16.0}while((D|0)!=0);if((b[t>>0]|0)==45){E=-(s+(-c-s));break}else{E=c+s-s;break}}else E=c;while(0);C=f[l>>2]|0;D=(C|0)<0?0-C|0:C;F=xh(D,((D|0)<0)<<31>>31,p)|0;if((F|0)==(p|0)){D=o+11|0;b[D>>0]=48;G=D}else G=F;b[G+-1>>0]=(C>>31&2)+43;C=G+-2|0;b[C>>0]=i+15;F=(e|0)<1;D=(g&8|0)==0;I=m;J=E;while(1){K=~~J;L=I+1|0;b[I>>0]=r|h[14136+K>>0];J=(J-+(K|0))*16.0;if((L-n|0)==1?!(D&(F&J==0.0)):0){b[L>>0]=46;M=I+2|0}else M=L;if(!(J!=0.0))break;else I=M}I=M;if((e|0)!=0?(-2-n+I|0)<(e|0):0){F=p;D=C;N=e+2+F-D|0;O=F;P=D}else{D=p;F=C;N=D-n-F+I|0;O=D;P=F}F=N+B|0;vi(a,32,d,F,g);Pm(a,t,B);vi(a,48,d,F,g^65536);D=I-n|0;Pm(a,m,D);I=O-P|0;vi(a,48,N-(D+I)|0,0,0);Pm(a,C,I);vi(a,32,d,F,g^8192);A=F;break}F=(e|0)<0?6:e;if(z){I=(f[l>>2]|0)+-28|0;f[l>>2]=I;Q=c*268435456.0;R=I}else{Q=c;R=f[l>>2]|0}I=(R|0)<0?k:k+288|0;D=I;J=Q;do{r=~~J>>>0;f[D>>2]=r;D=D+4|0;J=(J-+(r>>>0))*1.0e9}while(J!=0.0);if((R|0)>0){z=I;C=D;B=R;while(1){t=(B|0)<29?B:29;r=C+-4|0;if(r>>>0>=z>>>0){L=r;r=0;do{K=rl(f[L>>2]|0,0,t|0)|0;S=vl(K|0,H|0,r|0,0)|0;K=H;r=ln(S|0,K|0,1e9,0)|0;T=Bk(r|0,H|0,1e9,0)|0;U=wl(S|0,K|0,T|0,H|0)|0;f[L>>2]=U;L=L+-4|0}while(L>>>0>=z>>>0);if(r){L=z+-4|0;f[L>>2]=r;V=L}else V=z}else V=z;a:do if(C>>>0>V>>>0){L=C;while(1){U=L+-4|0;if(f[U>>2]|0){X=L;break a}if(U>>>0>V>>>0)L=U;else{X=U;break}}}else X=C;while(0);r=(f[l>>2]|0)-t|0;f[l>>2]=r;if((r|0)>0){z=V;C=X;B=r}else{Y=V;Z=X;_=r;break}}}else{Y=I;Z=D;_=R}if((_|0)<0){B=((F+25|0)/9|0)+1|0;C=(q|0)==102;z=Y;r=Z;L=_;while(1){U=0-L|0;T=(U|0)<9?U:9;if(z>>>0>>0){U=(1<>>T;S=0;$=z;do{aa=f[$>>2]|0;f[$>>2]=(aa>>>T)+S;S=W(aa&U,K)|0;$=$+4|0}while($>>>0>>0);$=(f[z>>2]|0)==0?z+4|0:z;if(!S){ba=r;ca=$}else{f[r>>2]=S;ba=r+4|0;ca=$}}else{ba=r;ca=(f[z>>2]|0)==0?z+4|0:z}$=C?I:ca;K=(ba-$>>2|0)>(B|0)?$+(B<<2)|0:ba;L=(f[l>>2]|0)+T|0;f[l>>2]=L;if((L|0)>=0){da=ca;ea=K;break}else{z=ca;r=K}}}else{da=Y;ea=Z}r=I;if(da>>>0>>0){z=(r-da>>2)*9|0;L=f[da>>2]|0;if(L>>>0<10)fa=z;else{B=z;z=10;while(1){z=z*10|0;C=B+1|0;if(L>>>0>>0){fa=C;break}else B=C}}}else fa=0;B=(q|0)==103;z=(F|0)!=0;L=F-((q|0)==102?0:fa)+((z&B)<<31>>31)|0;if((L|0)<(((ea-r>>2)*9|0)+-9|0)){C=L+9216|0;L=(C|0)/9|0;D=I+4+(L+-1024<<2)|0;K=C-(L*9|0)|0;if((K|0)<8){L=K;K=10;while(1){C=K*10|0;if((L|0)<7){L=L+1|0;K=C}else{ga=C;break}}}else ga=10;K=f[D>>2]|0;L=(K>>>0)/(ga>>>0)|0;q=K-(W(L,ga)|0)|0;C=(D+4|0)==(ea|0);if(!(C&(q|0)==0)){s=(L&1|0)==0?9007199254740992.0:9007199254740994.0;L=ga>>>1;J=q>>>0>>0?.5:C&(q|0)==(L|0)?1.0:1.5;if(!w){ha=J;ia=s}else{L=(b[x>>0]|0)==45;ha=L?-J:J;ia=L?-s:s}L=K-q|0;f[D>>2]=L;if(ia+ha!=ia){q=L+ga|0;f[D>>2]=q;if(q>>>0>999999999){q=D;L=da;while(1){K=q+-4|0;f[q>>2]=0;if(K>>>0>>0){C=L+-4|0;f[C>>2]=0;ja=C}else ja=L;C=(f[K>>2]|0)+1|0;f[K>>2]=C;if(C>>>0>999999999){q=K;L=ja}else{ka=K;la=ja;break}}}else{ka=D;la=da}L=(r-la>>2)*9|0;q=f[la>>2]|0;if(q>>>0<10){ma=ka;na=L;oa=la}else{K=L;L=10;while(1){L=L*10|0;C=K+1|0;if(q>>>0>>0){ma=ka;na=C;oa=la;break}else K=C}}}else{ma=D;na=fa;oa=da}}else{ma=D;na=fa;oa=da}K=ma+4|0;pa=na;qa=ea>>>0>K>>>0?K:ea;ra=oa}else{pa=fa;qa=ea;ra=da}K=0-pa|0;b:do if(qa>>>0>ra>>>0){L=qa;while(1){q=L+-4|0;if(f[q>>2]|0){sa=L;ta=1;break b}if(q>>>0>ra>>>0)L=q;else{sa=q;ta=0;break}}}else{sa=qa;ta=0}while(0);do if(B){D=F+((z^1)&1)|0;if((D|0)>(pa|0)&(pa|0)>-5){ua=i+-1|0;va=D+-1-pa|0}else{ua=i+-2|0;va=D+-1|0}if(!(g&8)){if(ta?(D=f[sa+-4>>2]|0,(D|0)!=0):0)if(!((D>>>0)%10|0)){L=0;T=10;while(1){T=T*10|0;S=L+1|0;if((D>>>0)%(T>>>0)|0|0){wa=S;break}else L=S}}else wa=0;else wa=9;L=((sa-r>>2)*9|0)+-9|0;if((ua|32|0)==102){T=L-wa|0;D=(T|0)>0?T:0;xa=ua;ya=(va|0)<(D|0)?va:D;break}else{D=L+pa-wa|0;L=(D|0)>0?D:0;xa=ua;ya=(va|0)<(L|0)?va:L;break}}else{xa=ua;ya=va}}else{xa=i;ya=F}while(0);F=(ya|0)!=0;r=F?1:g>>>3&1;z=(xa|32|0)==102;if(z){za=0;Aa=(pa|0)>0?pa:0}else{B=(pa|0)<0?K:pa;L=xh(B,((B|0)<0)<<31>>31,p)|0;B=p;if((B-L|0)<2){D=L;while(1){T=D+-1|0;b[T>>0]=48;if((B-T|0)<2)D=T;else{Ba=T;break}}}else Ba=L;b[Ba+-1>>0]=(pa>>31&2)+43;D=Ba+-2|0;b[D>>0]=xa;za=D;Aa=B-D|0}D=w+1+ya+r+Aa|0;vi(a,32,d,D,g);Pm(a,x,w);vi(a,48,d,D,g^65536);if(z){K=ra>>>0>I>>>0?I:ra;T=m+9|0;S=T;q=m+8|0;C=K;do{$=xh(f[C>>2]|0,0,T)|0;if((C|0)==(K|0))if(($|0)==(T|0)){b[q>>0]=48;Ca=q}else Ca=$;else if($>>>0>m>>>0){oh(m|0,48,$-n|0)|0;U=$;while(1){t=U+-1|0;if(t>>>0>m>>>0)U=t;else{Ca=t;break}}}else Ca=$;Pm(a,Ca,S-Ca|0);C=C+4|0}while(C>>>0<=I>>>0);if(!((g&8|0)==0&(F^1)))Pm(a,14152,1);if(C>>>0>>0&(ya|0)>0){I=ya;S=C;while(1){q=xh(f[S>>2]|0,0,T)|0;if(q>>>0>m>>>0){oh(m|0,48,q-n|0)|0;K=q;while(1){z=K+-1|0;if(z>>>0>m>>>0)K=z;else{Da=z;break}}}else Da=q;Pm(a,Da,(I|0)<9?I:9);S=S+4|0;K=I+-9|0;if(!(S>>>0>>0&(I|0)>9)){Ea=K;break}else I=K}}else Ea=ya;vi(a,48,Ea+9|0,9,0)}else{I=ta?sa:ra+4|0;if(ra>>>0>>0&(ya|0)>-1){S=m+9|0;T=(g&8|0)==0;C=S;F=0-n|0;K=m+8|0;$=ya;z=ra;while(1){r=xh(f[z>>2]|0,0,S)|0;if((r|0)==(S|0)){b[K>>0]=48;Fa=K}else Fa=r;do if((z|0)==(ra|0)){r=Fa+1|0;Pm(a,Fa,1);if(T&($|0)<1){Ga=r;break}Pm(a,14152,1);Ga=r}else{if(Fa>>>0<=m>>>0){Ga=Fa;break}oh(m|0,48,Fa+F|0)|0;r=Fa;while(1){B=r+-1|0;if(B>>>0>m>>>0)r=B;else{Ga=B;break}}}while(0);q=C-Ga|0;Pm(a,Ga,($|0)>(q|0)?q:$);r=$-q|0;z=z+4|0;if(!(z>>>0>>0&(r|0)>-1)){Ha=r;break}else $=r}}else Ha=ya;vi(a,48,Ha+18|0,18,0);Pm(a,za,p-za|0)}vi(a,32,d,D,g^8192);A=D}while(0);u=j;return ((A|0)<(d|0)?d:A)|0} +function Wf(a){a=a|0;ym(a);ym(a+16|0);ym(a+32|0);ym(a+48|0);ym(a+64|0);ym(a+80|0);ym(a+96|0);ym(a+112|0);ym(a+128|0);ym(a+144|0);ym(a+160|0);ym(a+176|0);ym(a+192|0);ym(a+208|0);ym(a+224|0);ym(a+240|0);ym(a+256|0);ym(a+272|0);ym(a+288|0);ym(a+304|0);ym(a+320|0);ym(a+336|0);ym(a+352|0);ym(a+368|0);ym(a+384|0);ym(a+400|0);ym(a+416|0);ym(a+432|0);ym(a+448|0);ym(a+464|0);ym(a+480|0);ym(a+496|0);return}function Xf(a,b){a=a|0;b=b|0;var c=0,d=Ia,e=0,g=0,h=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Hc(a,c);return}if(c>>>0>=b>>>0)return;d=_((f[a+12>>2]|0)>>>0);e=~~_(V(_(d/_(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0){g=1<<32-(Z(e+-1|0)|0);h=e>>>0<2?e:g}else h=Za(e)|0;e=c>>>0>>0?h:c;if(e>>>0>=b>>>0)return;Hc(a,e);return}function Yf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+80|0;g=e;h=e+64|0;oj(g);i=f[(f[a+8>>2]|0)+56>>2]|0;j=W(Bj(5)|0,d)|0;Ih(g,i,0,d&255,5,0,j,((j|0)<0)<<31>>31,0,0);j=wk(96)|0;$i(j,g);b[j+84>>0]=1;f[j+72>>2]=f[j+68>>2];Fh(j,c)|0;f[h>>2]=j;Lh(a,h);a=f[h>>2]|0;f[h>>2]=0;if(!a){u=e;return}h=a+88|0;j=f[h>>2]|0;f[h>>2]=0;if(j|0){h=f[j+8>>2]|0;if(h|0){f[j+12>>2]=h;Ko(h)}Ko(j)}j=f[a+68>>2]|0;if(j|0){f[a+72>>2]=j;Ko(j)}j=a+64|0;h=f[j>>2]|0;f[j>>2]=0;if(h|0){j=f[h>>2]|0;if(j|0){f[h+4>>2]=j;Ko(j)}Ko(h)}Ko(a);u=e;return}function Zf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+32|0;e=d+16|0;g=d;switch(c<<24>>24){case 0:{c=wk(48)|0;wn(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}case 1:{c=wk(52)|0;Am(c);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=d;return}default:{c=wk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;i=11853;j=h+28|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;Yi(c,g);f[a>>2]=f[e>>2];Yi(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)Ko(f[c>>2]|0);if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);u=d;return}}}function _f(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=a+8|0;g=f[e>>2]|0;h=b[g+24>>0]|0;i=h<<24>>24;j=i<<1;k=Ho(i>>>0>2147483647?-1:i<<1)|0;l=f[a+16>>2]|0;if(!(f[l+80>>2]|0))m=0;else m=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;if(!c){Io(k);return}if(h<<24>>24>0){h=0;l=0;a=0;while(1){n=0;o=a;while(1){d[k+(n<<1)>>1]=f[m+(o<<2)>>2];n=n+1|0;if((n|0)==(i|0))break;else o=o+1|0}Bf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+l|0,k|0,j|0)|0;h=h+1|0;if((h|0)==(c|0))break;else{l=l+j|0;a=a+i|0}}Io(k);return}else{Bf(f[f[g+64>>2]>>2]|0,k|0,j|0)|0;if((c|0)==1){Io(k);return}g=0;i=1;do{g=g+j|0;Bf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+g|0,k|0,j|0)|0;i=i+1|0}while((i|0)!=(c|0));Io(k);return}}function $f(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=a+8|0;e=f[d>>2]|0;g=b[e+24>>0]|0;h=g<<24>>24;i=h<<2;j=Ho(h>>>0>1073741823?-1:h<<2)|0;k=f[a+16>>2]|0;if(!(f[k+80>>2]|0))l=0;else l=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;if(!c){Io(j);return}if(g<<24>>24>0){g=0;k=0;a=0;while(1){m=0;n=a;while(1){f[j+(m<<2)>>2]=f[l+(n<<2)>>2];m=m+1|0;if((m|0)==(h|0))break;else n=n+1|0}Bf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+k|0,j|0,i|0)|0;g=g+1|0;if((g|0)==(c|0))break;else{k=k+i|0;a=a+h|0}}Io(j);return}else{Bf(f[f[e+64>>2]>>2]|0,j|0,i|0)|0;if((c|0)==1){Io(j);return}e=0;h=1;do{e=e+i|0;Bf((f[f[(f[d>>2]|0)+64>>2]>>2]|0)+e|0,j|0,i|0)|0;h=h+1|0}while((h|0)!=(c|0));Io(j);return}}function ag(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;k=f[g+4>>2]|0;g=vl(i|0,k|0,4,0)|0;l=H;if((e|0)<(l|0)|(e|0)==(l|0)&d>>>0>>0){m=0;return m|0}n=(f[b>>2]|0)+i|0;o=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;n=c;f[n>>2]=g;f[n+4>>2]=l;do if((j[b+38>>1]|0)<514){l=vl(i|0,k|0,8,0)|0;n=H;if((e|0)<(n|0)|(e|0)==(n|0)&d>>>0>>0){m=0;return m|0}else{g=c;f[g>>2]=l;f[g+4>>2]=n;break}}while(0);if(!(o&1)){m=0;return m|0}c=(Z(o|0)|0)^31;if((c+-1|0)>>>0>28){m=0;return m|0}f[a+8>>2]=c+1;o=2<>2]=o+-1;c=o+-2|0;f[a+16>>2]=c;f[a+20>>2]=(c|0)/2|0;m=1;return m|0}function bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;f[c>>2]=0;f[e>>2]=g;Ef(a,b,e);g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){f[c+12>>2]=e;Ko(e)}Ko(c)}c=f[g+68>>2]|0;if(c|0){f[g+72>>2]=c;Ko(c)}c=g+64|0;e=f[c>>2]|0;f[c>>2]=0;if(e|0){c=f[e>>2]|0;if(c|0){f[e+4>>2]=c;Ko(c)}Ko(e)}Ko(g)}g=a+84|0;e=a+88|0;a=f[g>>2]|0;c=(f[e>>2]|0)-a>>2;if((c|0)>(b|0)){u=d;return}h=b+1|0;if(h>>>0>c>>>0){Sf(g,h-c|0);u=d;return}if(h>>>0>=c>>>0){u=d;return}f[e>>2]=a+(h<<2);u=d;return}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=b;i=g;do{j=i;f[j>>2]=0;f[j+4>>2]=0;i=(f[e>>2]|0)+8|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h|0;g=i>>3;j=g+b|0;if(j>>>0>536870911)$n(a);k=d-h|0;d=k>>2;l=k>>3>>>0<268435455?(d>>>0>>0?j:d):536870911;do if(l)if(l>>>0>536870911){d=qa(8)|0;Dm(d,13552);f[d>>2]=4908;ta(d|0,1128,105)}else{d=wk(l<<3)|0;m=d;n=d;break}else{m=0;n=0}while(0);oh(m+(g<<3)|0,0,b<<3|0)|0;if((i|0)>0)Bf(n|0,h|0,i|0)|0;f[a>>2]=m;f[e>>2]=m+(j<<3);f[c>>2]=m+(l<<3);if(!h)return;Ko(h);return}function dg(a,b){a=a|0;b=b|0;var c=0,d=Ia,e=0,g=0,h=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=Za(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Oc(a,c);return}if(c>>>0>=b>>>0)return;d=_((f[a+12>>2]|0)>>>0);e=~~_(V(_(d/_(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0){g=1<<32-(Z(e+-1|0)|0);h=e>>>0<2?e:g}else h=Za(e)|0;e=c>>>0>>0?h:c;if(e>>>0>=b>>>0)return;Oc(a,e);return}function eg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g|0;i=g;a:do if(h>>>0>>0){j=c-h|0;k=a+8|0;l=f[k>>2]|0;if((l-e|0)>>>0>=j>>>0){m=j;n=e;while(1){b[n>>0]=0;n=(f[d>>2]|0)+1|0;f[d>>2]=n;m=m+-1|0;if(!m)break a}}if((c|0)<0)$n(a);m=l-g|0;n=m<<1;o=m>>>0<1073741823?(n>>>0>>0?c:n):2147483647;if(!o)p=0;else p=wk(o)|0;oh(p+h|0,0,j|0)|0;if((h|0)>0)Bf(p|0,i|0,h|0)|0;f[a>>2]=p;f[d>>2]=p+c;f[k>>2]=p+o;if(g|0)Ko(i)}else if(h>>>0>c>>>0)f[d>>2]=i+c;while(0);c=a+24|0;a=c;i=vl(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=c;f[a>>2]=i;f[a+4>>2]=H;return}function fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;e=a+8|0;f[e>>2]=0;if(!b)return;if(b>>>0>357913941)$n(a);g=wk(b*12|0)|0;f[d>>2]=g;f[a>>2]=g;f[e>>2]=g+(b*12|0);e=c+4|0;a=b;b=g;while(1){f[b>>2]=0;g=b+4|0;f[g>>2]=0;h=b+8|0;f[h>>2]=0;i=(f[e>>2]|0)-(f[c>>2]|0)|0;j=i>>2;if(i|0){if(j>>>0>1073741823){k=7;break}l=wk(i)|0;f[g>>2]=l;f[b>>2]=l;f[h>>2]=l+(j<<2);j=f[c>>2]|0;h=(f[e>>2]|0)-j|0;if((h|0)>0){Bf(l|0,j|0,h|0)|0;f[g>>2]=l+(h>>>2<<2)}}h=(f[d>>2]|0)+12|0;f[d>>2]=h;a=a+-1|0;if(!a){k=11;break}else b=h}if((k|0)==7)$n(b);else if((k|0)==11)return}function gg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!c){g=0;u=d;return g|0}h=a+84|0;i=f[h>>2]|0;f[h>>2]=0;f[a+88>>2]=0;f[a+92>>2]=0;if(i|0)Ko(i);i=a+72|0;h=f[i>>2]|0;f[i>>2]=0;f[a+76>>2]=0;f[a+80>>2]=0;if(h|0)Ko(h);h=c+4|0;i=(f[h>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;Gf(a,i,e);i=c+24|0;j=c+28|0;k=(f[j>>2]|0)-(f[i>>2]|0)>>2;b[e>>0]=0;Gf(a+12|0,k,e);nf(a+28|0,(f[h>>2]|0)-(f[c>>2]|0)>>2,3764);Wh(a+52|0,(f[j>>2]|0)-(f[i>>2]|0)>>2);Wh(a+40|0,(f[j>>2]|0)-(f[i>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;g=1;u=d;return g|0}function hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[a+40>>2]|0;d=c;e=a+44|0;a=f[e>>2]|0;if((a|0)==(c|0))return;g=d;h=c;while(1){if((f[(f[h>>2]|0)+40>>2]|0)==(b|0))break;i=h+4|0;if((a|0)==(i|0)){j=16;break}else{g=i;h=i}}if((j|0)==16)return;h=c+(g-d>>2<<2)|0;d=h+4|0;if((d|0)!=(a|0)){g=d;d=h;do{c=f[g>>2]|0;f[g>>2]=0;b=f[d>>2]|0;f[d>>2]=c;if(b|0){eh(b);Ko(b)}g=g+4|0;d=d+4|0}while((g|0)!=(a|0));g=f[e>>2]|0;if((g|0)==(d|0))k=d;else{l=d;m=g;j=10}}else{l=h;m=a;j=10}if((j|0)==10){j=m;do{j=j+-4|0;m=f[j>>2]|0;f[j>>2]=0;if(m|0){eh(m);Ko(m)}}while((j|0)!=(l|0));k=l}f[e>>2]=k;return}function ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;h=a+12|0;i=(f[h>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;Ra[e&15](a,i,d);i=f[d>>2]|0;f[d>>2]=0;if(!i){k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}d=i+88|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){f[a+12>>2]=d;Ko(d)}Ko(a)}a=f[i+68>>2]|0;if(a|0){f[i+72>>2]=a;Ko(a)}a=i+64|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){a=f[d>>2]|0;if(a|0){f[d+4>>2]=a;Ko(a)}Ko(d)}Ko(i);k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}function jg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+640|0;c=f[b>>2]|0;if(c|0){d=a+644|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;do{e=h;h=h+-12|0;i=f[h>>2]|0;if(i|0){f[e+-8>>2]=i;Ko(i)}}while((h|0)!=(c|0));g=f[b>>2]|0}f[d>>2]=c;Ko(g)}g=a+628|0;c=f[g>>2]|0;if(c|0){d=a+632|0;b=f[d>>2]|0;if((b|0)==(c|0))j=c;else{h=b;do{b=h;h=h+-12|0;i=f[h>>2]|0;if(i|0){f[b+-8>>2]=i;Ko(i)}}while((h|0)!=(c|0));j=f[g>>2]|0}f[d>>2]=c;Ko(j)}j=f[a+616>>2]|0;if(j|0){f[a+620>>2]=j;Ko(j)}j=f[a+604>>2]|0;if(j|0){f[a+608>>2]=j;Ko(j)}zk(a+584|0);zk(a+564|0);zk(a+544|0);Oo(a+16|0);return}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=wk(72)|0;Gk(c);d=c;if((b|0)<0){Pa[f[(f[c>>2]|0)+4>>2]&127](c);e=0;return e|0}c=a+8|0;g=a+12|0;a=f[g>>2]|0;h=f[c>>2]|0;i=a-h>>2;do if((i|0)<=(b|0)){j=b+1|0;k=a;if(j>>>0>i>>>0){Se(c,j-i|0);break}if(j>>>0>>0){l=h+(j<<2)|0;if((l|0)!=(k|0)){j=k;do{j=j+-4|0;k=f[j>>2]|0;f[j>>2]=0;if(k|0)Pa[f[(f[k>>2]|0)+4>>2]&127](k)}while((j|0)!=(l|0))}f[g>>2]=l}}while(0);g=(f[c>>2]|0)+(b<<2)|0;b=f[g>>2]|0;f[g>>2]=d;if(!b){e=1;return e|0}Pa[f[(f[b>>2]|0)+4>>2]&127](b);e=1;return e|0}function lg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(bj(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0>>0){j=Ma[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)<0|(c|0)==0){l=0;m=a;n=c;o=k}else{e=c;while(1){p=e+-1|0;if((b[a+p>>0]|0)==10)break;if(!p){l=0;m=a;n=c;o=k;break b}else e=p}p=Ma[f[d+36>>2]&31](d,a,e)|0;if(p>>>0>>0){j=p;break a}l=e;m=a+e|0;n=c-e|0;o=f[g>>2]|0}while(0);Bf(o|0,m|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=l+n|0}while(0);return j|0}function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+60|0;d=f[c>>2]|0;if(!d){e=0;return e|0}f[d+4>>2]=a+48;if(!(Ka[f[(f[d>>2]|0)+12>>2]&127](d)|0)){e=0;return e|0}d=Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((d|0)>0){g=0;while(1){h=(Ka[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;i=f[h>>2]|0;h=La[f[(f[a>>2]|0)+20>>2]&127](a,g)|0;j=f[c>>2]|0;g=g+1|0;if(!(La[f[(f[j>>2]|0)+8>>2]&127](j,f[(f[i+8>>2]|0)+(h<<2)>>2]|0)|0)){e=0;break}if((g|0)>=(d|0))break a}return e|0}while(0);if(!(La[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){e=0;return e|0}if(!(La[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){e=0;return e|0}e=Ka[f[(f[a>>2]|0)+44>>2]&127](a)|0;return e|0}function ng(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Dh(d)|0;if(h>>>0>4294967279)$n(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=wk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Bf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;lh(c,g,e)|0;c=e+11|0;h=b[c>>0]|0;i=h<<24>>24<0?f[e>>2]|0:e;if((b[g+11>>0]|0)<0){Ko(f[g>>2]|0);n=b[c>>0]|0}else n=h;if(n<<24>>24>=0){u=a;return i|0}Ko(f[e>>2]|0);u=a;return i|0}function og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=wk(88)|0;d=c+60|0;e=c;g=e+60|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;d=c+64|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;d=jf(c,b)|0;b=d?0:c;f[a>>2]=d?c:0;if(d)return;a=f[b+76>>2]|0;if(a|0){f[b+80>>2]=a;Ko(a)}a=f[b+64>>2]|0;if(a|0){f[b+68>>2]=a;Ko(a)}a=f[b+48>>2]|0;if(a|0){f[b+52>>2]=a;Ko(a)}a=f[b+24>>2]|0;if(a|0){f[b+28>>2]=a;Ko(a)}a=f[b+12>>2]|0;if(a|0){f[b+16>>2]=a;Ko(a)}a=f[b>>2]|0;if(a|0){f[b+4>>2]=a;Ko(a)}Ko(d?0:c);return}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0;c=a+4|0;if((Ka[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){d=1;return d|0}a=0;while(1){e=f[(f[c>>2]|0)+4>>2]|0;g=Kj(e,La[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;i=9;break}e=f[c>>2]|0;if(((h[e+36>>0]|0)<<8&65535)<512){if(!(La[f[(f[b>>2]|0)+28>>2]&127](b,f[(f[(f[e+4>>2]|0)+8>>2]|0)+(g<<2)>>2]|0)|0)){d=0;i=9;break}}else{j=Qi(e,g)|0;if(!j){d=0;i=9;break}if(!(La[f[(f[b>>2]|0)+28>>2]&127](b,j)|0)){d=0;i=9;break}}a=a+1|0;if((a|0)>=(Ka[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;i=9;break}}if((i|0)==9)return d|0;return 0}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=(f[b+4>>2]|0)-(f[b>>2]|0)|0;b=d>>2;e=a+8|0;a=f[(f[e>>2]|0)+40>>2]|0;g=Ho((a|0)>-1?a:-1)|0;h=c+8|0;if((d|0)<=0){i=1;Io(g);return i|0}d=c+16|0;j=0;k=0;while(1){l=h;m=f[l>>2]|0;n=f[l+4>>2]|0;l=d;o=f[l>>2]|0;p=vl(o|0,f[l+4>>2]|0,a|0,0)|0;l=H;if((n|0)<(l|0)|(n|0)==(l|0)&m>>>0

>>0){i=0;q=5;break}Bf(g|0,(f[c>>2]|0)+o|0,a|0)|0;o=d;f[o>>2]=p;f[o+4>>2]=l;Bf((f[f[(f[e>>2]|0)+64>>2]>>2]|0)+j|0,g|0,a|0)|0;k=k+1|0;if((k|0)>=(b|0)){i=1;q=5;break}else j=j+a|0}if((q|0)==5){Io(g);return i|0}return 0}function rg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+216|0;e=a+220|0;g=f[d>>2]|0;if((f[e>>2]|0)==(g|0))return 0;h=a+4|0;a=0;i=g;a:while(1){g=f[i+(a*144|0)>>2]|0;if(((g|0)>=0?(j=f[h>>2]|0,k=f[j+8>>2]|0,(g|0)<((f[j+12>>2]|0)-k>>2|0)):0)?(j=f[k+(g<<2)>>2]|0,(Ka[f[(f[j>>2]|0)+24>>2]&127](j)|0)>0):0){g=0;do{if((La[f[(f[j>>2]|0)+20>>2]&127](j,g)|0)==(c|0)){l=9;break a}g=g+1|0}while((g|0)<(Ka[f[(f[j>>2]|0)+24>>2]&127](j)|0))}j=a+1|0;i=f[d>>2]|0;if(j>>>0>=(((f[e>>2]|0)-i|0)/144|0)>>>0){l=11;break}else a=j}if((l|0)==9){i=f[d>>2]|0;return ((b[i+(a*144|0)+100>>0]|0)==0?0:i+(a*144|0)+4|0)|0}else if((l|0)==11)return 0;return 0}function sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=f[g+4>>2]|0;g=vl(i|0,j|0,4,0)|0;k=H;if((e|0)<(k|0)|(e|0)==(k|0)&d>>>0>>0){l=0;return l|0}m=(f[b>>2]|0)+i|0;b=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;m=c;f[m>>2]=g;f[m+4>>2]=k;k=vl(i|0,j|0,8,0)|0;j=H;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){l=0;return l|0}d=c;f[d>>2]=k;f[d+4>>2]=j;if(!(b&1)){l=0;return l|0}j=(Z(b|0)|0)^31;if((j+-1|0)>>>0>28){l=0;return l|0}f[a+8>>2]=j+1;b=2<>2]=b+-1;j=b+-2|0;f[a+16>>2]=j;f[a+20>>2]=(j|0)/2|0;l=1;return l|0}function tg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;if(b>>>0<64){b=f[a+12>>2]|0;if(b>>>0<=1){e=0;return e|0}d=f[c>>2]|0;c=0;g=1;while(1){h=(f[d+(c<<2)>>2]|0)>>>0>(f[d+(g<<2)>>2]|0)>>>0?g:c;g=g+1|0;if(g>>>0>=b>>>0){e=h;break}else c=h}return e|0}c=a+580|0;b=f[c>>2]|0;g=32-b|0;d=a+576|0;if((g|0)<4){h=f[d>>2]|0;i=h+4|0;if((i|0)==(f[a+568>>2]|0)){e=0;return e|0}j=f[h>>2]<>2]=h;f[d>>2]=i;k=32-h|0;e=(f[i>>2]|0)>>>k|j>>>(k-g|0);return e|0}g=f[d>>2]|0;if((g|0)==(f[a+568>>2]|0)){e=0;return e|0}a=f[g>>2]<>>28;k=b+4|0;f[c>>2]=k;if((k|0)!=32){e=a;return e|0}f[d>>2]=g+4;f[c>>2]=0;e=a;return e|0}function ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+216|0;d=a+220|0;e=f[c>>2]|0;a:do if((f[d>>2]|0)!=(e|0)){g=a+4|0;h=0;i=e;b:while(1){j=f[i+(h*144|0)>>2]|0;if(((j|0)>=0?(k=f[g>>2]|0,l=f[k+8>>2]|0,(j|0)<((f[k+12>>2]|0)-l>>2|0)):0)?(k=f[l+(j<<2)>>2]|0,(Ka[f[(f[k>>2]|0)+24>>2]&127](k)|0)>0):0){j=0;do{if((La[f[(f[k>>2]|0)+20>>2]&127](k,j)|0)==(b|0))break b;j=j+1|0}while((j|0)<(Ka[f[(f[k>>2]|0)+24>>2]&127](k)|0))}k=h+1|0;i=f[c>>2]|0;if(k>>>0>=(((f[d>>2]|0)-i|0)/144|0)>>>0)break a;else h=k}m=(f[c>>2]|0)+(h*144|0)+104|0;return m|0}while(0);m=a+184|0;return m|0}function vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+16|0;e=c+8|0;g=c;h=a+8|0;if(f[h>>2]<<5>>>0>=b>>>0){u=c;return}f[d>>2]=0;i=d+4|0;f[i>>2]=0;j=d+8|0;f[j>>2]=0;if((b|0)<0)$n(d);k=((b+-1|0)>>>5)+1|0;b=wk(k<<2)|0;f[d>>2]=b;f[i>>2]=0;f[j>>2]=k;k=f[a>>2]|0;f[e>>2]=k;f[e+4>>2]=0;b=a+4|0;l=f[b>>2]|0;f[g>>2]=k+(l>>>5<<2);f[g+4>>2]=l&31;Xe(d,e,g);g=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=g;d=f[b>>2]|0;f[b>>2]=f[i>>2];f[i>>2]=d;d=f[h>>2]|0;f[h>>2]=f[j>>2];f[j>>2]=d;if(g|0)Ko(g);u=c;return}function wg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;e=c;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){g=d+8|0;i=f[g+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if((i|0)>(m|0)|((i|0)==(m|0)?(f[g>>2]|0)>>>0>l>>>0:0)){g=b[(f[d>>2]|0)+l>>0]|0;i=vl(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=H;m=g&255;f[a+24>>2]=m;n=m;break}else{o=0;u=c;return o|0}}else n=f[a+24>>2]|0;while(0);f[e>>2]=1200;f[e+4>>2]=-1;kn(e,n);o=Si(e,f[a+16>>2]|0)|0;u=c;return o|0}function xg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=d;if(g>>>0>>0){de(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b<<2)|0;if((g|0)!=(h|0)){b=h;do{b=b+-4|0;h=f[b>>2]|0;f[b>>2]=0;if(h|0){e=h+88|0;a=f[e>>2]|0;f[e>>2]=0;if(a|0){e=f[a+8>>2]|0;if(e|0){f[a+12>>2]=e;Ko(e)}Ko(a)}a=f[h+68>>2]|0;if(a|0){f[h+72>>2]=a;Ko(a)}a=h+64|0;e=f[a>>2]|0;f[a>>2]=0;if(e|0){a=f[e>>2]|0;if(a|0){f[e+4>>2]=a;Ko(a)}Ko(e)}Ko(h)}}while((b|0)!=(g|0))}f[c>>2]=g;return}function yg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)$n(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=qa(8)|0;Dm(k,13552);f[k>>2]=4908;ta(k|0,1128,105)}else{m=wk(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Bf(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;Ko(d);return}function zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=Le(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=wk(40)|0;Yi(g+16|0,b);b=g+28|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=b;f[e>>2]=g;b=f[f[a>>2]>>2]|0;if(!b)j=g;else{f[a>>2]=b;j=f[e>>2]|0}vd(f[a+4>>2]|0,j);j=a+8|0;f[j>>2]=(f[j>>2]|0)+1;h=g;i=h+28|0;u=c;return i|0}function Ag(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=3776;b=f[a+68>>2]|0;if(b|0){f[a+72>>2]=b;Ko(b)}b=f[a+56>>2]|0;if(b|0){f[a+60>>2]=b;Ko(b)}b=f[a+44>>2]|0;if(b|0){f[a+48>>2]=b;Ko(b)}b=f[a+32>>2]|0;if(b|0){f[a+36>>2]=b;Ko(b)}b=f[a+20>>2]|0;if(b|0){f[a+24>>2]=b;Ko(b)}Pg(a+8|0);b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+40|0;c=f[b>>2]|0;if(c|0){d=a+44|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;do{h=h+-4|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){eh(e);Ko(e)}}while((h|0)!=(c|0));g=f[b>>2]|0}f[d>>2]=c;Ko(g)}eh(a);Ko(a);return}function Bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+112|0;d=c+96|0;e=c+16|0;g=c+4|0;h=c;i=e+76|0;j=e;k=j+76|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[i>>2]=-1;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;f[h>>2]=g;f[d>>2]=f[h>>2];if(Pc(e,a,d)|0){d=f[g>>2]|0;Ye(b,d,d+((f[i>>2]|0)-d>>2<<2)|0);l=f[e+68>>2]|0}else l=0;d=f[g>>2]|0;if(!d){hh(e);u=c;return l|0}f[i>>2]=d;Ko(d);hh(e);u=c;return l|0}function Cg(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0>>0)$n(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=wk(p)|0;if(g|0)um(o,m,g)|0;if(i|0)um(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)um(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)Ko(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;xn(o+p|0,l);u=k;return}function Dg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=a+12|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d+28>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;Dg(c+8|0);Ko(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Ko(c);c=f[d+8>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;g=c+8|0;h=f[c+20>>2]|0;if(h|0){f[c+24>>2]=h;Ko(h)}if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);Ko(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)Ko(e);Ko(d)}if((b[a+11>>0]|0)>=0)return;Ko(f[a>>2]|0);return}function Eg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){oh(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)$n(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=qa(8)|0;Dm(d,13552);f[d>>2]=4908;ta(d|0,1128,105)}else{d=wk(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;oh(d|0,0,b<<2|0)|0;if((i|0)>0)Bf(n|0,h|0,i|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;Ko(h);return}function Fg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;a=u;u=u+16|0;e=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;g=Dh(d)|0;if(g>>>0>4294967279)$n(e);if(g>>>0<11){b[e+11>>0]=g;if(!g)h=e;else{i=e;j=6}}else{k=g+16&-16;l=wk(k)|0;f[e>>2]=l;f[e+8>>2]=k|-2147483648;f[e+4>>2]=g;i=l;j=6}if((j|0)==6){Bf(i|0,d|0,g|0)|0;h=i}b[h+g>>0]=0;g=(Dc(c,e)|0)!=0;if((b[e+11>>0]|0)>=0){u=a;return g|0}Ko(f[e>>2]|0);u=a;return g|0}function Gg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3456;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=1065353216;b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;ak(a+232|0);b=a+380|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[a+400>>2]=-1;f[a+404>>2]=-1;f[a+408>>2]=2;f[a+412>>2]=7;b=a+416|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function Hg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a+12|0;g=a;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Dh(d)|0;if(h>>>0>4294967279)$n(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=wk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Bf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=lh(c,g,e)|0;if((b[g+11>>0]|0)<0)Ko(f[g>>2]|0);if((b[e+11>>0]|0)>=0){u=a;return h|0}Ko(f[e>>2]|0);u=a;return h|0}function Ig(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=j;j=i;while(1){if(j<<24>>24<0)l=f[c>>2]|0;else l=c;f[g>>2]=d;m=Qk(l,k+1|0,16046,g)|0;if((m|0)>-1)if(m>>>0>k>>>0)n=m;else break;else n=k<<1|1;Gh(c,n,0);k=n;j=b[h>>0]|0}Gh(c,m,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Jg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+140|0;c=f[b>>2]|0;if((c|0)<=0){d=1;return d|0}e=c<<4;g=Ho(c>>>0>268435455|e>>>0>4294967291?-1:e+4|0)|0;f[g>>2]=c;e=g+4|0;g=e+(c<<4)|0;c=e;do{ym(c);c=c+16|0}while((c|0)!=(g|0));g=a+136|0;c=f[g>>2]|0;f[g>>2]=e;if(c|0){e=c+-4|0;h=f[e>>2]|0;if(h|0){i=c+(h<<4)|0;do i=i+-16|0;while((i|0)!=(c|0))}Io(e)}if((f[b>>2]|0)<=0){d=1;return d|0}e=0;while(1){if(!(rd((f[g>>2]|0)+(e<<4)|0,a)|0)){d=0;j=13;break}e=e+1|0;if((e|0)>=(f[b>>2]|0)){d=1;j=13;break}}if((j|0)==13)return d|0;return 0}function Kg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=e-g|0;i=g;if(h>>>0>=c>>>0){if(h>>>0<=c>>>0)return;f[d>>2]=i+c;return}j=c-h|0;k=a+8|0;l=f[k>>2]|0;if((l-e|0)>>>0>=j>>>0){m=j;n=e;do{b[n>>0]=0;n=(f[d>>2]|0)+1|0;f[d>>2]=n;m=m+-1|0}while((m|0)!=0);return}if((c|0)<0)$n(a);m=l-g|0;l=m<<1;n=m>>>0<1073741823?(l>>>0>>0?c:l):2147483647;if(!n)o=0;else o=wk(n)|0;oh(o+h|0,0,j|0)|0;if((h|0)>0)Bf(o|0,i|0,h|0)|0;f[a>>2]=o;f[d>>2]=o+c;f[k>>2]=o+n;if(!g)return;Ko(i);return}function Lg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=Dc(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=8){g=0;return g|0}e=c;c=e;a=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;c=e+4|0;e=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;c=d;d=c;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;a=c+4|0;b[a>>0]=e;b[a+1>>0]=e>>8;b[a+2>>0]=e>>16;b[a+3>>0]=e>>24;g=1;return g|0}function Mg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(Eo()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=Ro()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=Ro()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function Ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)$n(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=qa(8)|0;Dm(k,13552);f[k>>2]=4908;ta(k|0,1128,105)}else{k=wk(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)Bf(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;Ko(d);return}function Og(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-4|0;f[c>>2]=d;g=f[d>>2]|0;f[d>>2]=0;if(g|0){d=g+88|0;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=f[h+8>>2]|0;if(d|0){f[h+12>>2]=d;Ko(d)}Ko(h)}h=f[g+68>>2]|0;if(h|0){f[g+72>>2]=h;Ko(h)}h=g+64|0;d=f[h>>2]|0;f[h>>2]=0;if(d|0){h=f[d>>2]|0;if(h|0){f[d+4>>2]=h;Ko(h)}Ko(d)}Ko(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;Ko(b);return}function Pg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{g=g+-4|0;d=f[g>>2]|0;f[g>>2]=0;if(d|0){h=d+88|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){h=f[i+8>>2]|0;if(h|0){f[i+12>>2]=h;Ko(h)}Ko(i)}i=f[d+68>>2]|0;if(i|0){f[d+72>>2]=i;Ko(i)}i=d+64|0;h=f[i>>2]|0;f[i>>2]=0;if(h|0){i=f[h>>2]|0;if(i|0){f[h+4>>2]=i;Ko(i)}Ko(h)}Ko(d)}}while((g|0)!=(b|0));e=f[a>>2]|0}f[c>>2]=b;Ko(e);return}function Qg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Dh(d)|0;if(h>>>0>4294967279)$n(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=wk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Bf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;Lg(c,g,e)|0;n=+p[e>>3];if((b[g+11>>0]|0)>=0){u=a;return +n}Ko(f[g>>2]|0);u=a;return +n}function Rg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0;d=u;u=u+32|0;c=d;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Ka[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=d;return e|0}f[c>>2]=1228;f[c+4>>2]=-1;g=c+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;kj(c,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,_(n[a+32>>2]));i=Si(c,f[a+16>>2]|0)|0;f[c>>2]=1228;a=f[g>>2]|0;if(a|0){f[c+12>>2]=a;Ko(a)}e=i;u=d;return e|0}function Sg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=4048;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=h;n=1;o=4}else{h=Ro()|0;f[h>>2]=75;p=-1}else{m=a;n=c;o=4}if((o|0)==4){o=-2-m|0;c=n>>>0>o>>>0?o:n;f[i+48>>2]=c;n=i+20|0;f[n>>2]=m;f[i+44>>2]=m;o=m+c|0;m=i+16|0;f[m>>2]=o;f[i+28>>2]=o;o=Mf(i,d,e)|0;if(!c)p=o;else{c=f[n>>2]|0;b[c+(((c|0)==(f[m>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function Tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+8|0;d=f[a>>2]|0;e=d;if((((f[c>>2]|0)-d|0)/12|0)>>>0>=b>>>0)return;g=a+4|0;if(b>>>0>357913941){h=qa(8)|0;Dm(h,13552);f[h>>2]=4908;ta(h|0,1128,105)}h=f[g>>2]|0;i=wk(b*12|0)|0;j=i+(((h-d|0)/12|0)*12|0)|0;k=j;l=i+(b*12|0)|0;b=h;if((b|0)==(e|0))m=k;else{h=b;b=j;do{j=b;b=b+-12|0;i=h;h=h+-12|0;f[b>>2]=f[h>>2];f[j+-8>>2]=f[i+-8>>2];f[j+-4>>2]=f[i+-4>>2]}while((h|0)!=(e|0));m=b}f[a>>2]=m;f[g>>2]=k;f[c>>2]=l;if(!d)return;Ko(d);return}function Ug(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Dh(d)|0;if(h>>>0>4294967279)$n(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=wk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Bf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;yh(c,g,e)|0;c=f[e>>2]|0;if((b[g+11>>0]|0)>=0){u=a;return c|0}Ko(f[g>>2]|0);u=a;return c|0}function Vg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1416;b=a+60|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+48>>2]|0;if(c|0){f[a+52>>2]=c;Ko(c)}c=a+36|0;b=f[c>>2]|0;if(b|0){d=a+40|0;e=f[d>>2]|0;if((e|0)==(b|0))g=b;else{h=e;do{h=h+-4|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0)Pa[f[(f[e>>2]|0)+4>>2]&127](e)}while((h|0)!=(b|0));g=f[c>>2]|0}f[d>>2]=b;Ko(g)}f[a>>2]=1256;g=f[a+16>>2]|0;if(g|0){f[a+20>>2]=g;Ko(g)}g=f[a+4>>2]|0;if(!g){Ko(a);return}f[a+8>>2]=g;Ko(g);Ko(a);return}function Wg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+32|0;e=a;g=a+8|0;p[e>>3]=0.0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Dh(d)|0;if(h>>>0>4294967279)$n(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=wk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Bf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=Lg(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}Ko(f[g>>2]|0);u=a;return h|0}function Xg(a){a=a|0;var c=0,d=0,e=0,g=0;c=f[a>>2]|0;f[a>>2]=0;if(!c)return;a=f[c+28>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;Xg(a+20|0);if((b[e+11>>0]|0)<0)Ko(f[e>>2]|0);Ko(a)}while((d|0)!=0)}d=c+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)Ko(a);a=f[c+8>>2]|0;if(a|0){d=a;do{a=d;d=f[d>>2]|0;e=a+8|0;g=f[a+20>>2]|0;if(g|0){f[a+24>>2]=g;Ko(g)}if((b[e+11>>0]|0)<0)Ko(f[e>>2]|0);Ko(a)}while((d|0)!=0)}d=f[c>>2]|0;f[c>>2]=0;if(d|0)Ko(d);Ko(c);return}function Yg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=u;u=u+16|0;e=a+12|0;g=a;f[e>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;h=Dh(d)|0;if(h>>>0>4294967279)$n(g);if(h>>>0<11){b[g+11>>0]=h;if(!h)i=g;else{j=g;k=6}}else{l=h+16&-16;m=wk(l)|0;f[g>>2]=m;f[g+8>>2]=l|-2147483648;f[g+4>>2]=h;j=m;k=6}if((k|0)==6){Bf(j|0,d|0,h|0)|0;i=j}b[i+h>>0]=0;h=yh(c,g,e)|0;if((b[g+11>>0]|0)>=0){u=a;return h|0}Ko(f[g>>2]|0);u=a;return h|0}function Zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/144|0;h=d;if(g>>>0>>0){Ad(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*144|0)|0;if((g|0)!=(h|0)){b=h;do{h=f[b+-12>>2]|0;if(h|0){f[b+-8>>2]=h;Ko(h)}h=f[b+-28>>2]|0;if(h|0){f[b+-24>>2]=h;Ko(h)}h=f[b+-40>>2]|0;if(h|0){f[b+-36>>2]=h;Ko(h)}di(b+-140|0);b=b+-144|0}while((b|0)!=(g|0))}f[c>>2]=g;return}function _g(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a+8|0;c=f[b>>2]|0;if((c|0)<0){d=0;return d|0}e=a+4|0;a=f[e>>2]|0;g=a+4|0;h=f[a>>2]|0;i=(f[g>>2]|0)-h>>2;if(c>>>0<=i>>>0)if(c>>>0>>0){f[g>>2]=h+(c<<2);j=c}else j=c;else{Eg(a,c-i|0);j=f[b>>2]|0}if((j|0)<=0){d=1;return d|0}b=f[e>>2]|0;e=f[b>>2]|0;i=(f[b+4>>2]|0)-e>>2;c=e;e=0;while(1){if(i>>>0<=e>>>0){k=9;break}f[c+(e<<2)>>2]=e;e=e+1|0;if((e|0)>=(j|0)){d=1;k=11;break}}if((k|0)==9)$n(b);else if((k|0)==11)return d|0;return 0}function $g(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1416;b=a+60|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+48>>2]|0;if(c|0){f[a+52>>2]=c;Ko(c)}c=a+36|0;b=f[c>>2]|0;if(b|0){d=a+40|0;e=f[d>>2]|0;if((e|0)==(b|0))g=b;else{h=e;do{h=h+-4|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0)Pa[f[(f[e>>2]|0)+4>>2]&127](e)}while((h|0)!=(b|0));g=f[c>>2]|0}f[d>>2]=b;Ko(g)}f[a>>2]=1256;g=f[a+16>>2]|0;if(g|0){f[a+20>>2]=g;Ko(g)}g=f[a+4>>2]|0;if(!g)return;f[a+8>>2]=g;Ko(g);return}function ah(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=vl(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=H;do if(d<<24>>24<0)if(ah(a,c)|0){j=a;e=rl(f[j>>2]|0,f[j+4>>2]|0,7)|0;j=H;g=a;f[g>>2]=e;f[g+4>>2]=j;l=e|d&127;m=j;break}else{k=0;return k|0}else{l=d&255;m=0}while(0);d=a;f[d>>2]=l;f[d+4>>2]=m;k=1;return k|0}function bh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3408;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=1065353216;b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;ak(a+232|0);b=a+380|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;ym(a+400|0);f[a+416>>2]=-1;f[a+420>>2]=-1;return}function ch(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512){e=d+8|0;g=f[e+4>>2]|0;i=d+16|0;j=i;k=f[j>>2]|0;l=f[j+4>>2]|0;if((g|0)>(l|0)|((g|0)==(l|0)?(f[e>>2]|0)>>>0>k>>>0:0)){e=b[(f[d>>2]|0)+k>>0]|0;g=vl(k|0,l|0,1,0)|0;l=i;f[l>>2]=g;f[l+4>>2]=H;f[a+24>>2]=e&255;break}else{m=0;return m|0}}while(0);m=rc(a,c,d)|0;return m|0}function dh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}if((k-j|0)>>>0>>0){th(a,k,j+c-k|0,j,j,0,0);l=b[h>>0]|0}else l=i;if(l<<24>>24<0)m=f[a>>2]|0;else m=a;ol(m+j|0,c,d)|0;d=j+c|0;if((b[h>>0]|0)<0)f[a+4>>2]=d;else b[h>>0]=d;b[g>>0]=0;xn(m+d|0,g)}u=e;return a|0}function eh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;g=c+20|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0){eh(h);Ko(h)}if((b[e+11>>0]|0)<0)Ko(f[e>>2]|0);Ko(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)Ko(c);c=f[a+8>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){f[c+24>>2]=h;Ko(h)}if((b[e+11>>0]|0)<0)Ko(f[e>>2]|0);Ko(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;Ko(d);return}function fh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;sm(l,c,d)|0;b[g>>0]=0;xn(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;Cg(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function gh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+196>>2]|0;if(b|0){f[a+200>>2]=b;Ko(b)}b=a+184|0;c=f[b>>2]|0;if(c|0){d=a+188|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;do{e=h;h=h+-12|0;i=f[h>>2]|0;if(i|0){f[e+-8>>2]=i;Ko(i)}}while((h|0)!=(c|0));g=f[b>>2]|0}f[d>>2]=c;Ko(g)}g=f[a+156>>2]|0;if(g|0){f[a+160>>2]=g;Ko(g)}g=a+136|0;a=f[g>>2]|0;f[g>>2]=0;if(!a)return;g=a+-4|0;c=f[g>>2]|0;if(c|0){d=a+(c<<4)|0;do d=d+-16|0;while((d|0)!=(a|0))}Io(g);return}function hh(a){a=a|0;var b=0;b=f[a+56>>2]|0;if(b|0)Ko(b);b=f[a+32>>2]|0;if(b|0){f[a+36>>2]=b;Ko(b)}b=f[a+20>>2]|0;if(b|0){f[a+24>>2]=b;Ko(b)}b=f[a+8>>2]|0;if(b|0){f[a+12>>2]=b;Ko(b)}b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=f[a+76>>2]|0;if(b|0){f[a+80>>2]=b;Ko(b)}b=f[a+64>>2]|0;if(b|0){f[a+68>>2]=b;Ko(b)}b=f[a+48>>2]|0;if(b|0){f[a+52>>2]=b;Ko(b)}b=f[a+24>>2]|0;if(b|0){f[a+28>>2]=b;Ko(b)}b=f[a+12>>2]|0;if(b|0){f[a+16>>2]=b;Ko(b)}b=f[a>>2]|0;if(b|0){f[a+4>>2]=b;Ko(b)}Ko(a);return}function ih(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=u;u=u+80|0;e=d;g=d+56|0;i=d+40|0;j=e;k=c;c=j+40|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(c|0));fc(i,e,g);e=f[i>>2]|0;if(!e){k=i+4|0;if((b[k+11>>0]|0)<0)Ko(f[k>>2]|0);k=h[g+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=k;u=d;return}else{f[a>>2]=e;e=i+4|0;Yi(a+4|0,e);if((b[e+11>>0]|0)<0)Ko(f[e>>2]|0);u=d;return}}function jh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a>>2]|0;if(!d){e=0;return e|0}g=f[c>>2]|0;if(!g){e=0;return e|0}h=f[g>>2]|0;yf(d,h,(f[g+4>>2]|0)-h|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;h=c+40|0;g=f[h+4>>2]|0;d=a+40|0;f[d>>2]=f[h>>2];f[d+4>>2]=g;g=c+48|0;d=f[g+4>>2]|0;h=a+48|0;f[h>>2]=f[g>>2];f[h+4>>2]=d;f[a+56>>2]=f[c+56>>2];d=c+8|0;c=a+8|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];e=1;return e|0}function kh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!a){g=1;return g|0}h=d+8|0;i=f[h+4>>2]|0;j=d+16|0;k=j;l=f[k>>2]|0;m=f[k+4>>2]|0;if(!((i|0)>(m|0)|((i|0)==(m|0)?(f[h>>2]|0)>>>0>l>>>0:0))){g=0;return g|0}h=b[(f[d>>2]|0)+l>>0]|0;i=vl(l|0,m|0,1,0)|0;m=j;f[m>>2]=i;f[m+4>>2]=H;switch(h<<24>>24){case 0:{g=Jc(a,c,d,e)|0;return g|0}case 1:{g=fd(a,d,e)|0;return g|0}default:{g=0;return g|0}}return 0}function lh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=Dc(a,b)|0;if(!d){e=0;return e|0}b=d+20|0;a=f[b>>2]|0;g=d+24|0;d=f[g>>2]|0;if((a|0)==(d|0)){e=0;return e|0}Gh(c,d-a|0,0);a=gj(c,0)|0;c=f[b>>2]|0;Bf(a|0,c|0,(f[g>>2]|0)-c|0)|0;e=1;return e|0}function mh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1312;Pg(a+60|0);b=f[a+48>>2]|0;if(b|0){f[a+52>>2]=b;Ko(b)}b=a+36|0;c=f[b>>2]|0;if(c|0){d=a+40|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;do{h=h+-24|0;Pa[f[f[h>>2]>>2]&127](h)}while((h|0)!=(c|0));g=f[b>>2]|0}f[d>>2]=c;Ko(g)}f[a>>2]=1256;g=f[a+16>>2]|0;if(g|0){f[a+20>>2]=g;Ko(g)}g=f[a+4>>2]|0;if(!g){Ko(a);return}f[a+8>>2]=g;Ko(g);Ko(a);return}function nh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;if(!h){f[a>>2]=d;f[c+24>>2]=g;f[c+36>>2]=1;if(!((g|0)==1?(f[c+48>>2]|0)==1:0))break;b[c+54>>0]=1;break}if((h|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;b[c+54>>0]=1;break}h=c+24|0;a=f[h>>2]|0;if((a|0)==2){f[h>>2]=g;i=g}else i=a;if((i|0)==1?(f[c+48>>2]|0)==1:0)b[c+54>>0]=1}while(0);return}function oh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function ph(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!c){e=0;f[d>>2]=e;return}g=a+8|0;i=a+4|0;j=0-(b[a+12>>0]|0)&255;k=c;c=0;l=f[g>>2]|0;while(1){m=c<<1;if(l>>>0<4096?(n=f[i>>2]|0,(n|0)>0):0){o=f[a>>2]|0;p=n+-1|0;f[i>>2]=p;n=l<<8|(h[o+p>>0]|0);f[g>>2]=n;q=n}else q=l;n=q&255;p=W(q>>>8,j)|0;o=n>>>0>>0;l=o?p+n|0:q-j-p|0;f[g>>2]=l;p=m|o&1;k=k+-1|0;if(!k){e=p;break}else c=p}f[d>>2]=e;return}function qh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(en(a,f[c+8>>2]|0,g)|0)){if(en(a,f[c>>2]|0,g)|0){if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[c+32>>2]=1}}else nk(0,c,d,e);while(0);return}function rh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1312;Pg(a+60|0);b=f[a+48>>2]|0;if(b|0){f[a+52>>2]=b;Ko(b)}b=a+36|0;c=f[b>>2]|0;if(c|0){d=a+40|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;do{h=h+-24|0;Pa[f[f[h>>2]>>2]&127](h)}while((h|0)!=(c|0));g=f[b>>2]|0}f[d>>2]=c;Ko(g)}f[a>>2]=1256;g=f[a+16>>2]|0;if(g|0){f[a+20>>2]=g;Ko(g)}g=f[a+4>>2]|0;if(!g)return;f[a+8>>2]=g;Ko(g);return}function sh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e+4|0;h=e;if((d|0)!=1){f[a>>2]=0;u=e;return}d=f[b+12>>2]|0;i=f[b+4>>2]|0;b=g;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));Te(h,c,d,i,g);i=f[g+24>>2]|0;if(i|0){f[g+28>>2]=i;Ko(i)}f[a>>2]=f[h>>2];u=e;return}function th(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((-17-c|0)>>>0>>0)$n(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=wk(m)|0;if(g|0)um(l,j,g)|0;k=e-h-g|0;if(k|0)um(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)Ko(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function uh(a,b){a=a|0;b=b|0;if(!b)return;else{uh(a,f[b>>2]|0);uh(a,f[b+4>>2]|0);Bh(b+20|0,f[b+24>>2]|0);Ko(b);return}}function vh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+32|0;g=e+20|0;h=e+16|0;i=e;j=b[a+24>>0]|0;f[i>>2]=f[294];f[i+4>>2]=f[295];f[i+8>>2]=f[296];f[i+12>>2]=f[297];f[h>>2]=c;f[g>>2]=f[h>>2];if(!(ob(a,g,j,i)|0)){k=0;u=e;return k|0}Ye(d,i,i+(j<<24>>24<<2)|0);k=1;u=e;return k|0}function wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;if(!(en(a,b,0)|0))if((b|0)!=0?(g=Pf(b,1072,1056,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;Sa[f[(f[g>>2]|0)+28>>2]&7](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function xh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=d;f=a;g=c;do{c=f;f=ln(f|0,g|0,10,0)|0;h=g;g=H;i=Bk(f|0,g|0,10,0)|0;j=wl(c|0,h|0,i|0,H|0)|0;e=e+-1|0;b[e>>0]=j&255|48}while(h>>>0>9|(h|0)==9&c>>>0>4294967295);k=f;l=e}else{k=a;l=d}if(!k)m=l;else{d=k;k=l;while(1){l=d;d=(d>>>0)/10|0;a=k+-1|0;b[a>>0]=l-(d*10|0)|48;if(l>>>0<10){m=a;break}else k=a}}return m|0}function yh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=Dc(a,c)|0;if(!e){g=0;return g|0}c=f[e+20>>2]|0;if(((f[e+24>>2]|0)-c|0)!=4){g=0;return g|0}e=c;c=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[d>>0]=c;b[d+1>>0]=c>>8;b[d+2>>0]=c>>16;b[d+3>>0]=c>>24;g=1;return g|0}function zh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=c+8|0;e=f[d+4>>2]|0;g=c+16|0;h=g;i=f[h>>2]|0;j=f[h+4>>2]|0;if(!((e|0)>(j|0)|((e|0)==(j|0)?(f[d>>2]|0)>>>0>i>>>0:0))){k=0;return k|0}d=b[(f[c>>2]|0)+i>>0]|0;e=vl(i|0,j|0,1,0)|0;j=g;f[j>>2]=e;f[j+4>>2]=H;j=d&255;do if(j&128)if(zh(a,c)|0){e=f[a>>2]<<7;f[a>>2]=e;l=e|d&127;break}else{k=0;return k|0}else l=j;while(0);f[a>>2]=l;k=1;return k|0}function Ah(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=3180;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=3608;c=f[a+20>>2]|0;if(c|0){f[a+24>>2]=c;Ko(c)}c=a+8|0;b=f[c>>2]|0;if(!b){Ko(a);return}d=a+12|0;e=f[d>>2]|0;if((e|0)==(b|0))g=b;else{h=e;do{h=h+-4|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0)Pa[f[(f[e>>2]|0)+4>>2]&127](e)}while((h|0)!=(b|0));g=f[c>>2]|0}f[d>>2]=b;Ko(g);Ko(a);return}function Bh(a,c){a=a|0;c=c|0;var d=0;if(!c)return;Bh(a,f[c>>2]|0);Bh(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)Ko(f[d>>2]|0);if((b[a+11>>0]|0)<0)Ko(f[a>>2]|0);Ko(c);return}function Ch(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=f[g+-12>>2]|0;if(d|0){f[g+-8>>2]=d;Ko(d)}d=f[g+-28>>2]|0;if(d|0){f[g+-24>>2]=d;Ko(d)}d=f[g+-40>>2]|0;if(d|0){f[g+-36>>2]=d;Ko(d)}di(g+-140|0);g=g+-144|0}while((g|0)!=(b|0));e=f[a>>2]|0}f[c>>2]=b;Ko(e);return}function Dh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=5}else{g=a;h=c;while(1){if(!(b[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){d=j;e=5;break}else g=j}}while(0);if((e|0)==5){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function Eh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=3180;b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);f[a>>2]=3608;c=f[a+20>>2]|0;if(c|0){f[a+24>>2]=c;Ko(c)}c=a+8|0;b=f[c>>2]|0;if(!b)return;d=a+12|0;a=f[d>>2]|0;if((a|0)==(b|0))e=b;else{g=a;do{g=g+-4|0;a=f[g>>2]|0;f[g>>2]=0;if(a|0)Pa[f[(f[a>>2]|0)+4>>2]&127](a)}while((g|0)!=(b|0));e=f[c>>2]|0}f[d>>2]=b;Ko(e);return}function Fh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+64|0;if((f[d>>2]|0)==0?(e=wk(32)|0,Kk(e),g=f[d>>2]|0,f[d>>2]=e,g|0):0){e=f[g>>2]|0;if(e|0){f[g+4>>2]=e;Ko(e)}Ko(g)}g=Bj(f[a+28>>2]|0)|0;e=W(g,b[a+24>>0]|0)|0;g=((e|0)<0)<<31>>31;h=f[d>>2]|0;i=Bk(e|0,g|0,c|0,0)|0;if(!(yf(h,0,i,H)|0)){j=0;return j|0}oi(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function Gh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;xn(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;xn(a+c|0,g);b[h>>0]=c;break}else dh(a,c-k|0,d)|0;while(0);u=e;return}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(b>>>0>1431655765|(c|b|0)<0){d=0;return d|0}e=b*3|0;nf(a,e,3736);nf(a+12|0,e,3732);Wh(a+24|0,c);c=a+76|0;e=f[c>>2]|0;f[c>>2]=0;f[a+80>>2]=0;f[a+84>>2]=0;if(e|0)Ko(e);e=a+64|0;c=f[e>>2]|0;f[e>>2]=0;f[a+68>>2]=0;f[a+72>>2]=0;if(!c){d=1;return d|0}Ko(c);d=1;return d|0}function Ih(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;f[a>>2]=d;if(d|0){m=d+16|0;n=f[m+4>>2]|0;o=a+8|0;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=d+24|0;d=f[n+4>>2]|0;o=a+16|0;f[o>>2]=f[n>>2];f[o+4>>2]=d}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;h=a+40|0;f[h>>2]=i;f[h+4>>2]=j;j=a+48|0;f[j>>2]=k;f[j+4>>2]=l;f[a+56>>2]=c;return}function Jh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=d+4|0;f[e>>2]=c;c=wk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=24;h=c;i=11931;j=h+24|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[c+24>>0]=0;Ph(Fc(a,e)|0,g,1);if((b[g+11>>0]|0)>=0){u=d;return}Ko(f[g>>2]|0);u=d;return}function Kh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3240;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=1065353216;b=a+212|0;c=a+156|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+216>>2]=0;f[a+220>>2]=0;f[a+224>>2]=0;ak(a+232|0);return}function Lh(a,b){a=a|0;b=b|0;var c=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;b=f[c>>2]|0;f[c>>2]=a;if(!b)return;a=b+88|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0){a=f[c+8>>2]|0;if(a|0){f[c+12>>2]=a;Ko(a)}Ko(c)}c=f[b+68>>2]|0;if(c|0){f[b+72>>2]=c;Ko(c)}c=b+64|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){c=f[a>>2]|0;if(c|0){f[a+4>>2]=c;Ko(c)}Ko(a)}Ko(b);return}function Mh(a){a=a|0;var b=0;f[a>>2]=3340;b=f[a+100>>2]|0;if(b|0){f[a+104>>2]=b;Ko(b)}b=f[a+84>>2]|0;if(b|0){f[a+88>>2]=b;Ko(b)}b=f[a+72>>2]|0;if(b|0){f[a+76>>2]=b;Ko(b)}b=f[a+60>>2]|0;if(b|0){f[a+64>>2]=b;Ko(b)}f[a+12>>2]=3364;b=f[a+32>>2]|0;if(b|0)Ko(b);b=f[a+20>>2]|0;if(!b){Ko(a);return}Ko(b);Ko(a);return}function Nh(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=a;while(1){d=c+1|0;if(!(bo(b[c>>0]|0)|0))break;else c=d}a=b[c>>0]|0;switch(a|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:{g=0;h=c;i=a}}if((f|0)==5){g=e;h=d;i=b[d>>0]|0}if(!(to(i)|0))j=0;else{i=0;d=h;while(1){h=(i*10|0)+48-(b[d>>0]|0)|0;d=d+1|0;if(!(to(b[d>>0]|0)|0)){j=h;break}else i=h}}return ((g|0)==0?0-j|0:j)|0}function Oh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0,k=0;b=f[a+32>>2]|0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=vl(i|0,f[g+4>>2]|0,4,0)|0;g=H;if((e|0)<(g|0)|(e|0)==(g|0)&d>>>0>>0){k=0;return k|0}d=(f[b>>2]|0)+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=j;f[d+4>>2]=g;if((i|0)<0){k=0;return k|0}f[(f[a+4>>2]|0)+80>>2]=i;k=1;return k|0}function Ph(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;Ti(g,d&1);d=zg(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}xf(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function Qh(a){a=a|0;var b=0;f[a>>2]=3340;b=f[a+100>>2]|0;if(b|0){f[a+104>>2]=b;Ko(b)}b=f[a+84>>2]|0;if(b|0){f[a+88>>2]=b;Ko(b)}b=f[a+72>>2]|0;if(b|0){f[a+76>>2]=b;Ko(b)}b=f[a+60>>2]|0;if(b|0){f[a+64>>2]=b;Ko(b)}f[a+12>>2]=3364;b=f[a+32>>2]|0;if(b|0)Ko(b);b=f[a+20>>2]|0;if(!b)return;Ko(b);return}function Rh(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0.0,i=0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=xl(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+Rh(a*18446744073709551616.0,b);h=g;i=(f[b>>2]|0)+-64|0}else{h=a;i=0}f[b>>2]=i;j=h;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function Sh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0,k=0;b=f[a+32>>2]|0;c=b+8|0;d=f[c>>2]|0;e=f[c+4>>2]|0;c=b+16|0;g=c;i=f[g>>2]|0;j=vl(i|0,f[g+4>>2]|0,4,0)|0;g=H;if((e|0)<(g|0)|(e|0)==(g|0)&d>>>0>>0){k=0;return k|0}d=(f[b>>2]|0)+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c;f[d>>2]=j;f[d+4>>2]=g;f[(f[a+4>>2]|0)+80>>2]=i;k=1;return k|0}function Th(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=3608;b=f[a+20>>2]|0;if(b|0){f[a+24>>2]=b;Ko(b)}b=a+8|0;c=f[b>>2]|0;if(!c){Ko(a);return}d=a+12|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;do{h=h+-4|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0)Pa[f[(f[e>>2]|0)+4>>2]&127](e)}while((h|0)!=(c|0));g=f[b>>2]|0}f[d>>2]=c;Ko(g);Ko(a);return}function Uh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0;d=0;while(1){if((h[14154+d>>0]|0)==(a|0)){e=4;break}g=d+1|0;if((g|0)==87){i=87;e=5;break}else d=g}if((e|0)==4)if(!d)j=14242;else{i=d;e=5}if((e|0)==5){e=14242;d=i;while(1){i=e;do{a=i;i=i+1|0}while((b[a>>0]|0)!=0);d=d+-1|0;if(!d){j=i;break}else e=i}}return ho(j,f[c+20>>2]|0)|0}function Vh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;g=e;if(d>>>0>4294967279)$n(a);if(d>>>0<11){b[a+11>>0]=d;h=a}else{i=d+16&-16;j=wk(i)|0;f[a>>2]=j;f[a+8>>2]=i|-2147483648;f[a+4>>2]=d;h=j}um(h,c,d)|0;b[g>>0]=0;xn(h+d|0,g);u=e;return}function Wh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=qa(8)|0;Dm(g,13552);f[g>>2]=4908;ta(g|0,1128,105)}g=(f[e>>2]|0)-d|0;h=wk(b<<2)|0;if((g|0)>0)Bf(h|0,d|0,g|0)|0;f[a>>2]=h;f[e>>2]=h+(g>>2<<2);f[c>>2]=h+(b<<2);if(!d)return;Ko(d);return}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Ma[f[(f[h>>2]|0)+20>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function Yh(a){a=a|0;var b=0,c=0;f[a>>2]=1368;b=a+16|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){f[c+12>>2]=b;Ko(b)}Ko(c)}c=f[a+68>>2]|0;if(c|0){f[a+72>>2]=c;Ko(c)}c=a+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){f[b+4>>2]=c;Ko(c)}Ko(b)}Ko(a);return}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c<<24>>24){case 0:{c=wk(20)|0;Jl(c);d=c;break}case 1:{c=wk(24)|0;jm(c);d=c;break}case 2:{c=wk(36)|0;Lk(c);d=c;break}case 3:{c=wk(28)|0;am(c);d=c;break}default:d=0}f[a>>2]=d;return}function _h(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=3608;b=f[a+20>>2]|0;if(b|0){f[a+24>>2]=b;Ko(b)}b=a+8|0;c=f[b>>2]|0;if(!c)return;d=a+12|0;a=f[d>>2]|0;if((a|0)==(c|0))e=c;else{g=a;do{g=g+-4|0;a=f[g>>2]|0;f[g>>2]=0;if(a|0)Pa[f[(f[a>>2]|0)+4>>2]&127](a)}while((g|0)!=(c|0));e=f[b>>2]|0}f[d>>2]=c;Ko(e);return}function $h(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;a=f[b+4>>2]|0;if(!a){d=0;return d|0}e=f[(f[(f[b+8>>2]|0)+(c<<2)>>2]|0)+60>>2]|0;c=f[a+40>>2]|0;b=f[a+44>>2]|0;if((c|0)==(b|0)){d=0;return d|0}a=c;while(1){c=f[a>>2]|0;a=a+4|0;if((f[c+40>>2]|0)==(e|0)){d=c;g=6;break}if((a|0)==(b|0)){d=0;g=6;break}}if((g|0)==6)return d|0;return 0}function ai(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=Ka[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((c|0)<=0){d=1;return d|0}e=a+36|0;g=a+48|0;a=0;while(1){h=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Ma[f[(f[h>>2]|0)+16>>2]&31](h,g,b)|0)){d=0;i=5;break}if((a|0)>=(c|0)){d=1;i=5;break}}if((i|0)==5)return d|0;return 0}function bi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;if(!c){d=0;return d|0}e=a+44|0;g=f[e>>2]|0;if(g>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[g>>2]=c;f[e>>2]=(f[e>>2]|0)+4;d=1;return d|0}else{ef(a+40|0,b);d=1;return d|0}return 0}function ci(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=Jf(a,c)|0;if((e|0)!=(a+4|0)){a=e+28|0;if((b[a+11>>0]|0)<0)g=f[a>>2]|0;else g=a;a=Nh(g)|0;if((a|0)!=-1){h=(a|0)!=0;return h|0}}h=d;return h|0}function di(a){a=a|0;var b=0;b=f[a+84>>2]|0;if(b|0){f[a+88>>2]=b;Ko(b)}b=f[a+72>>2]|0;if(b|0){f[a+76>>2]=b;Ko(b)}b=f[a+52>>2]|0;if(b|0){f[a+56>>2]=b;Ko(b)}b=f[a+40>>2]|0;if(b|0){f[a+44>>2]=b;Ko(b)}b=f[a+28>>2]|0;if(b|0){f[a+32>>2]=b;Ko(b)}b=f[a+12>>2]|0;if(b|0)Ko(b);b=f[a>>2]|0;if(!b)return;Ko(b);return}function ei(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+24>>2]|0)){b=0;return b|0}if(!(f[a+28>>2]|0)){b=0;return b|0}if(!(f[a+32>>2]|0)){b=0;return b|0}if(!(f[a+36>>2]|0)){b=0;return b|0}b=(f[a+72>>2]|0)!=-1;return b|0}function fi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;f[c>>2]=2;d=a+4|0;a=c+8|0;e=f[a>>2]|0;g=(f[c+12>>2]|0)-e|0;if(g>>>0<4294967292){eg(a,g+4|0,0);i=f[a>>2]|0}else i=e;e=i+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;return}function gi(a){a=a|0;var b=0;if(!(f[a+64>>2]|0)){b=0;return b|0}if(!(f[a+68>>2]|0)){b=0;return b|0}if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}if(!(f[a+56>>2]|0)){b=0;return b|0}b=(f[a+92>>2]|0)!=-1;return b|0}function hi(a){a=a|0;var c=0;if(!a)return;c=a+28|0;if((b[c+11>>0]|0)<0)Ko(f[c>>2]|0);uh(a+12|0,f[a+16>>2]|0);Bh(a,f[a+4>>2]|0);Ko(a);return}function ii(a){a=a|0;var b=0;f[a>>2]=2208;b=f[a+96>>2]|0;if(b|0)Ko(b);b=f[a+84>>2]|0;if(b|0)Ko(b);b=f[a+72>>2]|0;if(b|0)Ko(b);b=f[a+60>>2]|0;if(b|0)Ko(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){Ko(a);return}f[a+36>>2]=b;Ko(b);Ko(a);return}function ji(a){a=a|0;var b=0;f[a>>2]=1760;b=f[a+96>>2]|0;if(b|0)Ko(b);b=f[a+84>>2]|0;if(b|0)Ko(b);b=f[a+72>>2]|0;if(b|0)Ko(b);b=f[a+60>>2]|0;if(b|0)Ko(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){Ko(a);return}f[a+36>>2]=b;Ko(b);Ko(a);return}function ki(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;a=c+16|0;g=f[a>>2]|0;do if(g){if((g|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;f[c+24>>2]=2;b[c+54>>0]=1;break}h=c+24|0;if((f[h>>2]|0)==2)f[h>>2]=e}else{f[a>>2]=d;f[c+24>>2]=e;f[c+36>>2]=1}while(0);return}function li(a){a=a|0;var b=0;f[a>>2]=2208;b=f[a+96>>2]|0;if(b|0)Ko(b);b=f[a+84>>2]|0;if(b|0)Ko(b);b=f[a+72>>2]|0;if(b|0)Ko(b);b=f[a+60>>2]|0;if(b|0)Ko(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;f[a+36>>2]=b;Ko(b);return}function mi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512?!(Ka[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){d=0;return d|0}d=rc(a,b,c)|0;return d|0}function ni(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=wl(e^a|0,f^b|0,e|0,f|0)|0;b=H;a=g^e;e=h^f;return wl((Gc(i,b,wl(g^c|0,h^d|0,g|0,h|0)|0,H,0)|0)^a|0,H^e|0,a|0,e|0)|0}function oi(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;h=b+16|0;i=f[h+4>>2]|0;j=a+8|0;f[j>>2]=f[h>>2];f[j+4>>2]=i;i=b+24|0;b=f[i+4>>2]|0;j=a+16|0;f[j>>2]=f[i>>2];f[j+4>>2]=b;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;d=a+48|0;f[d>>2]=e;f[d+4>>2]=g;return}function pi(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0;c=b[a+12>>0]|0;d=a+8|0;e=f[d>>2]|0;if(e>>>0<4096?(g=a+4|0,i=f[g>>2]|0,(i|0)>0):0){j=f[a>>2]|0;a=i+-1|0;f[g>>2]=a;g=e<<8|(h[j+a>>0]|0);f[d>>2]=g;k=g}else k=e;e=k&255;g=0-c&255;c=W(k>>>8,g)|0;a=e>>>0>>0;f[d>>2]=a?c+e|0:k-g-c|0;return a|0}function qi(a){a=a|0;var b=0;f[a>>2]=1760;b=f[a+96>>2]|0;if(b|0)Ko(b);b=f[a+84>>2]|0;if(b|0)Ko(b);b=f[a+72>>2]|0;if(b|0)Ko(b);b=f[a+60>>2]|0;if(b|0)Ko(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;f[a+36>>2]=b;Ko(b);return}function ri(a){a=a|0;var b=0,c=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){f[c+12>>2]=b;Ko(b)}Ko(c)}c=f[a+68>>2]|0;if(c|0){f[a+72>>2]=c;Ko(c)}c=a+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){f[b+4>>2]=c;Ko(c)}Ko(b)}Ko(a);return}function si(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;ne(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;Hj(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}Ko(f[c>>2]|0);u=e;return d|0}function ti(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;c=a+68|0;d=a+28|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;c=a+72|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;return}function ui(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;se(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;Hj(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}Ko(f[c>>2]|0);u=e;return d|0}function vi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;oh(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{Pm(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;Pm(a,g,h)}u=f;return}function wi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+32|0;a=b;while(1){b=f[a>>2]|0;a=a+4|0;if(!(La[f[(f[b>>2]|0)+16>>2]&127](b,f[e>>2]|0)|0)){d=0;g=5;break}if((a|0)==(c|0)){d=1;g=5;break}}if((g|0)==5)return d|0;return 0}function xi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=f[a+8>>2]|0;if((b[e+24>>0]|0)<1){g=0;return g|0}if(!(Fh(e,(f[c+4>>2]|0)-(f[c>>2]|0)>>2)|0)){g=0;return g|0}g=Ma[f[(f[a>>2]|0)+32>>2]&31](a,c,d)|0;return g|0}function yi(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;if(en(a,f[b+8>>2]|0,g)|0)nh(0,b,c,d,e);else{h=f[a+8>>2]|0;Ua[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function zi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;if(!a)return;c=f[a>>2]|0;if(c|0){d=a+4|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;do{h=h+-12|0;if((b[h+11>>0]|0)<0)Ko(f[h>>2]|0)}while((h|0)!=(c|0));g=f[a>>2]|0}f[d>>2]=c;Ko(g)}Ko(a);return}function Ai(a){a=a|0;var b=0;f[a>>2]=3292;b=f[a+64>>2]|0;if(b|0){f[a+68>>2]=b;Ko(b)}f[a+12>>2]=3316;b=f[a+32>>2]|0;if(b|0)Ko(b);b=f[a+20>>2]|0;if(!b){Ko(a);return}Ko(b);Ko(a);return}function Bi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=0;return e|0}g=c-d>>2;d=0;while(1){c=f[a+(d<<2)>>2]|0;if((f[c+60>>2]|0)==(b|0)){e=c;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=0;h=5;break}}if((h|0)==5)return e|0;return 0}function Ci(a){a=a|0;var b=0,c=0;f[a>>2]=2264;b=f[a+76>>2]|0;if(b|0)Ko(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Io(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c){Ko(a);return}f[a+36>>2]=c;Ko(c);Ko(a);return}function Di(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+12>>2]|0;d=f[a+8>>2]|0;a=d;if((c|0)==(d|0)){e=-1;return e|0}g=c-d>>2;d=0;while(1){if((f[(f[a+(d<<2)>>2]|0)+60>>2]|0)==(b|0)){e=d;h=5;break}d=d+1|0;if(d>>>0>=g>>>0){e=-1;h=5;break}}if((h|0)==5)return e|0;return 0}function Ei(a){a=a|0;var b=0;f[a>>2]=3384;b=f[a+64>>2]|0;if(b|0){f[a+68>>2]=b;Ko(b)}f[a+12>>2]=3364;b=f[a+32>>2]|0;if(b|0)Ko(b);b=f[a+20>>2]|0;if(!b){Ko(a);return}Ko(b);Ko(a);return}function Fi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function Gi(a){a=a|0;var b=0,c=0;f[a>>2]=3052;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Io(c);f[a>>2]=1476;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Yh(a);Ko(a);return}Pa[f[(f[b>>2]|0)+4>>2]&127](b);Yh(a);Ko(a);return}function Hi(a){a=a|0;var b=0,c=0;f[a>>2]=1816;b=f[a+76>>2]|0;if(b|0)Ko(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Io(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c){Ko(a);return}f[a+36>>2]=c;Ko(c);Ko(a);return}function Ii(a){a=a|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)d=(f[a+8>>2]&2147483647)+-1|0;else d=10;Gh(a,d,0);return}function Ji(a){a=a|0;var b=0;f[a>>2]=3292;b=f[a+64>>2]|0;if(b|0){f[a+68>>2]=b;Ko(b)}f[a+12>>2]=3316;b=f[a+32>>2]|0;if(b|0)Ko(b);b=f[a+20>>2]|0;if(!b)return;Ko(b);return}function Ki(a){a=a|0;var b=0,c=0;f[a>>2]=2264;b=f[a+76>>2]|0;if(b|0)Ko(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Io(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c)return;f[a+36>>2]=c;Ko(c);return}function Li(a){a=a|0;var b=0;f[a>>2]=3384;b=f[a+64>>2]|0;if(b|0){f[a+68>>2]=b;Ko(b)}f[a+12>>2]=3364;b=f[a+32>>2]|0;if(b|0)Ko(b);b=f[a+20>>2]|0;if(!b)return;Ko(b);return}function Mi(a){a=a|0;var b=0,c=0;f[a>>2]=3052;b=a+28|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Io(c);f[a>>2]=1476;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Yh(a);return}Pa[f[(f[b>>2]|0)+4>>2]&127](b);Yh(a);return}function Ni(a){a=a|0;var b=0,c=0;f[a>>2]=1816;b=f[a+76>>2]|0;if(b|0)Ko(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Io(c);f[a>>2]=1536;c=f[a+32>>2]|0;if(!c)return;f[a+36>>2]=c;Ko(c);return}function Oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(en(a,f[b+8>>2]|0,0)|0)ki(0,b,c,d);else{e=f[a+8>>2]|0;Sa[f[(f[e>>2]|0)+28>>2]&7](e,b,c,d)}return}function Pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=W(c,b)|0;g=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){c=(Po(d)|0)==0;h=lg(a,e,d)|0;if(c)i=h;else{Oo(d);i=h}}else i=lg(a,e,d)|0;if((i|0)==(e|0))j=g;else j=(i>>>0)/(b>>>0)|0;return j|0}function Qi(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=La[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function Ri(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=a;do{c=c+1|0;d=d+1|0;a=b[c>>0]|0;e=b[d>>0]|0}while(!(a<<24>>24==0?1:a<<24>>24!=e<<24>>24));f=e;g=a}return (g&255)-(f&255)|0}function Si(a,b){a=a|0;b=b|0;var c=0;c=wk(40)|0;f[c>>2]=-1;Kk(c+8|0);Qa[f[(f[a>>2]|0)+16>>2]&7](a,c);a=b+88|0;b=f[a>>2]|0;f[a>>2]=c;if(!b)return 1;c=f[b+8>>2]|0;if(c|0){f[b+12>>2]=c;Ko(c)}Ko(b);return 1}function Ti(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;Ii(d);Ig(a,d,b);om(d);u=c;return}function Ui(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+4>>2]|0;if(c|0?((h[c+36>>0]|0)<<8&65535)<512:0){d=1;return d|0}d=La[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0;return d|0}function Vi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((Ol(xa(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function Wi(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=0;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=0;return c|0}b=f[d>>2]|0;if((b|0)==-1){c=0;return c|0}c=f[(f[a+8>>2]|0)+(b<<2)>>2]|0;return c|0}function Xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}d=Nf(f[(f[a+36>>2]|0)+(e<<2)>>2]|0)|0;return d|0}function Yi(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0)Vh(a,f[c>>2]|0,f[c+4>>2]|0);else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}return}function Zi(a,b){a=a|0;b=b|0;var c=0;ek(a);f[a>>2]=1416;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function _i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;zc(a,b);if((b|0)<=-1)return;c=a+88|0;d=f[c>>2]|0;e=f[a+84>>2]|0;if((d-e>>2|0)<=(b|0))return;a=e+(b<<2)|0;b=a+4|0;e=d-b|0;if(e|0)Rj(a|0,b|0,e|0)|0;f[c>>2]=a+(e>>2<<2);return}function $i(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;e=c;c=d+64|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(c|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function aj(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=d;d=c;c=a;while(1){a=g+-1|0;b[a>>0]=h[14136+(c&15)>>0]|0|e;c=xl(c|0,d|0,4)|0;d=H;if((c|0)==0&(d|0)==0){f=a;break}else g=a}}return f|0}function bj(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function cj(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function dj(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b+88>>2]|0;if(!c){d=0;return d|0}if((f[c>>2]|0)!=2){d=0;return d|0}b=f[c+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;d=1;return d|0}function ej(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}b=(f[a+56>>2]|0)!=0;return b|0}function fj(a){a=a|0;var b=0;f[a>>2]=2488;b=f[a+76>>2]|0;if(b|0)Ko(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){Ko(a);return}f[a+36>>2]=b;Ko(b);Ko(a);return}function gj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=b[a+11>>0]|0;e=d<<24>>24<0;if(e)g=f[a+4>>2]|0;else g=d&255;if(g>>>0<=c>>>0)$n(a);if(e)h=f[a>>2]|0;else h=a;return h+c|0}function hj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+32|0;g=e;f[a+36>>2]=15;if((f[a>>2]&64|0)==0?(f[g>>2]=f[a+60>>2],f[g+4>>2]=21523,f[g+8>>2]=e+16,za(54,g|0)|0):0)b[a+75>>0]=-1;g=hf(a,c,d)|0;u=e;return g|0}function ij(a){a=a|0;var b=0;f[a>>2]=2040;b=f[a+76>>2]|0;if(b|0)Ko(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){Ko(a);return}f[a+36>>2]=b;Ko(b);Ko(a);return}function jj(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){jc(a,b,c);return}else{qc(a,0,0);return}}function kj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=_(e);f[a+4>>2]=b;Ye(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function lj(a,b){a=a|0;b=b|0;var c=0;if(!(La[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){c=0;return c|0}if(!(La[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){c=0;return c|0}c=Ka[f[(f[a>>2]|0)+44>>2]&127](a)|0;return c|0}function mj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;d=f[c>>2]|0;c=a;e=b-a>>2;while(1){if(!e)break;a=(e|0)/2|0;b=c+(a<<2)|0;g=(f[b>>2]|0)>>>0>>0;c=g?b+4|0:c;e=g?e+-1-a|0:a}return c|0}function nj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!(Wk(a,c,d)|0)){e=0;return e|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){e=0;return e|0}e=(f[d+28>>2]|0)==9;return e|0}function oj(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function pj(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+44>>2]=c;d=1;return d|0}function qj(a,c){a=a|0;c=c|0;var d=0,e=0;a=u;u=u+32|0;d=a;ih(d,c);c=f[d+16>>2]|0;e=d+4|0;if((b[e+11>>0]|0)>=0){u=a;return c|0}Ko(f[e>>2]|0);u=a;return c|0}function rj(a){a=a|0;var b=0;f[a>>2]=2488;b=f[a+76>>2]|0;if(b|0)Ko(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;f[a+36>>2]=b;Ko(b);return}function sj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;if(!(to(b[f[a>>2]>>0]|0)|0))c=0;else{d=0;while(1){e=f[a>>2]|0;g=(d*10|0)+-48+(b[e>>0]|0)|0;h=e+1|0;f[a>>2]=h;if(!(to(b[h>>0]|0)|0)){c=g;break}else d=g}}return c|0}function tj(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+64>>2]=c;d=1;return d|0}function uj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!(Wk(a,b,c)|0)){d=0;return d|0}d=(f[(f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0)+28>>2]|0)==9;return d|0}function vj(a){a=a|0;var b=0,c=0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){da()|0;wa(12);return -1}f[r>>2]=c;if((c|0)>(ca()|0)?(ba()|0)==0:0){f[r>>2]=b;wa(12);return -1}return b|0}function wj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=d;d=c;c=a;while(1){a=f+-1|0;b[a>>0]=c&7|48;c=xl(c|0,d|0,3)|0;d=H;if((c|0)==0&(d|0)==0){e=a;break}else f=a}}return e|0}function xj(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(en(a,f[b+8>>2]|0,g)|0)nh(0,b,c,d,e);return}function yj(a){a=a|0;var b=0;f[a>>2]=2040;b=f[a+76>>2]|0;if(b|0)Ko(b);f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;f[a+36>>2]=b;Ko(b);return}function zj(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;Gf(a+20|0,g,d);u=c;return}function Aj(a,c){a=a|0;c=c|0;var d=0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;d=1}else d=0;return d|0}function Bj(a){a=a|0;var b=0;switch(a|0){case 11:case 2:case 1:{b=1;break}case 4:case 3:{b=2;break}case 6:case 5:{b=4;break}case 8:case 7:{b=8;break}case 9:{b=4;break}case 10:{b=8;break}default:b=-1}return b|0}function Cj(a){a=a|0;var c=0,d=0,e=0;b[a+36>>0]=0;c=vl(f[a+32>>2]|0,0,7,0)|0;d=xl(c|0,H|0,3)|0;c=a+16|0;a=c;e=vl(d|0,H|0,f[a>>2]|0,f[a+4>>2]|0)|0;a=c;f[a>>2]=e;f[a+4>>2]=H;return}function Dj(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;Gf(a+20|0,g,d);u=c;return}function Ej(a){a=a|0;var b=0,c=0,d=0;b=a+60|0;c=a;d=c+60|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=a;b=a+64|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function Fj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(f[a+96>>2]|0)+(b*12|0)|0;Ye(c,d,d+12|0);return 1}function Gj(a){a=a|0;var b=0;f[a>>2]=2376;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){Ko(a);return}f[a+36>>2]=b;Ko(b);Ko(a);return}function Hj(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;fh(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function Ij(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=W(d,c)|0;f=a>>>16;a=(e>>>16)+(W(d,f)|0)|0;d=b>>>16;b=W(d,c)|0;return (H=(a>>>16)+(W(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function Jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Dh(b)|0;d=wk(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=Fn(d)|0;Bf(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function Kj(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=-1;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=-1;return c|0}c=f[d>>2]|0;return c|0}function Lj(){var a=0,b=0;a=wk(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=1065353216;b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[a+36>>2]=1065353216;return a|0}function Mj(a){a=a|0;var b=0;f[a>>2]=1928;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){Ko(a);return}f[a+36>>2]=b;Ko(b);Ko(a);return}function Nj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;Bc(a,b,c,d,e);return}function Oj(a){a=a|0;var b=0;f[a>>2]=3748;b=f[a+96>>2]|0;if(b|0){f[a+100>>2]=b;Ko(b)}b=f[a+84>>2]|0;if(!b){Ag(a);Ko(a);return}f[a+88>>2]=b;Ko(b);Ag(a);Ko(a);return}function Pj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(en(a,f[b+8>>2]|0,0)|0)ki(0,b,c,d);return}function Qj(a){a=a|0;var b=0;f[a>>2]=3608;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function Rj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Bf(a,c,d)|0;return a|0}function Sj(a){a=a|0;var b=0;f[a>>2]=2376;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;f[a+36>>2]=b;Ko(b);return}function Tj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=Ma[f[(f[a>>2]|0)+16>>2]&31](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function Uj(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>=2){c=0;return c|0}f[a+28>>2]=b;c=1;return c|0}function Vj(a){a=a|0;var b=0;f[a>>2]=1928;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;f[a+36>>2]=b;Ko(b);return}function Wj(a){a=a|0;var b=0;f[a>>2]=3748;b=f[a+96>>2]|0;if(b|0){f[a+100>>2]=b;Ko(b)}b=f[a+84>>2]|0;if(!b){Ag(a);return}f[a+88>>2]=b;Ko(b);Ag(a);return}function Xj(a){a=a|0;var b=0,c=0;if(no(a)|0?(b=Ln(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)Ko(b);return}function Yj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)<=0)return;d=0;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function Zj(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function _j(a){a=a|0;var b=0,c=0;f[a>>2]=1476;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);Yh(a);Ko(a);return}function $j(a,b,c){a=a|0;b=b|0;c=c|0;zb(a,b,c);return}function ak(a){a=a|0;Zj(a);Zj(a+40|0);ym(a+80|0);Zj(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function bk(a){a=a|0;var b=0,c=0;f[a>>2]=1476;b=a+20|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);Yh(a);return}function ck(a,b,c){a=a|0;b=b|0;c=c|0;return md(a,b,5,6,c)|0}function dk(a,b,c){a=a|0;b=b|0;c=c|0;return kd(a,b,3,4,c)|0}function ek(a){a=a|0;var b=0;f[a>>2]=1256;b=a+4|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;return}function fk(a,b,c){a=a|0;b=b|0;c=c|0;return pd(a,b,1,2,c)|0}function gk(a,b,c){a=a|0;b=b|0;c=c|0;return ld(a,b,3,4,c)|0}function hk(a,b,c){a=a|0;b=b|0;c=c|0;return od(a,b,5,6,c)|0}function ik(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;Bf(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function jk(a,b,c){a=a|0;b=b|0;c=c|0;return qd(a,b,1,2,c)|0}function kk(a){a=a|0;var b=0;f[a>>2]=3316;b=f[a+20>>2]|0;if(b|0)Ko(b);b=f[a+8>>2]|0;if(!b){Ko(a);return}Ko(b);Ko(a);return}function lk(){var a=0,b=0;a=wk(24)|0;f[a>>2]=1228;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function mk(a){a=a|0;var c=0;oj(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function nk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function ok(a){a=a|0;var b=0;f[a>>2]=3364;b=f[a+20>>2]|0;if(b|0)Ko(b);b=f[a+8>>2]|0;if(!b){Ko(a);return}Ko(b);Ko(a);return}function pk(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function qk(a,b,c){a=a|0;b=_(b);c=c|0;var d=0,e=Ia;if((c|0)<1){d=0;return d|0}e=_(_(1.0)/_(c|0));n[a+4>>2]=e;n[a>>2]=b;d=1;return d|0}function rk(a){a=a|0;var b=0;f[a>>2]=1256;b=f[a+16>>2]|0;if(b|0){f[a+20>>2]=b;Ko(b)}b=f[a+4>>2]|0;if(!b)return;f[a+8>>2]=b;Ko(b);return}function sk(a){a=a|0;var b=0;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b){Ko(a);return}f[a+36>>2]=b;Ko(b);Ko(a);return}function tk(a,b,c){a=a|0;b=b|0;c=c|0;f[a+4>>2]=b;f[a+8>>2]=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2];f[a+12>>2]=c;return 1}function uk(a){a=a|0;var b=0;mn(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;b=a+24|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function vk(a){a=a|0;var b=0;Bl(a);f[a>>2]=3748;b=a+84|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function wk(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=Va(b)|0;if(a|0){c=a;break}a=Nn()|0;if(!a){c=0;break}Oa[a&1]()}return c|0}function xk(a){a=a|0;var b=0;f[a>>2]=3316;b=f[a+20>>2]|0;if(b|0)Ko(b);b=f[a+8>>2]|0;if(!b)return;Ko(b);return}function yk(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=Mo(f[a+60>>2]|0)|0;f[c>>2]=d;d=Ol(Aa(6,c|0)|0)|0;u=b;return d|0}function zk(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;c=a+4|0;f[c>>2]=b;f[a+16>>2]=0;f[a+12>>2]=b;if(!b)return;f[c>>2]=b;Ko(b);return}function Ak(a){a=a|0;var b=0;f[a>>2]=3364;b=f[a+20>>2]|0;if(b|0)Ko(b);b=f[a+8>>2]|0;if(!b)return;Ko(b);return}function Bk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=Ij(e,a)|0;f=H;return (H=(W(b,a)|0)+(W(d,e)|0)+f|f&0,c|0|0)|0}function Ck(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ck(b,c,d)|0}function Dk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dk(b,c,d)|0}function Ek(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ce(b,c,d)|0}function Fk(a){a=a|0;var b=0;f[a>>2]=1536;b=f[a+32>>2]|0;if(!b)return;f[a+36>>2]=b;Ko(b);return}function Gk(a){a=a|0;var b=0;ek(a);f[a>>2]=1312;b=a+36|0;a=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Hk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return fk(b,c,d)|0}function Ik(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return gk(b,c,d)|0}function Jk(a){a=a|0;f[a>>2]=2716;Ko(a);return}function Kk(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function Lk(a){a=a|0;jm(a);f[a>>2]=3052;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=_(0.0);return}function Mk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return jk(b,c,d)|0}function Nk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return hk(b,c,d)|0}function Ok(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;return}function Pk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (((f[a+12>>2]|0)+-1|0)==(d|0)?0:d+1|0)|0}function Qk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Sg(a,b,c,g)|0;u=e;return d|0}function Rk(a){a=a|0;var b=0;f[a>>2]=1228;b=f[a+8>>2]|0;if(!b){Ko(a);return}f[a+12>>2]=b;Ko(b);Ko(a);return}function Sk(a){a=a|0;f[a>>2]=2800;Ko(a);return}function Tk(a){a=a|0;f[a>>2]=2884;Ko(a);return}function Uk(a){a=a|0;f[a>>2]=2716;return}function Vk(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function Wk(a,b,c){a=a|0;b=b|0;c=c|0;return tk(a,b,c)|0}function Xk(a){a=a|0;var b=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){f[a+12>>2]=b;Ko(b)}Ko(a);return}function Yk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Na[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Zk(a){a=a|0;f[a>>2]=2968;Ko(a);return}function _k(a){a=a|0;f[a>>2]=2800;return}function $k(a){a=a|0;f[a>>2]=2884;return}function al(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return La[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function bl(a,b,c){a=a|0;b=b|0;c=c|0;return Kj(b,c)|0}function cl(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return La[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function dl(a){a=a|0;Pd(a);Ko(a);return}function el(a,b){a=a|0;b=b|0;var c=0;c=f[a+48>>2]|0;return La[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function fl(a){a=a|0;var c=0,d=0;c=a+4|0;if((b[c+11>>0]|0)<0){d=f[c>>2]|0;return d|0}else{d=c;return d|0}return 0}function gl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ve(b,c,d)|0}function hl(a){a=a|0;me(a);Ko(a);return}function il(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=Rf(f[b>>2]|0,f[b+4>>2]|0,a)|0;return ((c|0)==0?a:c)|0}function jl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Ua[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function kl(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=Mf(f[980]|0,a,d)|0;u=c;return b|0}function ll(a){a=a|0;var b=0;if(!a)return;b=f[a>>2]|0;if(b|0){f[a+4>>2]=b;Ko(b)}Ko(a);return}function ml(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Ka[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function nl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return vh(b,c,d)|0}function ol(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)oh(a|0,(io(c)|0)&255|0,b|0)|0;return a|0}function pl(a){a=a|0;return 4}function ql(a){a=a|0;f[a>>2]=2968;return}function rl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){H=b<>>32-c;return a<>2]=1228;b=f[a+8>>2]|0;if(!b)return;f[a+12>>2]=b;Ko(b);return}function tl(a){a=a|0;var c=0;if(!a)return;c=a+4|0;if((b[c+11>>0]|0)<0)Ko(f[c>>2]|0);Ko(a);return}function ul(){}function vl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (H=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function wl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (H=e,a-c>>>0|0)|0}function xl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){H=b>>>c;return a>>>c|(b&(1<>>c-32|0}function yl(a,b,c){a=a|0;b=b|0;c=c|0;return si(a,b,c)|0}function zl(a){a=a|0;_d(a);Ko(a);return}function Al(a){a=a|0;return 5}function Bl(a){a=a|0;var b=0;f[a>>2]=3776;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function Cl(a){a=a|0;return 6}function Dl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Fj(b,c,d)|0}function El(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function Fl(a,c){a=a|0;c=c|0;b[c+84>>0]=1;f[c+72>>2]=f[c+68>>2];return 1}function Gl(a,b,c){a=a|0;b=b|0;c=c|0;return bl(a,b,c)|0}function Hl(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Ka[f[(f[b>>2]|0)+28>>2]&127](b)|0}function Il(a,b,c){a=a|0;b=b|0;c=c|0;return Bg(b,c)|0}function Jl(a){a=a|0;f[a>>2]=1368;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function Kl(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Ka[f[(f[b>>2]|0)+24>>2]&127](b)|0}function Ll(a,b){a=a|0;b=b|0;Jh(a,b);return}function Ml(a){a=a|0;var b=0;b=f[a+48>>2]|0;return Ka[f[(f[b>>2]|0)+36>>2]&127](b)|0}function Nl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ta[a&3](b|0,c|0,d|0,e|0,f|0)}function Ol(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=Ro()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function Pl(a,b,c){a=a|0;b=b|0;c=c|0;return ui(a,b,c)|0}function Ql(a,b,c){a=a|0;b=b|0;c=c|0;return Hg(a,b,c)|0}function Rl(a,b,c){a=a|0;b=b|0;c=c|0;return Wg(a,b,c)|0}function Sl(a,b,c){a=a|0;b=b|0;c=c|0;return ng(a,b,c)|0}function Tl(a,b,c){a=a|0;b=b|0;c=c|0;return +(+Qg(a,b,c))}function Ul(a,b){a=a|0;b=b|0;return La[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function Vl(a,b){a=a|0;b=b|0;return La[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function Wl(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function Xl(a,b,c){a=a|0;b=b|0;c=c|0;return $h(a,b,c)|0}function Yl(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function Zl(a,b,c){a=a|0;b=b|0;c=c|0;return qm(b,c)|0}function _l(a,b,c){a=a|0;b=b|0;c=c|0;return Yg(a,b,c)|0}function $l(a,b,c){a=a|0;b=b|0;c=c|0;return Ug(a,b,c)|0}function am(a){a=a|0;jm(a);f[a>>2]=2544;f[a+24>>2]=-1;return}function bm(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function cm(a,b,c){a=a|0;b=b|0;c=c|0;return Uf(a,b,c)|0}function dm(a,b,c){a=a|0;b=b|0;c=c|0;return Vf(b,c)|0}function em(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;H=f[s+4>>2]|0;return b|0}function fm(a){a=a|0;f[a+12>>2]=0;f[a+16>>2]=0;f[a>>2]=0;n[a+4>>2]=_(0.0);return}function gm(){var a=0;a=wk(40)|0;f[a>>2]=-1;Kk(a+8|0);return a|0}function hm(){var a=0;a=wk(8)|0;f[a>>2]=1200;f[a+4>>2]=-1;return a|0}function im(a,b,c){a=a|0;b=b|0;c=c|0;return Fg(a,b,c)|0}function jm(a){a=a|0;Jl(a);f[a>>2]=1476;f[a+20>>2]=0;return}function km(a,b){a=a|0;b=b|0;Ll(a,b);return}function lm(a){a=a|0;var b=0;if(!a)b=0;else b=(Pf(a,1072,1160,0)|0)!=0&1;return b|0}function mm(a,b){a=a|0;b=b|0;return _(n[(f[a+8>>2]|0)+(b<<2)>>2])}function nm(a,b){a=a|0;b=b|0;return qj(a,b)|0}function om(a){a=a|0;if((b[a+11>>0]|0)<0)Ko(f[a>>2]|0);return}function pm(a){a=a|0;if(!a)return;Pa[f[(f[a>>2]|0)+4>>2]&127](a);return}function qm(a,b){a=a|0;b=b|0;return Bi(a,b)|0}function rm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Sa[a&7](b|0,c|0,d|0,e|0)}function sm(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Rj(a|0,b|0,c|0)|0;return a|0}function tm(a,b,c){a=a|0;b=b|0;c=c|0;return Em(b,c)|0}function um(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Bf(a|0,b|0,c|0)|0;return a|0}function vm(a,b){a=a|0;b=b|0;return -1}function wm(a){a=a|0;return 3}function xm(a,b){a=a|0;b=b|0;return sn(a,b)|0}function ym(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b[a+12>>0]=0;return}function zm(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function Am(a){a=a|0;Km(a);f[a>>2]=3180;f[a+48>>2]=0;return}function Bm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ma[a&31](b|0,c|0,d|0)|0}function Cm(a,b,c){a=a|0;b=b|0;c=c|0;Ok(a,b,c);return}function Dm(a,b){a=a|0;b=b|0;f[a>>2]=4888;Jj(a+4|0,b);return}function Em(a,b){a=a|0;b=b|0;return f[(f[a+8>>2]|0)+(b<<2)>>2]|0}function Fm(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Mg(a,b,0)|0;return c|0}function Gm(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function Hm(){var a=0;a=wk(64)|0;oj(a);return a|0}function Im(a,b){a=a|0;b=b|0;return _(Om(a,b))}function Jm(a){a=a|0;return f[a+8>>2]|0}function Km(a){a=a|0;Qj(a);f[a>>2]=3120;f[a+44>>2]=0;return}function Lm(a){a=a|0;if(!a)return;eh(a);Ko(a);return}function Mm(a,b){a=a|0;b=b|0;return An(a,b)|0}function Nm(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function Om(a,b){a=a|0;b=b|0;return _(n[(f[a>>2]|0)+(b<<2)>>2])}function Pm(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))lg(b,c,a)|0;return}function Qm(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function Rm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ra[a&15](b|0,c|0,d|0)}function Sm(){var a=0;a=wk(96)|0;mk(a);return a|0}function Tm(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Um(a){a=a|0;var b=0;b=(Eo()|0)+188|0;return Uh(a,f[b>>2]|0)|0}function Vm(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function Wm(){var a=0;a=wk(16)|0;zm(a);return a|0}function Xm(){var a=0;a=wk(40)|0;Zj(a);return a|0}function Ym(a,b){a=a|0;b=b|0;return 1}function Zm(a,b){a=a|0;b=b|0;return hn(a,b)|0}function _m(a,b){a=a|0;b=b|0;return jn(a,b)|0}function $m(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$(3);return 0}function an(a,b){a=a|0;b=b|0;return yn(a,b)|0}function bn(){var a=0;a=wk(12)|0;qn(a);return a|0}function cn(a){a=a|0;Yh(a);Ko(a);return}function dn(a){a=a|0;n[a>>2]=_(1.0);n[a+4>>2]=_(1.0);return}function en(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function fn(a,b){a=a|0;b=b|0;var c=0;c=vn(a|0)|0;return ((b|0)==0?a:c)|0}function gn(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function hn(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function jn(a,b){a=a|0;b=b|0;return d[(f[a>>2]|0)+(b<<1)>>1]|0}function kn(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function ln(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gc(a,b,c,d,0)|0}function mn(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function nn(){var a=0;a=wk(84)|0;Bl(a);return a|0}function on(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function pn(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>1|0}function qn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function rn(a){a=a|0;f[a>>2]=4888;Xj(a+4|0);return}function sn(a,b){a=a|0;b=b|0;return f[b+12>>2]|0}function tn(a,b,c){a=a|0;b=b|0;c=c|0;return La[a&127](b|0,c|0)|0}function un(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$(10)}function vn(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function wn(a){a=a|0;Km(a);f[a>>2]=3524;return}function xn(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function yn(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function zn(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function An(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function Bn(a){a=a|0;return _(n[a+20>>2])}function Cn(a){a=a|0;return f[a+4>>2]|0}function Dn(a){a=a|0;if(!a)return;Ko(a);return}function En(a,b){a=a|0;b=b|0;if(!w){w=a;x=b}}function Fn(a){a=a|0;return a+12|0}function Gn(a){a=a|0;return f[a+88>>2]|0}function Hn(a,b,c){a=a|0;b=b|0;c=c|0;Qa[a&7](b|0,c|0)}function In(){var a=0;a=wk(40)|0;uk(a);return a|0}function Jn(){var a=0;a=wk(108)|0;vk(a);return a|0}function Kn(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function Ln(a){a=a|0;return a+-12|0}function Mn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;$(9)}function Nn(){var a=0;a=f[4213]|0;f[4213]=a+0;return a|0}function On(a){a=a|0;return lo(a+4|0)|0}function Pn(a){a=a|0;return f[a+56>>2]|0}function Qn(a){a=a|0;Ag(a);Ko(a);return}function Rn(a){a=a|0;Oo(a);Ko(a);return}function Sn(a){a=a|0;return b[a+24>>0]|0}function Tn(a,b){a=a|0;b=b|0;return 0}function Un(a){a=a|0;return f[a+40>>2]|0}function Vn(a){a=a|0;return f[a+48>>2]|0}function Wn(a){a=a|0;return (a?31-(Z(a^a-1)|0)|0:32)|0}function Xn(a,b){a=a|0;b=b|0;return Ka[a&127](b|0)|0}function Yn(a){a=a|0;return f[a+60>>2]|0}function Zn(a){a=a|0;return f[a+28>>2]|0}function _n(a){a=a|0;rn(a);Ko(a);return}function $n(a){a=a|0;Ba()}function ao(a,b){a=a|0;b=b|0;u=a;v=b}function bo(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function co(a){a=a|0;return (f[a>>2]|0)==0|0}function eo(a){a=a|0;return f[a+80>>2]|0}function fo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$(8)}function go(a,b){a=a|0;b=b|0;Pa[a&127](b|0)}function ho(a,b){a=a|0;b=b|0;return il(a,b)|0}function io(a){a=a|0;return a&255|0}function jo(a){a=a|0;f[a>>2]=0;return}function ko(a,b,c){a=a|0;b=b|0;c=c|0;$(2);return 0}function lo(a){a=a|0;return f[a>>2]|0}function mo(a){a=a|0;return 2}function no(a){a=a|0;return 1}function oo(a,b){a=+a;b=b|0;return +(+Rh(a,b))}function po(){return 3}function qo(a,b,c){a=a|0;b=b|0;c=c|0;$(7)}function ro(){return -4}function so(){return 4}function to(a){a=a|0;return (a+-48|0)>>>0<10|0}function uo(){return -3}function vo(){return 1}function wo(){return 2}function xo(){return -5}function yo(a,b){a=a|0;b=b|0;$(1);return 0}function zo(a){a=a|0;Fa()}function Ao(a){a=a|0;Oa[a&1]()}function Bo(){return -2}function Co(){sa()}function Do(){return -1}function Eo(){return Uo()|0}function Fo(a,b){a=a|0;b=b|0;$(6)}function Go(){return 0}function Ho(a){a=a|0;return wk(a)|0}function Io(a){a=a|0;Ko(a);return}function Jo(a){a=a|0;u=a}function Ko(a){a=a|0;Rb(a);return}function Lo(a){a=a|0;H=a}function Mo(a){a=a|0;return a|0}function No(a){a=a|0;$(0);return 0}function Oo(a){a=a|0;return}function Po(a){a=a|0;return 0}function Qo(){return H|0}function Ro(){return 16848}function So(){return u|0}function To(a){a=a|0;$(5)}function Uo(){return 4172}function Vo(){$(4)} // EMSCRIPTEN_END_FUNCS -var Pa=[lp,Mo,No,mn,wo,No,Xb,zd,jn,_n,np,np,No,np,No,No,Bj,Mo,Bj,Ml,Bj,Sm,zj,No,Xl,zj,No,Zl,zi,No,wo,No,Bj,Mo,Bj,Ml,Bj,Sm,zj,No,Xl,zj,No,Zl,zi,No,wo,Mo,np,_n,No,np,No,Mo,np,_n,No,np,No,Sm,Zl,vi,No,wo,Zl,vi,No,wo,Zl,vi,No,wo,Zl,vi,No,wo,Ge,No,No,Jl,yd,Vi,No,np,ef,bm,gm,em,gb,No,_n,en,qf,Ie,Af,eb,No,_n,en,fb,No,_n,en,Cb,Xg,np,No,ii,ii,Xk,lo,lp,lp,lp,lp,lp,lp,lp,lp,lp,lp,lp,lp,lp,lp,lp,lp,lp];var Qa=[Yo,Aj,Kf,hc,Gj,bn,ro,un,Tb,ob,xm,un,Og,Md,Ag,rj,ri,pi,oj,Yb,Rm,ro,Of,xc,ro,Uj,od,ro,Uj,Gd,ro,Nj,Le,mk,xc,ro,Uj,od,ro,Uj,Gd,ro,Nj,Le,mk,ng,Rm,ro,yg,Rm,ro,ug,ro,Kj,bf,mk,ro,Kj,bf,mk,ro,Kj,$e,mk,ro,Kj,$e,mk,pm,Ve,ro,ro,Cl,Al,yl,sm,Fg,Gg,Zb,Xe,te,se,sm,Fg,Gg,Zb,sm,Fg,Gg,Zb,mf,sk,wg,mf,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo,Yo];var Ra=[Ko,$l,Qk,sj,rl,Eg,sl,ve,zc,Ij,Jg,oh,Oj,Sg,Ji,rf,pj,Dj,Gk,Nh,Ko,Ko,Ko,Ko,Ko,Ko,Ko,Ko,Ko,Ko,Ko,Ko];var Sa=[xn,Mc,cc,Vb,rb,_c,md,mc,dc,Wb,qb,Yc,jd,lc,Ff,Bf,pc,rc,tc,uc,xn,xn,xn,xn,xn,xn,xn,xn,xn,xn,xn,xn];var Ta=[tp,ap,ah,Fl];var Ua=[rp,mp,gp,wk,kk,ej,Zo,Hg,Ln,Ih,An,sg,Vm,zk,vk,gk,Zo,Rj,Rj,Rj,ki,fi,Li,Ci,dj,Wi,vj,mj,mp,gp,Rj,Rj,ji,di,Hi,yi,aj,Ui,uj,gj,mp,gp,vk,mp,gp,gp,ql,gl,mp,gp,wl,ol,mp,gp,xl,pl,mp,gp,Nl,vl,mp,gp,hj,bj,_h,Zo,xh,uh,Cd,Wl,Bi,ui,Wk,Ik,Tj,ek,$j,Zk,Nk,Xj,Fi,xi,xd,Bl,Ld,Gl,Rh,mp,gp,Zo,Rh,Rh,Qi,Ii,sf,oo,mp,po,mp,mp,po,Pn,yo,yo,cl,rp,rp,rp,rp,rp,rp,rp,rp,rp,rp,rp,rp,rp,rp,rp,rp,rp,rp,rp,rp,rp,rp,rp];var Va=[dp,wi,Te,Ei,jc,dp,dp,dp];var Wa=[Qo,qi,Ob,Rb,Rb,Ob,Rb,Ob,Cf,pf,Qo,Qo,Qo,Qo,Qo,Qo];var Xa=[Eo,qh,bd,hk,ij,Eo,Eo,Eo];var Ya=[jo,Fh,Lf,jo];var Za=[Sn,Sj,Xi,Sn];return{___cxa_can_catch:lk,___cxa_is_pointer_type:Hm,___divdi3:Ki,___muldi3:_k,___udivdi3:In,___uremdi3:Tk,_bitshift64Lshr:Ul,_bitshift64Shl:Ol,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:Dm,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:om,_emscripten_bind_AttributeOctahedronTransform___destroy___0:Lm,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:_n,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:Jk,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:om,_emscripten_bind_AttributeQuantizationTransform___destroy___0:Lm,_emscripten_bind_AttributeQuantizationTransform_min_value_1:Im,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:_n,_emscripten_bind_AttributeQuantizationTransform_range_0:Zn,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:Cm,_emscripten_bind_AttributeTransformData___destroy___0:Lk,_emscripten_bind_AttributeTransformData_transform_type_0:Lo,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:tn,_emscripten_bind_DecoderBuffer_Init_2:Zm,_emscripten_bind_DecoderBuffer___destroy___0:$n,_emscripten_bind_Decoder_DecodeBufferToMesh_2:jm,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:Vl,_emscripten_bind_Decoder_Decoder_0:fo,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:tm,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:bl,_emscripten_bind_Decoder_GetAttributeFloat_3:Kl,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:El,_emscripten_bind_Decoder_GetAttributeIdByName_2:zm,_emscripten_bind_Decoder_GetAttributeId_2:am,_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3:fl,_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3:kl,_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3:jl,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:kl,_emscripten_bind_Decoder_GetAttributeMetadata_2:rm,_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3:al,_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3:$k,_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3:el,_emscripten_bind_Decoder_GetAttribute_2:Pm,_emscripten_bind_Decoder_GetEncodedGeometryType_1:Jm,_emscripten_bind_Decoder_GetFaceFromMesh_3:_l,_emscripten_bind_Decoder_GetMetadata_1:hn,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:cm,_emscripten_bind_Decoder_SkipAttributeTransform_1:Gm,_emscripten_bind_Decoder___destroy___0:Ai,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:zn,_emscripten_bind_DracoFloat32Array_GetValue_1:dn,_emscripten_bind_DracoFloat32Array___destroy___0:qk,_emscripten_bind_DracoFloat32Array_size_0:Mn,_emscripten_bind_DracoInt16Array_DracoInt16Array_0:zn,_emscripten_bind_DracoInt16Array_GetValue_1:wn,_emscripten_bind_DracoInt16Array___destroy___0:rk,_emscripten_bind_DracoInt16Array_size_0:Nn,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:zn,_emscripten_bind_DracoInt32Array_GetValue_1:vn,_emscripten_bind_DracoInt32Array___destroy___0:qk,_emscripten_bind_DracoInt32Array_size_0:Mn,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:zn,_emscripten_bind_DracoInt8Array_GetValue_1:yn,_emscripten_bind_DracoInt8Array___destroy___0:Rk,_emscripten_bind_DracoInt8Array_size_0:Xn,_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0:zn,_emscripten_bind_DracoUInt16Array_GetValue_1:wn,_emscripten_bind_DracoUInt16Array___destroy___0:rk,_emscripten_bind_DracoUInt16Array_size_0:Nn,_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0:zn,_emscripten_bind_DracoUInt32Array_GetValue_1:vn,_emscripten_bind_DracoUInt32Array___destroy___0:qk,_emscripten_bind_DracoUInt32Array_size_0:Mn,_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0:zn,_emscripten_bind_DracoUInt8Array_GetValue_1:yn,_emscripten_bind_DracoUInt8Array___destroy___0:Rk,_emscripten_bind_DracoUInt8Array_size_0:Xn,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:cn,_emscripten_bind_GeometryAttribute___destroy___0:$n,_emscripten_bind_Mesh_Mesh_0:go,_emscripten_bind_Mesh___destroy___0:Lm,_emscripten_bind_Mesh_num_attributes_0:En,_emscripten_bind_Mesh_num_faces_0:rn,_emscripten_bind_Mesh_num_points_0:Do,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:nm,_emscripten_bind_MetadataQuerier_GetEntryName_2:ym,_emscripten_bind_MetadataQuerier_GetIntEntry_2:vm,_emscripten_bind_MetadataQuerier_GetStringEntry_2:mm,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:lm,_emscripten_bind_MetadataQuerier_HasEntry_2:Em,_emscripten_bind_MetadataQuerier_HasIntEntry_2:um,_emscripten_bind_MetadataQuerier_HasStringEntry_2:km,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:sn,_emscripten_bind_MetadataQuerier_NumEntries_1:Um,_emscripten_bind_MetadataQuerier___destroy___0:Di,_emscripten_bind_Metadata_Metadata_0:_j,_emscripten_bind_Metadata___destroy___0:gn,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:co,_emscripten_bind_PointAttribute_PointAttribute_0:on,_emscripten_bind_PointAttribute___destroy___0:Uh,_emscripten_bind_PointAttribute_attribute_type_0:mo,_emscripten_bind_PointAttribute_byte_offset_0:to,_emscripten_bind_PointAttribute_byte_stride_0:so,_emscripten_bind_PointAttribute_data_type_0:wo,_emscripten_bind_PointAttribute_normalized_0:ho,_emscripten_bind_PointAttribute_num_components_0:qo,_emscripten_bind_PointAttribute_size_0:Do,_emscripten_bind_PointAttribute_unique_id_0:vo,_emscripten_bind_PointCloud_PointCloud_0:Kn,_emscripten_bind_PointCloud___destroy___0:Lm,_emscripten_bind_PointCloud_num_attributes_0:En,_emscripten_bind_PointCloud_num_points_0:Do,_emscripten_bind_Status___destroy___0:Pl,_emscripten_bind_Status_code_0:Lo,_emscripten_bind_Status_error_msg_0:Dl,_emscripten_bind_Status_ok_0:Co,_emscripten_bind_VoidPtr___destroy___0:$n,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:bp,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:ep,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:Wo,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:Vo,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:bp,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:ep,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Vo,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Wo,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:So,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:bp,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Vo,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:ep,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Po,_emscripten_enum_draco_StatusCode_ERROR:bp,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:Uo,_emscripten_enum_draco_StatusCode_IO_ERROR:$o,_emscripten_enum_draco_StatusCode_OK:ep,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:Xo,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:Ro,_emscripten_replace_memory:Oa,_free:_b,_i64Add:Rl,_i64Subtract:Tl,_llvm_bswap_i32:Tn,_malloc:_a,_memcpy:Jf,_memmove:jk,_memset:Dh,_sbrk:Pj,dynCall_ii:uo,dynCall_iii:Rn,dynCall_iiii:Ym,dynCall_iiiiiii:tl,dynCall_v:_o,dynCall_vi:Fo,dynCall_vii:eo,dynCall_viii:nn,dynCall_viiii:Nm,dynCall_viiiii:hm,dynCall_viiiiii:Hl,establishStackSpace:Ao,getTempRet0:op,runPostSets:Ql,setTempRet0:jp,setThrew:ao,stackAlloc:pn,stackRestore:hp,stackSave:qp}}) +var Ka=[No,mo,no,Qm,Zn,no,Lb,Ic,Nm,Cn,Po,Po,no,Po,no,no,ej,mo,ej,pl,ej,wm,cj,no,Cl,gi,no,Zn,Al,cj,no,no,ej,mo,ej,pl,ej,wm,cj,no,Cl,gi,no,Zn,Al,cj,no,mo,Po,Cn,no,Po,no,mo,Po,Cn,no,Po,no,wm,Cl,ei,no,Zn,Cl,ei,no,Zn,Cl,ei,no,Zn,Cl,ei,no,Zn,qe,no,no,ml,ud,wi,no,Po,Ue,Hl,Ml,Kl,ab,no,Cn,Jm,Me,$d,Oe,_a,no,Cn,Jm,$a,no,Cn,Jm,vb,_g,Po,no,Oh,Sh,yk,On,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No];var La=[yo,dj,Kf,kc,lj,Gm,Tn,Ym,Tb,tb,bm,Ym,pg,Fd,mg,Xi,ai,Xh,Ui,hd,vm,Tn,Hf,pc,Tn,Aj,nd,Tn,tj,fe,Uj,Tn,Aj,zd,pc,Tn,Aj,nd,Tn,tj,fe,Uj,Tn,Aj,zd,Qf,vm,Tn,ag,vm,Tn,sg,Tn,pj,Ne,Uj,Tn,pj,Ne,Uj,Tn,pj,te,Uj,Tn,pj,te,Uj,Vl,he,Tn,Tn,el,cl,al,Yl,rg,ug,Sb,ye,ee,be,Yl,rg,ug,Sb,Yl,rg,ug,Sb,bf,Fl,kg,bf,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo,yo];var Ma=[ko,El,tk,xi,Vk,qg,Wk,ie,rc,nj,wg,ch,uj,Rg,mi,hf,Vi,hj,ik,wh,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko];var Na=[$m,Lc,Xb,Pb,sb,Sc,ec,dd,Yb,Qb,qb,Rc,dc,cd,wf,sf,lc,mc,nc,oc,$m,$m,$m,$m,$m,$m,$m,$m,$m,$m,$m,$m];var Oa=[Vo,Co];var Pa=[To,Oo,Io,sl,Rk,rk,zo,rh,mh,Yh,cn,$g,Vg,bk,_j,Fk,zo,sk,sk,sk,qi,ji,Ni,Hi,zo,Vj,Mj,Oo,zo,Io,yj,ij,sk,sk,li,ii,Ki,Ci,zo,Sj,Gj,Oo,zo,Io,rj,fj,_j,Oo,Io,Io,Uk,Jk,Oo,Io,_k,Sk,Oo,Io,$k,Tk,Oo,Io,ql,Zk,Oo,Io,Mi,Gi,_h,zo,Eh,Ah,_d,zl,Ji,Ai,xk,kk,zj,Qh,Mh,Ak,ok,Dj,Li,Ei,Pd,dl,me,hl,Th,Oo,Io,zo,Th,Th,Wj,Oj,Ag,Qn,Oo,Rn,Oo,Oo,Rn,rn,_n,_n,To,To,To,To,To,To,To,To,To,To,To,To,To,To,To,To,To,To,To,To];var Qa=[Fo,fi,Je,_i,zc,Fo,Fo,Fo];var Ra=[qo,Zh,Mb,Ob,Ob,Mb,Ob,Mb,bg,Ef,qo,qo,qo,qo,qo,qo];var Sa=[fo,sh,sd,Pj,Oi,fo,fo,fo];var Ta=[Mn,qh,ff,Mn];var Ua=[un,xj,yi,un];return{___cxa_can_catch:Tj,___cxa_is_pointer_type:lm,___divdi3:ni,___muldi3:Bk,___udivdi3:ln,_bitshift64Lshr:xl,_bitshift64Shl:rl,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:hm,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:Ul,_emscripten_bind_AttributeOctahedronTransform___destroy___0:pm,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:Cn,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:lk,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:Ul,_emscripten_bind_AttributeQuantizationTransform___destroy___0:pm,_emscripten_bind_AttributeQuantizationTransform_min_value_1:mm,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:Cn,_emscripten_bind_AttributeQuantizationTransform_range_0:Bn,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:gm,_emscripten_bind_AttributeTransformData___destroy___0:Xk,_emscripten_bind_AttributeTransformData_transform_type_0:lo,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:Xm,_emscripten_bind_DecoderBuffer_Init_2:Cm,_emscripten_bind_DecoderBuffer___destroy___0:Dn,_emscripten_bind_Decoder_DecodeBufferToMesh_2:Pl,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:yl,_emscripten_bind_Decoder_Decoder_0:In,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:Zl,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:Ek,_emscripten_bind_Decoder_GetAttributeFloat_3:nl,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:gl,_emscripten_bind_Decoder_GetAttributeIdByName_2:dm,_emscripten_bind_Decoder_GetAttributeId_2:Gl,_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3:Ik,_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3:Nk,_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3:Mk,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:Nk,_emscripten_bind_Decoder_GetAttributeMetadata_2:Xl,_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3:Dk,_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3:Ck,_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3:Hk,_emscripten_bind_Decoder_GetAttribute_2:tm,_emscripten_bind_Decoder_GetEncodedGeometryType_1:nm,_emscripten_bind_Decoder_GetFaceFromMesh_3:Dl,_emscripten_bind_Decoder_GetMetadata_1:Mm,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:Il,_emscripten_bind_Decoder_SkipAttributeTransform_1:km,_emscripten_bind_Decoder___destroy___0:hi,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:bn,_emscripten_bind_DracoFloat32Array_GetValue_1:Im,_emscripten_bind_DracoFloat32Array___destroy___0:ll,_emscripten_bind_DracoFloat32Array_size_0:on,_emscripten_bind_DracoInt16Array_DracoInt16Array_0:bn,_emscripten_bind_DracoInt16Array_GetValue_1:_m,_emscripten_bind_DracoInt16Array___destroy___0:ll,_emscripten_bind_DracoInt16Array_size_0:pn,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:bn,_emscripten_bind_DracoInt32Array_GetValue_1:Zm,_emscripten_bind_DracoInt32Array___destroy___0:ll,_emscripten_bind_DracoInt32Array_size_0:on,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:bn,_emscripten_bind_DracoInt8Array_GetValue_1:an,_emscripten_bind_DracoInt8Array___destroy___0:ll,_emscripten_bind_DracoInt8Array_size_0:zn,_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0:bn,_emscripten_bind_DracoUInt16Array_GetValue_1:_m,_emscripten_bind_DracoUInt16Array___destroy___0:ll,_emscripten_bind_DracoUInt16Array_size_0:pn,_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0:bn,_emscripten_bind_DracoUInt32Array_GetValue_1:Zm,_emscripten_bind_DracoUInt32Array___destroy___0:ll,_emscripten_bind_DracoUInt32Array_size_0:on,_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0:bn,_emscripten_bind_DracoUInt8Array_GetValue_1:an,_emscripten_bind_DracoUInt8Array___destroy___0:ll,_emscripten_bind_DracoUInt8Array_size_0:zn,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:Hm,_emscripten_bind_GeometryAttribute___destroy___0:Dn,_emscripten_bind_Mesh_Mesh_0:Jn,_emscripten_bind_Mesh___destroy___0:pm,_emscripten_bind_Mesh_num_attributes_0:gn,_emscripten_bind_Mesh_num_faces_0:Vm,_emscripten_bind_Mesh_num_points_0:eo,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:Tl,_emscripten_bind_MetadataQuerier_GetEntryName_2:cm,_emscripten_bind_MetadataQuerier_GetIntEntry_2:$l,_emscripten_bind_MetadataQuerier_GetStringEntry_2:Sl,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:Rl,_emscripten_bind_MetadataQuerier_HasEntry_2:im,_emscripten_bind_MetadataQuerier_HasIntEntry_2:_l,_emscripten_bind_MetadataQuerier_HasStringEntry_2:Ql,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:Wm,_emscripten_bind_MetadataQuerier_NumEntries_1:xm,_emscripten_bind_MetadataQuerier___destroy___0:zi,_emscripten_bind_Metadata_Metadata_0:Lj,_emscripten_bind_Metadata___destroy___0:Lm,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:Gn,_emscripten_bind_PointAttribute_PointAttribute_0:Sm,_emscripten_bind_PointAttribute___destroy___0:ri,_emscripten_bind_PointAttribute_attribute_type_0:Pn,_emscripten_bind_PointAttribute_byte_offset_0:Vn,_emscripten_bind_PointAttribute_byte_stride_0:Un,_emscripten_bind_PointAttribute_data_type_0:Zn,_emscripten_bind_PointAttribute_normalized_0:Kn,_emscripten_bind_PointAttribute_num_components_0:Sn,_emscripten_bind_PointAttribute_size_0:eo,_emscripten_bind_PointAttribute_unique_id_0:Yn,_emscripten_bind_PointCloud_PointCloud_0:nn,_emscripten_bind_PointCloud___destroy___0:pm,_emscripten_bind_PointCloud_num_attributes_0:gn,_emscripten_bind_PointCloud_num_points_0:eo,_emscripten_bind_Status___destroy___0:tl,_emscripten_bind_Status_code_0:lo,_emscripten_bind_Status_error_msg_0:fl,_emscripten_bind_Status_ok_0:co,_emscripten_bind_VoidPtr___destroy___0:Dn,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:Do,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:Go,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:wo,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:vo,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:Do,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:Go,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:vo,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:wo,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:so,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:Do,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:vo,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:Go,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:po,_emscripten_enum_draco_StatusCode_ERROR:Do,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:uo,_emscripten_enum_draco_StatusCode_IO_ERROR:Bo,_emscripten_enum_draco_StatusCode_OK:Go,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:xo,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:ro,_emscripten_replace_memory:Ja,_free:Rb,_i64Add:vl,_i64Subtract:wl,_llvm_bswap_i32:vn,_malloc:Va,_memcpy:Bf,_memmove:Rj,_memset:oh,_sbrk:vj,dynCall_ii:Xn,dynCall_iii:tn,dynCall_iiii:Bm,dynCall_iiiiiii:Yk,dynCall_v:Ao,dynCall_vi:go,dynCall_vii:Hn,dynCall_viii:Rm,dynCall_viiii:rm,dynCall_viiiii:Nl,dynCall_viiiiii:jl,establishStackSpace:ao,getTempRet0:Qo,runPostSets:ul,setTempRet0:Lo,setThrew:En,stackAlloc:Tm,stackRestore:Jo,stackSave:So}}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=Module["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"];var _emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"];var _emscripten_bind_AttributeOctahedronTransform___destroy___0=Module["_emscripten_bind_AttributeOctahedronTransform___destroy___0"]=asm["_emscripten_bind_AttributeOctahedronTransform___destroy___0"];var _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=Module["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"];var _emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=Module["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"];var _emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"];var _emscripten_bind_AttributeQuantizationTransform___destroy___0=Module["_emscripten_bind_AttributeQuantizationTransform___destroy___0"]=asm["_emscripten_bind_AttributeQuantizationTransform___destroy___0"];var _emscripten_bind_AttributeQuantizationTransform_min_value_1=Module["_emscripten_bind_AttributeQuantizationTransform_min_value_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_min_value_1"];var _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=Module["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"];var _emscripten_bind_AttributeQuantizationTransform_range_0=Module["_emscripten_bind_AttributeQuantizationTransform_range_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_range_0"];var _emscripten_bind_AttributeTransformData_AttributeTransformData_0=Module["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"]=asm["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"];var _emscripten_bind_AttributeTransformData___destroy___0=Module["_emscripten_bind_AttributeTransformData___destroy___0"]=asm["_emscripten_bind_AttributeTransformData___destroy___0"];var _emscripten_bind_AttributeTransformData_transform_type_0=Module["_emscripten_bind_AttributeTransformData_transform_type_0"]=asm["_emscripten_bind_AttributeTransformData_transform_type_0"];var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=asm["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"];var _emscripten_bind_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=asm["_emscripten_bind_DecoderBuffer_Init_2"];var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=asm["_emscripten_bind_DecoderBuffer___destroy___0"];var _emscripten_bind_Decoder_DecodeBufferToMesh_2=Module["_emscripten_bind_Decoder_DecodeBufferToMesh_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToMesh_2"];var _emscripten_bind_Decoder_DecodeBufferToPointCloud_2=Module["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"];var _emscripten_bind_Decoder_Decoder_0=Module["_emscripten_bind_Decoder_Decoder_0"]=asm["_emscripten_bind_Decoder_Decoder_0"];var _emscripten_bind_Decoder_GetAttributeByUniqueId_2=Module["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"]=asm["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"];var _emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeFloat_3=Module["_emscripten_bind_Decoder_GetAttributeFloat_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloat_3"];var _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=Module["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"]=asm["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"];var _emscripten_bind_Decoder_GetAttributeIdByName_2=Module["_emscripten_bind_Decoder_GetAttributeIdByName_2"]=asm["_emscripten_bind_Decoder_GetAttributeIdByName_2"];var _emscripten_bind_Decoder_GetAttributeId_2=Module["_emscripten_bind_Decoder_GetAttributeId_2"]=asm["_emscripten_bind_Decoder_GetAttributeId_2"];var _emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeMetadata_2=Module["_emscripten_bind_Decoder_GetAttributeMetadata_2"]=asm["_emscripten_bind_Decoder_GetAttributeMetadata_2"];var _emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3"];var _emscripten_bind_Decoder_GetAttribute_2=Module["_emscripten_bind_Decoder_GetAttribute_2"]=asm["_emscripten_bind_Decoder_GetAttribute_2"];var _emscripten_bind_Decoder_GetEncodedGeometryType_1=Module["_emscripten_bind_Decoder_GetEncodedGeometryType_1"]=asm["_emscripten_bind_Decoder_GetEncodedGeometryType_1"];var _emscripten_bind_Decoder_GetFaceFromMesh_3=Module["_emscripten_bind_Decoder_GetFaceFromMesh_3"]=asm["_emscripten_bind_Decoder_GetFaceFromMesh_3"];var _emscripten_bind_Decoder_GetMetadata_1=Module["_emscripten_bind_Decoder_GetMetadata_1"]=asm["_emscripten_bind_Decoder_GetMetadata_1"];var _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=Module["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"]=asm["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"];var _emscripten_bind_Decoder_SkipAttributeTransform_1=Module["_emscripten_bind_Decoder_SkipAttributeTransform_1"]=asm["_emscripten_bind_Decoder_SkipAttributeTransform_1"];var _emscripten_bind_Decoder___destroy___0=Module["_emscripten_bind_Decoder___destroy___0"]=asm["_emscripten_bind_Decoder___destroy___0"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=asm["_emscripten_bind_DracoFloat32Array___destroy___0"];var _emscripten_bind_DracoFloat32Array_size_0=Module["_emscripten_bind_DracoFloat32Array_size_0"]=asm["_emscripten_bind_DracoFloat32Array_size_0"];var _emscripten_bind_DracoInt16Array_DracoInt16Array_0=Module["_emscripten_bind_DracoInt16Array_DracoInt16Array_0"]=asm["_emscripten_bind_DracoInt16Array_DracoInt16Array_0"];var _emscripten_bind_DracoInt16Array_GetValue_1=Module["_emscripten_bind_DracoInt16Array_GetValue_1"]=asm["_emscripten_bind_DracoInt16Array_GetValue_1"];var _emscripten_bind_DracoInt16Array___destroy___0=Module["_emscripten_bind_DracoInt16Array___destroy___0"]=asm["_emscripten_bind_DracoInt16Array___destroy___0"];var _emscripten_bind_DracoInt16Array_size_0=Module["_emscripten_bind_DracoInt16Array_size_0"]=asm["_emscripten_bind_DracoInt16Array_size_0"];var _emscripten_bind_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=asm["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"];var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoInt32Array_GetValue_1"];var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=asm["_emscripten_bind_DracoInt32Array___destroy___0"];var _emscripten_bind_DracoInt32Array_size_0=Module["_emscripten_bind_DracoInt32Array_size_0"]=asm["_emscripten_bind_DracoInt32Array_size_0"];var _emscripten_bind_DracoInt8Array_DracoInt8Array_0=Module["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"]=asm["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"];var _emscripten_bind_DracoInt8Array_GetValue_1=Module["_emscripten_bind_DracoInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoInt8Array_GetValue_1"];var _emscripten_bind_DracoInt8Array___destroy___0=Module["_emscripten_bind_DracoInt8Array___destroy___0"]=asm["_emscripten_bind_DracoInt8Array___destroy___0"];var _emscripten_bind_DracoInt8Array_size_0=Module["_emscripten_bind_DracoInt8Array_size_0"]=asm["_emscripten_bind_DracoInt8Array_size_0"];var _emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=Module["_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0"]=asm["_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0"];var _emscripten_bind_DracoUInt16Array_GetValue_1=Module["_emscripten_bind_DracoUInt16Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt16Array_GetValue_1"];var _emscripten_bind_DracoUInt16Array___destroy___0=Module["_emscripten_bind_DracoUInt16Array___destroy___0"]=asm["_emscripten_bind_DracoUInt16Array___destroy___0"];var _emscripten_bind_DracoUInt16Array_size_0=Module["_emscripten_bind_DracoUInt16Array_size_0"]=asm["_emscripten_bind_DracoUInt16Array_size_0"];var _emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=Module["_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0"]=asm["_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0"];var _emscripten_bind_DracoUInt32Array_GetValue_1=Module["_emscripten_bind_DracoUInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt32Array_GetValue_1"];var _emscripten_bind_DracoUInt32Array___destroy___0=Module["_emscripten_bind_DracoUInt32Array___destroy___0"]=asm["_emscripten_bind_DracoUInt32Array___destroy___0"];var _emscripten_bind_DracoUInt32Array_size_0=Module["_emscripten_bind_DracoUInt32Array_size_0"]=asm["_emscripten_bind_DracoUInt32Array_size_0"];var _emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=Module["_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0"]=asm["_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0"];var _emscripten_bind_DracoUInt8Array_GetValue_1=Module["_emscripten_bind_DracoUInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoUInt8Array_GetValue_1"];var _emscripten_bind_DracoUInt8Array___destroy___0=Module["_emscripten_bind_DracoUInt8Array___destroy___0"]=asm["_emscripten_bind_DracoUInt8Array___destroy___0"];var _emscripten_bind_DracoUInt8Array_size_0=Module["_emscripten_bind_DracoUInt8Array_size_0"]=asm["_emscripten_bind_DracoUInt8Array_size_0"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var _emscripten_bind_MetadataQuerier_GetDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"];var _emscripten_bind_MetadataQuerier_GetEntryName_2=Module["_emscripten_bind_MetadataQuerier_GetEntryName_2"]=asm["_emscripten_bind_MetadataQuerier_GetEntryName_2"];var _emscripten_bind_MetadataQuerier_GetIntEntry_2=Module["_emscripten_bind_MetadataQuerier_GetIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetIntEntry_2"];var _emscripten_bind_MetadataQuerier_GetStringEntry_2=Module["_emscripten_bind_MetadataQuerier_GetStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetStringEntry_2"];var _emscripten_bind_MetadataQuerier_HasDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"];var _emscripten_bind_MetadataQuerier_HasEntry_2=Module["_emscripten_bind_MetadataQuerier_HasEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasEntry_2"];var _emscripten_bind_MetadataQuerier_HasIntEntry_2=Module["_emscripten_bind_MetadataQuerier_HasIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasIntEntry_2"];var _emscripten_bind_MetadataQuerier_HasStringEntry_2=Module["_emscripten_bind_MetadataQuerier_HasStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasStringEntry_2"];var _emscripten_bind_MetadataQuerier_MetadataQuerier_0=Module["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"]=asm["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"];var _emscripten_bind_MetadataQuerier_NumEntries_1=Module["_emscripten_bind_MetadataQuerier_NumEntries_1"]=asm["_emscripten_bind_MetadataQuerier_NumEntries_1"];var _emscripten_bind_MetadataQuerier___destroy___0=Module["_emscripten_bind_MetadataQuerier___destroy___0"]=asm["_emscripten_bind_MetadataQuerier___destroy___0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var _emscripten_bind_PointAttribute_GetAttributeTransformData_0=Module["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"]=asm["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_bind_Status___destroy___0=Module["_emscripten_bind_Status___destroy___0"]=asm["_emscripten_bind_Status___destroy___0"];var _emscripten_bind_Status_code_0=Module["_emscripten_bind_Status_code_0"]=asm["_emscripten_bind_Status_code_0"];var _emscripten_bind_Status_error_msg_0=Module["_emscripten_bind_Status_error_msg_0"]=asm["_emscripten_bind_Status_error_msg_0"];var _emscripten_bind_Status_ok_0=Module["_emscripten_bind_Status_ok_0"]=asm["_emscripten_bind_Status_ok_0"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"];var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=asm["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"];var _emscripten_enum_draco_StatusCode_ERROR=Module["_emscripten_enum_draco_StatusCode_ERROR"]=asm["_emscripten_enum_draco_StatusCode_ERROR"];var _emscripten_enum_draco_StatusCode_INVALID_PARAMETER=Module["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"]=asm["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"];var _emscripten_enum_draco_StatusCode_IO_ERROR=Module["_emscripten_enum_draco_StatusCode_IO_ERROR"]=asm["_emscripten_enum_draco_StatusCode_IO_ERROR"];var _emscripten_enum_draco_StatusCode_OK=Module["_emscripten_enum_draco_StatusCode_OK"]=asm["_emscripten_enum_draco_StatusCode_OK"];var _emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=Module["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"];var _emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=Module["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;i>>16&65535)*h+k*(f>>>16&65535)<<16>>>0)|0}},"es6","es3"); -$jscomp.polyfill("Math.clz32",function(d){return d?d:function(d){d=Number(d)>>>0;if(0===d)return 32;var f=0;0===(d&4294901760)&&(d<<=16,f+=16);0===(d&4278190080)&&(d<<=8,f+=8);0===(d&4026531840)&&(d<<=4,f+=4);0===(d&3221225472)&&(d<<=2,f+=2);0===(d&2147483648)&&f++;return f}},"es6","es3");$jscomp.polyfill("Math.trunc",function(d){return d?d:function(d){d=Number(d);if(isNaN(d)||Infinity===d||-Infinity===d||0===d)return d;var f=Math.floor(Math.abs(d));return 0>d?-f:f}},"es6","es3"); -$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.Symbol=function(){var d=0;return function(k){return $jscomp.SYMBOL_PREFIX+(k||"")+d++}}(); -$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var d=$jscomp.global.Symbol.iterator;d||(d=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[d]&&$jscomp.defineProperty(Array.prototype,d,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(d){var k=0;return $jscomp.iteratorPrototype(function(){return k>0];c|=e;if(0==e&&!b)break;d++;if(b&&d==b)break}b||(b=d);e="";if(128>c){for(;0e?c+=String.fromCharCode(e):(e-=65536,c+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else c+=String.fromCharCode(e)}}function ha(a,b){0< -a%b&&(a+=b-a%b);return a}function r(){a.HEAP8=ia=new Int8Array(D);a.HEAP16=Ja=new Int16Array(D);a.HEAP32=E=new Int32Array(D);a.HEAPU8=W=new Uint8Array(D);a.HEAPU16=new Uint16Array(D);a.HEAPU32=new Uint32Array(D);a.HEAPF32=new Float32Array(D);a.HEAPF64=new Float64Array(D)}function B(e){for(;0>2]=e;e=la.buffer;for(var d=0;d>2],b.adjusted=e,(sa(p[d]),e)|0;e=E[e>>2]; -return(sa(c),e)|0}function Z(e,b){u.varargs=b;try{var c=u.get(),p=u.get(),d=u.get();e=0;Z.buffers||(Z.buffers=[null,[],[]],Z.printChar=function(b,c){var e=Z.buffers[b];f(e);0===c||10===c?((1===b?a.print:a.printErr)(h(e,0)),e.length=0):e.push(c)});for(b=0;b>2],k=E[p+(8*b+4)>>2],l=0;l=e&&(e=65536+((e&1023)<<10)|a.charCodeAt(++c)&1023);127>=e?++b:b=2047>=e?b+2:65535>=e?b+3:2097151>=e?b+4:67108863>=e?b+5:b+6}b=Array(b+1);c=0;e=b.length;if(0=f&&(f=65536+((f&1023)<<10)|a.charCodeAt(++d)&1023);if(127>=f){if(c>=e)break;b[c++]=f}else{if(2047>=f){if(c+1>=e)break;b[c++]=192|f>>6}else{if(65535>=f){if(c+2>=e)break;b[c++]=224|f>>12}else{if(2097151>=f){if(c+ -3>=e)break;b[c++]=240|f>>18}else{if(67108863>=f){if(c+4>=e)break;b[c++]=248|f>>24}else{if(c+5>=e)break;b[c++]=252|f>>30;b[c++]=128|f>>24&63}b[c++]=128|f>>18&63}b[c++]=128|f>>12&63}b[c++]=128|f>>6&63}b[c++]=128|f&63}}b[c]=0}a=l.alloc(b,ia);l.copy(b,ia,a)}return a}function z(){throw"cannot construct a Status, no constructor in IDL";}function F(){this.ptr=Wa();t(F)[this.ptr]=this}function G(){this.ptr=Xa();t(G)[this.ptr]=this}function H(){this.ptr=Ya();t(H)[this.ptr]=this}function I(){this.ptr=Za(); -t(I)[this.ptr]=this}function J(){this.ptr=$a();t(J)[this.ptr]=this}function n(){this.ptr=ab();t(n)[this.ptr]=this}function P(){this.ptr=bb();t(P)[this.ptr]=this}function x(){this.ptr=cb();t(x)[this.ptr]=this}function K(){this.ptr=db();t(K)[this.ptr]=this}function q(){this.ptr=eb();t(q)[this.ptr]=this}function L(){this.ptr=fb();t(L)[this.ptr]=this}function M(){this.ptr=gb();t(M)[this.ptr]=this}function V(){this.ptr=hb();t(V)[this.ptr]=this}function Q(){this.ptr=ib();t(Q)[this.ptr]=this}function g(){this.ptr= -jb();t(g)[this.ptr]=this}function C(){this.ptr=kb();t(C)[this.ptr]=this}function X(){throw"cannot construct a VoidPtr, no constructor in IDL";}function N(){this.ptr=lb();t(N)[this.ptr]=this}function R(){this.ptr=mb();t(R)[this.ptr]=this}d=d||{};var a="undefined"!==typeof d?d:{},Qa=!1,Ra=!1;a.onRuntimeInitialized=function(){Qa=!0;if(Ra&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.onModuleParsed=function(){Ra=!0;if(Qa&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.isVersionSupported= -function(a){if("string"!==typeof a)return!1;a=a.split(".");return 2>a.length||3=a[1]?!0:0!=a[0]||10>2]},getStr:function(){return v(u.get())},get64:function(){var a=u.get(),b=u.get();0<=a?f(0===b):f(-1===b);return a},getZero:function(){f(0===u.get())}},va={},Ha=1;ka=function(a){f(!Sa);var b=ba;ba=ba+ -a+15&-16;return b}(4);Ca=ta=k(ba);ua=Ca+Fa;Da=k(ua);E[ka>>2]=Da;Sa=!0;a.wasmTableSize=492;a.wasmMaxTableSize=492;a.asmGlobalArg={};a.asmLibraryArg={abort:O,assert:f,enlargeMemory:function(){var e=a.usingWasm?65536:16777216,b=2147483648-e;if(E[ka>>2]>b)return!1;var c=A;for(A=Math.max(A,16777216);A>2];)A=536870912>=A?ha(2*A,e):Math.min(ha((3*A+2147483648)/4,e),b);e=a.reallocBuffer(A);if(!e||e.byteLength!=A)return A=c,!1;a.buffer=D=e;r();return!0},getTotalMemory:function(){return A},abortOnCannotGrowMemory:function(){O("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+ -A+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_ii:function(e,b){try{return a.dynCall_ii(e,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;a.setThrew(1,0)}},invoke_iii:function(e,b,c){try{return a.dynCall_iii(e,b,c)}catch(p){if("number"!==typeof p&&"longjmp"!==p)throw p;a.setThrew(1,0)}},invoke_iiii:function(e,b,c,d){try{return a.dynCall_iiii(e, -b,c,d)}catch(S){if("number"!==typeof S&&"longjmp"!==S)throw S;a.setThrew(1,0)}},invoke_iiiiiii:function(e,b,c,d,f,g,h){try{return a.dynCall_iiiiiii(e,b,c,d,f,g,h)}catch(da){if("number"!==typeof da&&"longjmp"!==da)throw da;a.setThrew(1,0)}},invoke_v:function(e){try{a.dynCall_v(e)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;a.setThrew(1,0)}},invoke_vi:function(e,b){try{a.dynCall_vi(e,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;a.setThrew(1,0)}},invoke_vii:function(e,b,c){try{a.dynCall_vii(e, -b,c)}catch(p){if("number"!==typeof p&&"longjmp"!==p)throw p;a.setThrew(1,0)}},invoke_viii:function(e,b,c,d){try{a.dynCall_viii(e,b,c,d)}catch(S){if("number"!==typeof S&&"longjmp"!==S)throw S;a.setThrew(1,0)}},invoke_viiii:function(e,b,c,d,f){try{a.dynCall_viiii(e,b,c,d,f)}catch(xa){if("number"!==typeof xa&&"longjmp"!==xa)throw xa;a.setThrew(1,0)}},invoke_viiiii:function(e,b,c,d,f,g){try{a.dynCall_viiiii(e,b,c,d,f,g)}catch(ca){if("number"!==typeof ca&&"longjmp"!==ca)throw ca;a.setThrew(1,0)}},invoke_viiiiii:function(e, -b,c,d,f,g,h){try{a.dynCall_viiiiii(e,b,c,d,f,g,h)}catch(da){if("number"!==typeof da&&"longjmp"!==da)throw da;a.setThrew(1,0)}},__ZSt18uncaught_exceptionv:w,___cxa_allocate_exception:function(a){return Ka(a)},___cxa_begin_catch:function(a){var b=y.infos[a];b&&!b.caught&&(b.caught=!0,w.uncaught_exception--);b&&(b.rethrown=!1);y.caught.push(a);y.addRef(y.deAdjust(a));return a},___cxa_find_matching_catch:la,___cxa_pure_virtual:function(){oa=!0;throw"Pure virtual function called!";},___cxa_throw:function(a, -b,c){y.infos[a]={ptr:a,adjusted:a,type:b,destructor:c,refcount:0,caught:!1,rethrown:!1};y.last=a;"uncaught_exception"in w?w.uncaught_exception++:w.uncaught_exception=1;throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";},___gxx_personality_v0:function(){},___resumeException:function(a){y.last||(y.last=a);throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."; -},___setErrNo:function(d){a.___errno_location&&(E[a.___errno_location()>>2]=d);return d},___syscall140:function(a,b){u.varargs=b;try{var c=u.getStreamFromFD();u.get();var d=u.get(),e=u.get(),f=u.get();FS.llseek(c,d,f);E[e>>2]=c.position;c.getdents&&0===d&&0===f&&(c.getdents=null);return 0}catch(ca){return"undefined"!==typeof FS&&ca instanceof FS.ErrnoError||O(ca),-ca.errno}},___syscall146:Z,___syscall54:function(a,b){u.varargs=b;return 0},___syscall6:function(a,b){u.varargs=b;try{var c=u.getStreamFromFD(); -FS.close(c);return 0}catch(p){return"undefined"!==typeof FS&&p instanceof FS.ErrnoError||O(p),-p.errno}},_abort:function(){a.abort()},_emscripten_memcpy_big:function(a,b,c){W.set(W.subarray(b,b+c),a);return a},_llvm_floor_f64:pb,_llvm_trap:function(){O("trap!")},_pthread_getspecific:function(a){return va[a]||0},_pthread_key_create:function(a,b){if(0==a)return 22;E[a>>2]=Ha;va[Ha]=0;Ha++;return 0},_pthread_once:ma,_pthread_setspecific:function(a,b){if(!(a in va))return 22;va[a]=b;return 0},flush_NO_FILESYSTEM:function(){var d= -a._fflush;d&&d(0);if(d=Z.printChar){var b=Z.buffers;b[1].length&&d(1,10);b[2].length&&d(2,10)}},DYNAMICTOP_PTR:ka,tempDoublePtr:rb,ABORT:oa,STACKTOP:ta,STACK_MAX:ua};var Ua=a.asm(a.asmGlobalArg,a.asmLibraryArg,D);a.asm=Ua;a.___cxa_can_catch=function(){return a.asm.___cxa_can_catch.apply(null,arguments)};a.___cxa_is_pointer_type=function(){return a.asm.___cxa_is_pointer_type.apply(null,arguments)};var $a=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0.apply(null, -arguments)},sb=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1.apply(null,arguments)},tb=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform___destroy___0.apply(null,arguments)},ub=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0.apply(null, -arguments)},cb=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0.apply(null,arguments)},vb=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1.apply(null,arguments)},wb=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform___destroy___0.apply(null, -arguments)},xb=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_min_value_1.apply(null,arguments)},yb=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0.apply(null,arguments)},zb=a._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_range_0.apply(null, -arguments)},bb=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return a.asm._emscripten_bind_AttributeTransformData_AttributeTransformData_0.apply(null,arguments)},Ab=a._emscripten_bind_AttributeTransformData___destroy___0=function(){return a.asm._emscripten_bind_AttributeTransformData___destroy___0.apply(null,arguments)},Bb=a._emscripten_bind_AttributeTransformData_transform_type_0=function(){return a.asm._emscripten_bind_AttributeTransformData_transform_type_0.apply(null, -arguments)},ib=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return a.asm._emscripten_bind_DecoderBuffer_DecoderBuffer_0.apply(null,arguments)},Cb=a._emscripten_bind_DecoderBuffer_Init_2=function(){return a.asm._emscripten_bind_DecoderBuffer_Init_2.apply(null,arguments)},Db=a._emscripten_bind_DecoderBuffer___destroy___0=function(){return a.asm._emscripten_bind_DecoderBuffer___destroy___0.apply(null,arguments)},Eb=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToMesh_2.apply(null, -arguments)},Fb=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToPointCloud_2.apply(null,arguments)},jb=a._emscripten_bind_Decoder_Decoder_0=function(){return a.asm._emscripten_bind_Decoder_Decoder_0.apply(null,arguments)},Gb=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeByUniqueId_2.apply(null,arguments)},Hb=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3= -function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3.apply(null,arguments)},Ib=a._emscripten_bind_Decoder_GetAttributeFloat_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloat_3.apply(null,arguments)},Jb=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3.apply(null,arguments)},Kb=a._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByName_2.apply(null, -arguments)},Lb=a._emscripten_bind_Decoder_GetAttributeId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeId_2.apply(null,arguments)},Mb=a._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3.apply(null,arguments)},Nb=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3.apply(null,arguments)},Ob=a._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3= -function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3.apply(null,arguments)},Pb=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3.apply(null,arguments)},Qb=a._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeMetadata_2.apply(null,arguments)},Rb=a._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3.apply(null, -arguments)},Sb=a._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3.apply(null,arguments)},Tb=a._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3.apply(null,arguments)},Ub=a._emscripten_bind_Decoder_GetAttribute_2=function(){return a.asm._emscripten_bind_Decoder_GetAttribute_2.apply(null,arguments)},Vb=a._emscripten_bind_Decoder_GetEncodedGeometryType_1= -function(){return a.asm._emscripten_bind_Decoder_GetEncodedGeometryType_1.apply(null,arguments)},Wb=a._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return a.asm._emscripten_bind_Decoder_GetFaceFromMesh_3.apply(null,arguments)},Xb=a._emscripten_bind_Decoder_GetMetadata_1=function(){return a.asm._emscripten_bind_Decoder_GetMetadata_1.apply(null,arguments)},Yb=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return a.asm._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2.apply(null, -arguments)},Zb=a._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return a.asm._emscripten_bind_Decoder_SkipAttributeTransform_1.apply(null,arguments)},$b=a._emscripten_bind_Decoder___destroy___0=function(){return a.asm._emscripten_bind_Decoder___destroy___0.apply(null,arguments)},gb=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0.apply(null,arguments)},ac=a._emscripten_bind_DracoFloat32Array_GetValue_1= -function(){return a.asm._emscripten_bind_DracoFloat32Array_GetValue_1.apply(null,arguments)},bc=a._emscripten_bind_DracoFloat32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoFloat32Array___destroy___0.apply(null,arguments)},cc=a._emscripten_bind_DracoFloat32Array_size_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_size_0.apply(null,arguments)},fb=a._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return a.asm._emscripten_bind_DracoInt16Array_DracoInt16Array_0.apply(null, -arguments)},dc=a._emscripten_bind_DracoInt16Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt16Array_GetValue_1.apply(null,arguments)},ec=a._emscripten_bind_DracoInt16Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt16Array___destroy___0.apply(null,arguments)},fc=a._emscripten_bind_DracoInt16Array_size_0=function(){return a.asm._emscripten_bind_DracoInt16Array_size_0.apply(null,arguments)},lb=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return a.asm._emscripten_bind_DracoInt32Array_DracoInt32Array_0.apply(null, -arguments)},gc=a._emscripten_bind_DracoInt32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt32Array_GetValue_1.apply(null,arguments)},hc=a._emscripten_bind_DracoInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt32Array___destroy___0.apply(null,arguments)},ic=a._emscripten_bind_DracoInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoInt32Array_size_0.apply(null,arguments)},db=a._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return a.asm._emscripten_bind_DracoInt8Array_DracoInt8Array_0.apply(null, -arguments)},jc=a._emscripten_bind_DracoInt8Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt8Array_GetValue_1.apply(null,arguments)},kc=a._emscripten_bind_DracoInt8Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt8Array___destroy___0.apply(null,arguments)},lc=a._emscripten_bind_DracoInt8Array_size_0=function(){return a.asm._emscripten_bind_DracoInt8Array_size_0.apply(null,arguments)},Wa=a._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return a.asm._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0.apply(null, -arguments)},mc=a._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoUInt16Array_GetValue_1.apply(null,arguments)},nc=a._emscripten_bind_DracoUInt16Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt16Array___destroy___0.apply(null,arguments)},oc=a._emscripten_bind_DracoUInt16Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt16Array_size_0.apply(null,arguments)},Za=a._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return a.asm._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0.apply(null, -arguments)},pc=a._emscripten_bind_DracoUInt32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoUInt32Array_GetValue_1.apply(null,arguments)},qc=a._emscripten_bind_DracoUInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt32Array___destroy___0.apply(null,arguments)},rc=a._emscripten_bind_DracoUInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt32Array_size_0.apply(null,arguments)},Ya=a._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return a.asm._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0.apply(null, -arguments)},sc=a._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoUInt8Array_GetValue_1.apply(null,arguments)},tc=a._emscripten_bind_DracoUInt8Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt8Array___destroy___0.apply(null,arguments)},uc=a._emscripten_bind_DracoUInt8Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt8Array_size_0.apply(null,arguments)},hb=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return a.asm._emscripten_bind_GeometryAttribute_GeometryAttribute_0.apply(null, -arguments)},vc=a._emscripten_bind_GeometryAttribute___destroy___0=function(){return a.asm._emscripten_bind_GeometryAttribute___destroy___0.apply(null,arguments)},kb=a._emscripten_bind_Mesh_Mesh_0=function(){return a.asm._emscripten_bind_Mesh_Mesh_0.apply(null,arguments)},wc=a._emscripten_bind_Mesh___destroy___0=function(){return a.asm._emscripten_bind_Mesh___destroy___0.apply(null,arguments)},xc=a._emscripten_bind_Mesh_num_attributes_0=function(){return a.asm._emscripten_bind_Mesh_num_attributes_0.apply(null, -arguments)},yc=a._emscripten_bind_Mesh_num_faces_0=function(){return a.asm._emscripten_bind_Mesh_num_faces_0.apply(null,arguments)},zc=a._emscripten_bind_Mesh_num_points_0=function(){return a.asm._emscripten_bind_Mesh_num_points_0.apply(null,arguments)},Ac=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetDoubleEntry_2.apply(null,arguments)},Bc=a._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetEntryName_2.apply(null, -arguments)},Cc=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetIntEntry_2.apply(null,arguments)},Dc=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetStringEntry_2.apply(null,arguments)},Ec=a._emscripten_bind_MetadataQuerier_HasDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasDoubleEntry_2.apply(null,arguments)},Fc=a._emscripten_bind_MetadataQuerier_HasEntry_2= -function(){return a.asm._emscripten_bind_MetadataQuerier_HasEntry_2.apply(null,arguments)},Gc=a._emscripten_bind_MetadataQuerier_HasIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasIntEntry_2.apply(null,arguments)},Hc=a._emscripten_bind_MetadataQuerier_HasStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasStringEntry_2.apply(null,arguments)},eb=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return a.asm._emscripten_bind_MetadataQuerier_MetadataQuerier_0.apply(null, -arguments)},Ic=a._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return a.asm._emscripten_bind_MetadataQuerier_NumEntries_1.apply(null,arguments)},Jc=a._emscripten_bind_MetadataQuerier___destroy___0=function(){return a.asm._emscripten_bind_MetadataQuerier___destroy___0.apply(null,arguments)},mb=a._emscripten_bind_Metadata_Metadata_0=function(){return a.asm._emscripten_bind_Metadata_Metadata_0.apply(null,arguments)},Kc=a._emscripten_bind_Metadata___destroy___0=function(){return a.asm._emscripten_bind_Metadata___destroy___0.apply(null, -arguments)},Lc=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return a.asm._emscripten_bind_PointAttribute_GetAttributeTransformData_0.apply(null,arguments)},ab=a._emscripten_bind_PointAttribute_PointAttribute_0=function(){return a.asm._emscripten_bind_PointAttribute_PointAttribute_0.apply(null,arguments)},Mc=a._emscripten_bind_PointAttribute___destroy___0=function(){return a.asm._emscripten_bind_PointAttribute___destroy___0.apply(null,arguments)},Nc=a._emscripten_bind_PointAttribute_attribute_type_0= -function(){return a.asm._emscripten_bind_PointAttribute_attribute_type_0.apply(null,arguments)},Oc=a._emscripten_bind_PointAttribute_byte_offset_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_offset_0.apply(null,arguments)},Pc=a._emscripten_bind_PointAttribute_byte_stride_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_stride_0.apply(null,arguments)},Qc=a._emscripten_bind_PointAttribute_data_type_0=function(){return a.asm._emscripten_bind_PointAttribute_data_type_0.apply(null, -arguments)},Rc=a._emscripten_bind_PointAttribute_normalized_0=function(){return a.asm._emscripten_bind_PointAttribute_normalized_0.apply(null,arguments)},Sc=a._emscripten_bind_PointAttribute_num_components_0=function(){return a.asm._emscripten_bind_PointAttribute_num_components_0.apply(null,arguments)},Tc=a._emscripten_bind_PointAttribute_size_0=function(){return a.asm._emscripten_bind_PointAttribute_size_0.apply(null,arguments)},Uc=a._emscripten_bind_PointAttribute_unique_id_0=function(){return a.asm._emscripten_bind_PointAttribute_unique_id_0.apply(null, -arguments)},Xa=a._emscripten_bind_PointCloud_PointCloud_0=function(){return a.asm._emscripten_bind_PointCloud_PointCloud_0.apply(null,arguments)},Vc=a._emscripten_bind_PointCloud___destroy___0=function(){return a.asm._emscripten_bind_PointCloud___destroy___0.apply(null,arguments)},Wc=a._emscripten_bind_PointCloud_num_attributes_0=function(){return a.asm._emscripten_bind_PointCloud_num_attributes_0.apply(null,arguments)},Xc=a._emscripten_bind_PointCloud_num_points_0=function(){return a.asm._emscripten_bind_PointCloud_num_points_0.apply(null, -arguments)},Yc=a._emscripten_bind_Status___destroy___0=function(){return a.asm._emscripten_bind_Status___destroy___0.apply(null,arguments)},Zc=a._emscripten_bind_Status_code_0=function(){return a.asm._emscripten_bind_Status_code_0.apply(null,arguments)},$c=a._emscripten_bind_Status_error_msg_0=function(){return a.asm._emscripten_bind_Status_error_msg_0.apply(null,arguments)},ad=a._emscripten_bind_Status_ok_0=function(){return a.asm._emscripten_bind_Status_ok_0.apply(null,arguments)},bd=a._emscripten_bind_VoidPtr___destroy___0= -function(){return a.asm._emscripten_bind_VoidPtr___destroy___0.apply(null,arguments)},cd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM.apply(null,arguments)},dd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM.apply(null,arguments)},ed=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM= -function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM.apply(null,arguments)},fd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM.apply(null,arguments)},gd=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE.apply(null, -arguments)},hd=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD.apply(null,arguments)},id=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH.apply(null,arguments)},jd=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_COLOR.apply(null,arguments)},kd= -a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_GENERIC.apply(null,arguments)},ld=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_INVALID.apply(null,arguments)},md=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_NORMAL.apply(null,arguments)},nd=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION= -function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_POSITION.apply(null,arguments)},od=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD.apply(null,arguments)},pd=a._emscripten_enum_draco_StatusCode_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_ERROR.apply(null,arguments)},qd=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return a.asm._emscripten_enum_draco_StatusCode_INVALID_PARAMETER.apply(null, -arguments)},rd=a._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_IO_ERROR.apply(null,arguments)},sd=a._emscripten_enum_draco_StatusCode_OK=function(){return a.asm._emscripten_enum_draco_StatusCode_OK.apply(null,arguments)},td=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION.apply(null,arguments)},ud=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION.apply(null, -arguments)},nb=a._emscripten_replace_memory=function(){return a.asm._emscripten_replace_memory.apply(null,arguments)};a._free=function(){return a.asm._free.apply(null,arguments)};a._llvm_bswap_i32=function(){return a.asm._llvm_bswap_i32.apply(null,arguments)};var Ka=a._malloc=function(){return a.asm._malloc.apply(null,arguments)};a._memcpy=function(){return a.asm._memcpy.apply(null,arguments)};a._memmove=function(){return a.asm._memmove.apply(null,arguments)};a._memset=function(){return a.asm._memset.apply(null, -arguments)};a._sbrk=function(){return a.asm._sbrk.apply(null,arguments)};a.establishStackSpace=function(){return a.asm.establishStackSpace.apply(null,arguments)};a.getTempRet0=function(){return a.asm.getTempRet0.apply(null,arguments)};a.runPostSets=function(){return a.asm.runPostSets.apply(null,arguments)};var sa=a.setTempRet0=function(){return a.asm.setTempRet0.apply(null,arguments)};a.setThrew=function(){return a.asm.setThrew.apply(null,arguments)};a.stackAlloc=function(){return a.asm.stackAlloc.apply(null, -arguments)};a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)};a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)};a.dynCall_ii=function(){return a.asm.dynCall_ii.apply(null,arguments)};a.dynCall_iii=function(){return a.asm.dynCall_iii.apply(null,arguments)};a.dynCall_iiii=function(){return a.asm.dynCall_iiii.apply(null,arguments)};a.dynCall_iiiiiii=function(){return a.asm.dynCall_iiiiiii.apply(null,arguments)};a.dynCall_v=function(){return a.asm.dynCall_v.apply(null, -arguments)};a.dynCall_vi=function(){return a.asm.dynCall_vi.apply(null,arguments)};a.dynCall_vii=function(){return a.asm.dynCall_vii.apply(null,arguments)};a.dynCall_viii=function(){return a.asm.dynCall_viii.apply(null,arguments)};a.dynCall_viiii=function(){return a.asm.dynCall_viiii.apply(null,arguments)};a.dynCall_viiiii=function(){return a.asm.dynCall_viiiii.apply(null,arguments)};a.dynCall_viiiiii=function(){return a.asm.dynCall_viiiiii.apply(null,arguments)};a.asm=Ua;a.then=function(d){if(a.calledRun)d(a); -else{var b=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){b&&b();d(a)}}return a};na.prototype=Error();na.prototype.constructor=na;ra=function b(){a.calledRun||wa();a.calledRun||(ra=b)};a.run=wa;a.exit=function(b,c){if(!c||!a.noExitRuntime||0!==b){if(!a.noExitRuntime&&(oa=!0,ta=void 0,B(ob),a.onExit))a.onExit(b);qa&&process.exit(b);a.quit(b,new na(b))}};a.abort=O;if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0=l.size?(f(0>= -1;break;case 4:d>>=2;break;case 8:d>>=3}for(var b=0;b>>16&65535)*g+n*(d>>>16&65535)<<16>>>0)|0}},"es6","es3"); +$jscomp.polyfill("Math.clz32",function(d){return d?d:function(f){f=Number(f)>>>0;if(0===f)return 32;var d=0;0===(f&4294901760)&&(f<<=16,d+=16);0===(f&4278190080)&&(f<<=8,d+=8);0===(f&4026531840)&&(f<<=4,d+=4);0===(f&3221225472)&&(f<<=2,d+=2);0===(f&2147483648)&&d++;return d}},"es6","es3");$jscomp.polyfill("Math.trunc",function(d){return d?d:function(d){d=Number(d);if(isNaN(d)||Infinity===d||-Infinity===d||0===d)return d;var f=Math.floor(Math.abs(d));return 0>d?-f:f}},"es6","es3"); +$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(d){return $jscomp.SYMBOL_PREFIX+(d||"")+$jscomp.symbolCounter_++}; +$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var d=$jscomp.global.Symbol.iterator;d||(d=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[d]&&$jscomp.defineProperty(Array.prototype,d,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(d){var f=0;return $jscomp.iteratorPrototype(function(){return f>0];c|=l;if(0==l&&!b)break;d++;if(b&&d==b)break}b||(b=d);l="";if(128>c){for(;0>2]>b)return!1;var c=y;for(y=Math.max(y,ib);y>2];)y=536870912>=y?ma(2*y,e):Math.min(ma((3*y+2147483648)/4,e),b);e=a.reallocBuffer(y);if(!e||e.byteLength!=y)return y=c,!1;a.buffer=F=e;D();return!0}function u(e){for(;0>2]=e;e=qa.buffer;for(var d=0;d> +2],b.adjusted=e,(m.setTempRet0(l[d]),e)|0;e=x[e>>2];return(m.setTempRet0(c),e)|0}function Q(e,b){v.varargs=b;try{var c=v.get(),l=v.get(),d=v.get();e=0;Q.buffer||(Q.buffers=[null,[],[]],Q.printChar=function(b,c){var e=Q.buffers[b];f(e);if(0===c||10===c){b=1===b?a.print:a.printErr;a:{for(var l=c=0;e[l];)++l;if(16d?l+=String.fromCharCode(d):(d-=65536,l+=String.fromCharCode(55296|d>>10,56320|d&1023))}}else l+=String.fromCharCode(d)}}b(c);e.length=0}else e.push(c)});for(b=0;b>2],g=x[l+(8*b+4)>>2],k=0;k=e&&(e=65536+((e&1023)<<10)|a.charCodeAt(++c)&1023);127>=e?++b:b=2047>=e?b+2:65535>=e?b+3:2097151>=e?b+4:67108863>=e?b+5:b+6}b=Array(b+1);c=0;e=b.length;if(0=f&&(f=65536+((f&1023)<<10)|a.charCodeAt(++d)&1023);if(127>=f){if(c>=e)break;b[c++]=f}else{if(2047>=f){if(c+1>=e)break;b[c++]=192|f>>6}else{if(65535>=f){if(c+2>=e)break;b[c++]=224|f>>12}else{if(2097151>=f){if(c+3>=e)break;b[c++]=240|f>>18}else{if(67108863>=f){if(c+4>=e)break;b[c++]=248|f>>24}else{if(c+5>=e)break;b[c++]=252|f>>30;b[c++]=128|f>>24&63}b[c++]=128|f>>18&63}b[c++]=128|f>>12&63}b[c++]=128|f>>6&63}b[c++]=128|f&63}}b[c]=0}a=k.alloc(b,fa);k.copy(b,fa,a)}return a} +function B(){throw"cannot construct a Status, no constructor in IDL";}function G(){this.ptr=lb();t(G)[this.ptr]=this}function H(){this.ptr=mb();t(H)[this.ptr]=this}function I(){this.ptr=nb();t(I)[this.ptr]=this}function J(){this.ptr=ob();t(J)[this.ptr]=this}function K(){this.ptr=pb();t(K)[this.ptr]=this}function q(){this.ptr=qb();t(q)[this.ptr]=this}function P(){this.ptr=rb();t(P)[this.ptr]=this}function z(){this.ptr=sb();t(z)[this.ptr]=this}function L(){this.ptr=tb();t(L)[this.ptr]=this}function r(){this.ptr= +ub();t(r)[this.ptr]=this}function M(){this.ptr=vb();t(M)[this.ptr]=this}function N(){this.ptr=wb();t(N)[this.ptr]=this}function Z(){this.ptr=xb();t(Z)[this.ptr]=this}function R(){this.ptr=yb();t(R)[this.ptr]=this}function h(){this.ptr=zb();t(h)[this.ptr]=this}function C(){this.ptr=Ab();t(C)[this.ptr]=this}function ca(){throw"cannot construct a VoidPtr, no constructor in IDL";}function O(){this.ptr=Bb();t(O)[this.ptr]=this}function S(){this.ptr=Cb();t(S)[this.ptr]=this}var a=d=d||{},bb=!1,cb=!1;a.onRuntimeInitialized= +function(){bb=!0;if(cb&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.onModuleParsed=function(){cb=!0;if(bb&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.isVersionSupported=function(a){if("string"!==typeof a)return!1;a=a.split(".");return 2>a.length||3=a[1]?!0:0!=a[0]||10>2];a=(b+a+15|0)&-16;x[ba>>2]=a;return a>=y&&!Ma()?(x[ba>>2]=b,0):b},alignMemory:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},makeBigInt:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},GLOBAL_BASE:1024,QUANTUM_SIZE:4,__dummy__:0},ua=0,Ua="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");var Aa=65536,Sa=16777216,ib=16777216,fa,T,za, +Oa,x,Pa,Qa,Ra,aa,Ga,U,xa,Ha,ba;var Ia=aa=Ga=U=xa=Ha=ba=0;a.reallocBuffer||(a.reallocBuffer=function(a){try{if(ArrayBuffer.transfer)var b=ArrayBuffer.transfer(F,a);else{var c=fa;b=new ArrayBuffer(a);(new Int8Array(b)).set(c)}}catch(l){return!1}return Db(b)?b:!1});try{var Ja=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);Ja(new ArrayBuffer(4))}catch(e){Ja=function(a){return a.byteLength}}var Ka=a.TOTAL_STACK||5242880,y=a.TOTAL_MEMORY||16777216; +y>2]},getStr:function(){return n(v.get())},get64:function(){var a=v.get(),b=v.get();0<=a? +f(0===b):f(-1===b);return a},getZero:function(){f(0===v.get())}},ya={},La=1;db.push(function(){var e=a._fflush;e&&e(0);if(e=Q.printChar){var b=Q.buffers;b[1].length&&e(1,10);b[2].length&&e(2,10)}});ba=m.staticAlloc(4);Ga=U=m.alignMemory(aa);xa=Ga+Ka;Ha=m.alignMemory(xa);x[ba>>2]=Ha;a.wasmTableSize=492;a.wasmMaxTableSize=492;a.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array, +Float64Array:Float64Array,NaN:NaN,Infinity:Infinity,byteLength:Ja};a.asmLibraryArg={abort:W,assert:f,enlargeMemory:Ma,getTotalMemory:function(){return y},abortOnCannotGrowMemory:function(){W("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+y+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}, +invoke_ii:function(e,b){try{return a.dynCall_ii(e,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;a.setThrew(1,0)}},invoke_iii:function(e,b,c){try{return a.dynCall_iii(e,b,c)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;a.setThrew(1,0)}},invoke_iiii:function(e,b,c,d){try{return a.dynCall_iiii(e,b,c,d)}catch(E){if("number"!==typeof E&&"longjmp"!==E)throw E;a.setThrew(1,0)}},invoke_iiiiiii:function(e,b,c,d,f,g,h){try{return a.dynCall_iiiiiii(e,b,c,d,f,g,h)}catch(ja){if("number"!== +typeof ja&&"longjmp"!==ja)throw ja;a.setThrew(1,0)}},invoke_v:function(e){try{a.dynCall_v(e)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;a.setThrew(1,0)}},invoke_vi:function(e,b){try{a.dynCall_vi(e,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;a.setThrew(1,0)}},invoke_vii:function(e,b,c){try{a.dynCall_vii(e,b,c)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;a.setThrew(1,0)}},invoke_viii:function(e,b,c,d){try{a.dynCall_viii(e,b,c,d)}catch(E){if("number"!==typeof E&& +"longjmp"!==E)throw E;a.setThrew(1,0)}},invoke_viiii:function(e,b,c,d,f){try{a.dynCall_viiii(e,b,c,d,f)}catch(ta){if("number"!==typeof ta&&"longjmp"!==ta)throw ta;a.setThrew(1,0)}},invoke_viiiii:function(e,b,c,d,f,g){try{a.dynCall_viiiii(e,b,c,d,f,g)}catch(ia){if("number"!==typeof ia&&"longjmp"!==ia)throw ia;a.setThrew(1,0)}},invoke_viiiiii:function(e,b,c,d,f,g,h){try{a.dynCall_viiiiii(e,b,c,d,f,g,h)}catch(ja){if("number"!==typeof ja&&"longjmp"!==ja)throw ja;a.setThrew(1,0)}},__ZSt18uncaught_exceptionv:na, +___cxa_allocate_exception:function(a){return Ta(a)},___cxa_begin_catch:function(a){var b=A.infos[a];b&&!b.caught&&(b.caught=!0,na.uncaught_exception--);b&&(b.rethrown=!1);A.caught.push(a);A.addRef(A.deAdjust(a));return a},___cxa_find_matching_catch:qa,___cxa_pure_virtual:function(){ua=!0;throw"Pure virtual function called!";},___cxa_throw:function(a,b,c){A.infos[a]={ptr:a,adjusted:a,type:b,destructor:c,refcount:0,caught:!1,rethrown:!1};A.last=a;"uncaught_exception"in na?na.uncaught_exception++:na.uncaught_exception= +1;throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";},___gxx_personality_v0:function(){},___resumeException:function(a){A.last||(A.last=a);throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";},___setErrNo:function(e){a.___errno_location&&(x[a.___errno_location()>>2]=e);return e}, +___syscall140:function(a,b){v.varargs=b;try{var c=v.getStreamFromFD();v.get();var e=v.get(),d=v.get(),f=v.get();FS.llseek(c,e,f);x[d>>2]=c.position;c.getdents&&0===e&&0===f&&(c.getdents=null);return 0}catch(ia){return"undefined"!==typeof FS&&ia instanceof FS.ErrnoError||W(ia),-ia.errno}},___syscall146:Q,___syscall54:function(a,b){v.varargs=b;return 0},___syscall6:function(a,b){v.varargs=b;try{var c=v.getStreamFromFD();FS.close(c);return 0}catch(l){return"undefined"!==typeof FS&&l instanceof FS.ErrnoError|| +W(l),-l.errno}},_abort:function(){a.abort()},_emscripten_memcpy_big:function(a,b,c){T.set(T.subarray(b,b+c),a);return a},_pthread_getspecific:function(a){return ya[a]||0},_pthread_key_create:function(a,b){if(0==a)return 22;x[a>>2]=La;ya[La]=0;La++;return 0},_pthread_once:ra,_pthread_setspecific:function(a,b){if(!(a in ya))return 22;ya[a]=b;return 0},DYNAMICTOP_PTR:ba,tempDoublePtr:Eb,ABORT:ua,STACKTOP:U,STACK_MAX:xa};var eb=a.asm(a.asmGlobalArg,a.asmLibraryArg,F);a.asm=eb;a.___cxa_can_catch=function(){return a.asm.___cxa_can_catch.apply(null, +arguments)};a.___cxa_is_pointer_type=function(){return a.asm.___cxa_is_pointer_type.apply(null,arguments)};var pb=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0.apply(null,arguments)},Fb=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1.apply(null,arguments)}, +Gb=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform___destroy___0.apply(null,arguments)},Hb=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0.apply(null,arguments)},sb=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0.apply(null, +arguments)},Ib=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1.apply(null,arguments)},Jb=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform___destroy___0.apply(null,arguments)},Kb=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_min_value_1.apply(null, +arguments)},Lb=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0.apply(null,arguments)},Mb=a._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_range_0.apply(null,arguments)},rb=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return a.asm._emscripten_bind_AttributeTransformData_AttributeTransformData_0.apply(null, +arguments)},Nb=a._emscripten_bind_AttributeTransformData___destroy___0=function(){return a.asm._emscripten_bind_AttributeTransformData___destroy___0.apply(null,arguments)},Ob=a._emscripten_bind_AttributeTransformData_transform_type_0=function(){return a.asm._emscripten_bind_AttributeTransformData_transform_type_0.apply(null,arguments)},yb=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return a.asm._emscripten_bind_DecoderBuffer_DecoderBuffer_0.apply(null,arguments)},Pb=a._emscripten_bind_DecoderBuffer_Init_2= +function(){return a.asm._emscripten_bind_DecoderBuffer_Init_2.apply(null,arguments)},Qb=a._emscripten_bind_DecoderBuffer___destroy___0=function(){return a.asm._emscripten_bind_DecoderBuffer___destroy___0.apply(null,arguments)},Rb=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToMesh_2.apply(null,arguments)},Sb=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToPointCloud_2.apply(null, +arguments)},zb=a._emscripten_bind_Decoder_Decoder_0=function(){return a.asm._emscripten_bind_Decoder_Decoder_0.apply(null,arguments)},Tb=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeByUniqueId_2.apply(null,arguments)},Ub=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3.apply(null,arguments)},Vb=a._emscripten_bind_Decoder_GetAttributeFloat_3= +function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloat_3.apply(null,arguments)},Wb=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3.apply(null,arguments)},Xb=a._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByName_2.apply(null,arguments)},Yb=a._emscripten_bind_Decoder_GetAttributeId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeId_2.apply(null, +arguments)},Zb=a._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3.apply(null,arguments)},$b=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3.apply(null,arguments)},ac=a._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3.apply(null,arguments)}, +bc=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3.apply(null,arguments)},cc=a._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeMetadata_2.apply(null,arguments)},dc=a._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3.apply(null,arguments)},ec=a._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3= +function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3.apply(null,arguments)},fc=a._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3.apply(null,arguments)},gc=a._emscripten_bind_Decoder_GetAttribute_2=function(){return a.asm._emscripten_bind_Decoder_GetAttribute_2.apply(null,arguments)},hc=a._emscripten_bind_Decoder_GetEncodedGeometryType_1=function(){return a.asm._emscripten_bind_Decoder_GetEncodedGeometryType_1.apply(null, +arguments)},ic=a._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return a.asm._emscripten_bind_Decoder_GetFaceFromMesh_3.apply(null,arguments)},jc=a._emscripten_bind_Decoder_GetMetadata_1=function(){return a.asm._emscripten_bind_Decoder_GetMetadata_1.apply(null,arguments)},kc=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return a.asm._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2.apply(null,arguments)},lc=a._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return a.asm._emscripten_bind_Decoder_SkipAttributeTransform_1.apply(null, +arguments)},mc=a._emscripten_bind_Decoder___destroy___0=function(){return a.asm._emscripten_bind_Decoder___destroy___0.apply(null,arguments)},wb=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0.apply(null,arguments)},nc=a._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoFloat32Array_GetValue_1.apply(null,arguments)},oc=a._emscripten_bind_DracoFloat32Array___destroy___0= +function(){return a.asm._emscripten_bind_DracoFloat32Array___destroy___0.apply(null,arguments)},pc=a._emscripten_bind_DracoFloat32Array_size_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_size_0.apply(null,arguments)},vb=a._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return a.asm._emscripten_bind_DracoInt16Array_DracoInt16Array_0.apply(null,arguments)},qc=a._emscripten_bind_DracoInt16Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt16Array_GetValue_1.apply(null, +arguments)},rc=a._emscripten_bind_DracoInt16Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt16Array___destroy___0.apply(null,arguments)},sc=a._emscripten_bind_DracoInt16Array_size_0=function(){return a.asm._emscripten_bind_DracoInt16Array_size_0.apply(null,arguments)},Bb=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return a.asm._emscripten_bind_DracoInt32Array_DracoInt32Array_0.apply(null,arguments)},tc=a._emscripten_bind_DracoInt32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt32Array_GetValue_1.apply(null, +arguments)},uc=a._emscripten_bind_DracoInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt32Array___destroy___0.apply(null,arguments)},vc=a._emscripten_bind_DracoInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoInt32Array_size_0.apply(null,arguments)},tb=a._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return a.asm._emscripten_bind_DracoInt8Array_DracoInt8Array_0.apply(null,arguments)},wc=a._emscripten_bind_DracoInt8Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt8Array_GetValue_1.apply(null, +arguments)},xc=a._emscripten_bind_DracoInt8Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt8Array___destroy___0.apply(null,arguments)},yc=a._emscripten_bind_DracoInt8Array_size_0=function(){return a.asm._emscripten_bind_DracoInt8Array_size_0.apply(null,arguments)},lb=a._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return a.asm._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0.apply(null,arguments)},zc=a._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoUInt16Array_GetValue_1.apply(null, +arguments)},Ac=a._emscripten_bind_DracoUInt16Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt16Array___destroy___0.apply(null,arguments)},Bc=a._emscripten_bind_DracoUInt16Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt16Array_size_0.apply(null,arguments)},ob=a._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return a.asm._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0.apply(null,arguments)},Cc=a._emscripten_bind_DracoUInt32Array_GetValue_1= +function(){return a.asm._emscripten_bind_DracoUInt32Array_GetValue_1.apply(null,arguments)},Dc=a._emscripten_bind_DracoUInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt32Array___destroy___0.apply(null,arguments)},Ec=a._emscripten_bind_DracoUInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt32Array_size_0.apply(null,arguments)},nb=a._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return a.asm._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0.apply(null, +arguments)},Fc=a._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoUInt8Array_GetValue_1.apply(null,arguments)},Gc=a._emscripten_bind_DracoUInt8Array___destroy___0=function(){return a.asm._emscripten_bind_DracoUInt8Array___destroy___0.apply(null,arguments)},Hc=a._emscripten_bind_DracoUInt8Array_size_0=function(){return a.asm._emscripten_bind_DracoUInt8Array_size_0.apply(null,arguments)},xb=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return a.asm._emscripten_bind_GeometryAttribute_GeometryAttribute_0.apply(null, +arguments)},Ic=a._emscripten_bind_GeometryAttribute___destroy___0=function(){return a.asm._emscripten_bind_GeometryAttribute___destroy___0.apply(null,arguments)},Ab=a._emscripten_bind_Mesh_Mesh_0=function(){return a.asm._emscripten_bind_Mesh_Mesh_0.apply(null,arguments)},Jc=a._emscripten_bind_Mesh___destroy___0=function(){return a.asm._emscripten_bind_Mesh___destroy___0.apply(null,arguments)},Kc=a._emscripten_bind_Mesh_num_attributes_0=function(){return a.asm._emscripten_bind_Mesh_num_attributes_0.apply(null, +arguments)},Lc=a._emscripten_bind_Mesh_num_faces_0=function(){return a.asm._emscripten_bind_Mesh_num_faces_0.apply(null,arguments)},Mc=a._emscripten_bind_Mesh_num_points_0=function(){return a.asm._emscripten_bind_Mesh_num_points_0.apply(null,arguments)},Nc=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetDoubleEntry_2.apply(null,arguments)},Oc=a._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetEntryName_2.apply(null, +arguments)},Pc=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetIntEntry_2.apply(null,arguments)},Qc=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetStringEntry_2.apply(null,arguments)},Rc=a._emscripten_bind_MetadataQuerier_HasDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasDoubleEntry_2.apply(null,arguments)},Sc=a._emscripten_bind_MetadataQuerier_HasEntry_2= +function(){return a.asm._emscripten_bind_MetadataQuerier_HasEntry_2.apply(null,arguments)},Tc=a._emscripten_bind_MetadataQuerier_HasIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasIntEntry_2.apply(null,arguments)},Uc=a._emscripten_bind_MetadataQuerier_HasStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasStringEntry_2.apply(null,arguments)},ub=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return a.asm._emscripten_bind_MetadataQuerier_MetadataQuerier_0.apply(null, +arguments)},Vc=a._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return a.asm._emscripten_bind_MetadataQuerier_NumEntries_1.apply(null,arguments)},Wc=a._emscripten_bind_MetadataQuerier___destroy___0=function(){return a.asm._emscripten_bind_MetadataQuerier___destroy___0.apply(null,arguments)},Cb=a._emscripten_bind_Metadata_Metadata_0=function(){return a.asm._emscripten_bind_Metadata_Metadata_0.apply(null,arguments)},Xc=a._emscripten_bind_Metadata___destroy___0=function(){return a.asm._emscripten_bind_Metadata___destroy___0.apply(null, +arguments)},Yc=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return a.asm._emscripten_bind_PointAttribute_GetAttributeTransformData_0.apply(null,arguments)},qb=a._emscripten_bind_PointAttribute_PointAttribute_0=function(){return a.asm._emscripten_bind_PointAttribute_PointAttribute_0.apply(null,arguments)},Zc=a._emscripten_bind_PointAttribute___destroy___0=function(){return a.asm._emscripten_bind_PointAttribute___destroy___0.apply(null,arguments)},$c=a._emscripten_bind_PointAttribute_attribute_type_0= +function(){return a.asm._emscripten_bind_PointAttribute_attribute_type_0.apply(null,arguments)},ad=a._emscripten_bind_PointAttribute_byte_offset_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_offset_0.apply(null,arguments)},bd=a._emscripten_bind_PointAttribute_byte_stride_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_stride_0.apply(null,arguments)},cd=a._emscripten_bind_PointAttribute_data_type_0=function(){return a.asm._emscripten_bind_PointAttribute_data_type_0.apply(null, +arguments)},dd=a._emscripten_bind_PointAttribute_normalized_0=function(){return a.asm._emscripten_bind_PointAttribute_normalized_0.apply(null,arguments)},ed=a._emscripten_bind_PointAttribute_num_components_0=function(){return a.asm._emscripten_bind_PointAttribute_num_components_0.apply(null,arguments)},fd=a._emscripten_bind_PointAttribute_size_0=function(){return a.asm._emscripten_bind_PointAttribute_size_0.apply(null,arguments)},gd=a._emscripten_bind_PointAttribute_unique_id_0=function(){return a.asm._emscripten_bind_PointAttribute_unique_id_0.apply(null, +arguments)},mb=a._emscripten_bind_PointCloud_PointCloud_0=function(){return a.asm._emscripten_bind_PointCloud_PointCloud_0.apply(null,arguments)},hd=a._emscripten_bind_PointCloud___destroy___0=function(){return a.asm._emscripten_bind_PointCloud___destroy___0.apply(null,arguments)},id=a._emscripten_bind_PointCloud_num_attributes_0=function(){return a.asm._emscripten_bind_PointCloud_num_attributes_0.apply(null,arguments)},jd=a._emscripten_bind_PointCloud_num_points_0=function(){return a.asm._emscripten_bind_PointCloud_num_points_0.apply(null, +arguments)},kd=a._emscripten_bind_Status___destroy___0=function(){return a.asm._emscripten_bind_Status___destroy___0.apply(null,arguments)},ld=a._emscripten_bind_Status_code_0=function(){return a.asm._emscripten_bind_Status_code_0.apply(null,arguments)},md=a._emscripten_bind_Status_error_msg_0=function(){return a.asm._emscripten_bind_Status_error_msg_0.apply(null,arguments)},nd=a._emscripten_bind_Status_ok_0=function(){return a.asm._emscripten_bind_Status_ok_0.apply(null,arguments)},od=a._emscripten_bind_VoidPtr___destroy___0= +function(){return a.asm._emscripten_bind_VoidPtr___destroy___0.apply(null,arguments)},pd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM.apply(null,arguments)},qd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM.apply(null,arguments)},rd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM= +function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM.apply(null,arguments)},sd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM.apply(null,arguments)},td=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE.apply(null, +arguments)},ud=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD.apply(null,arguments)},vd=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH.apply(null,arguments)},wd=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_COLOR.apply(null,arguments)},xd= +a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_GENERIC.apply(null,arguments)},yd=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_INVALID.apply(null,arguments)},zd=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_NORMAL.apply(null,arguments)},Ad=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION= +function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_POSITION.apply(null,arguments)},Bd=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD.apply(null,arguments)},Cd=a._emscripten_enum_draco_StatusCode_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_ERROR.apply(null,arguments)},Dd=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return a.asm._emscripten_enum_draco_StatusCode_INVALID_PARAMETER.apply(null, +arguments)},Ed=a._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_IO_ERROR.apply(null,arguments)},Fd=a._emscripten_enum_draco_StatusCode_OK=function(){return a.asm._emscripten_enum_draco_StatusCode_OK.apply(null,arguments)},Gd=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION.apply(null,arguments)},Hd=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION.apply(null, +arguments)};a._emscripten_get_global_libc=function(){return a.asm._emscripten_get_global_libc.apply(null,arguments)};var Db=a._emscripten_replace_memory=function(){return a.asm._emscripten_replace_memory.apply(null,arguments)};a._free=function(){return a.asm._free.apply(null,arguments)};a._llvm_bswap_i32=function(){return a.asm._llvm_bswap_i32.apply(null,arguments)};var Ta=a._malloc=function(){return a.asm._malloc.apply(null,arguments)};a._memcpy=function(){return a.asm._memcpy.apply(null,arguments)}; +a._memmove=function(){return a.asm._memmove.apply(null,arguments)};a._memset=function(){return a.asm._memset.apply(null,arguments)};a._sbrk=function(){return a.asm._sbrk.apply(null,arguments)};a.establishStackSpace=function(){return a.asm.establishStackSpace.apply(null,arguments)};a.getTempRet0=function(){return a.asm.getTempRet0.apply(null,arguments)};a.runPostSets=function(){return a.asm.runPostSets.apply(null,arguments)};a.setTempRet0=function(){return a.asm.setTempRet0.apply(null,arguments)}; +a.setThrew=function(){return a.asm.setThrew.apply(null,arguments)};a.stackAlloc=function(){return a.asm.stackAlloc.apply(null,arguments)};a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)};a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)};a.dynCall_ii=function(){return a.asm.dynCall_ii.apply(null,arguments)};a.dynCall_iii=function(){return a.asm.dynCall_iii.apply(null,arguments)};a.dynCall_iiii=function(){return a.asm.dynCall_iiii.apply(null,arguments)}; +a.dynCall_iiiiiii=function(){return a.asm.dynCall_iiiiiii.apply(null,arguments)};a.dynCall_v=function(){return a.asm.dynCall_v.apply(null,arguments)};a.dynCall_vi=function(){return a.asm.dynCall_vi.apply(null,arguments)};a.dynCall_vii=function(){return a.asm.dynCall_vii.apply(null,arguments)};a.dynCall_viii=function(){return a.asm.dynCall_viii.apply(null,arguments)};a.dynCall_viiii=function(){return a.asm.dynCall_viiii.apply(null,arguments)};a.dynCall_viiiii=function(){return a.asm.dynCall_viiiii.apply(null, +arguments)};a.dynCall_viiiiii=function(){return a.asm.dynCall_viiiiii.apply(null,arguments)};m.stackAlloc=a.stackAlloc;m.stackSave=a.stackSave;m.stackRestore=a.stackRestore;m.establishStackSpace=a.establishStackSpace;m.setTempRet0=a.setTempRet0;m.getTempRet0=a.getTempRet0;a.asm=eb;if(V)if("function"===typeof a.locateFile?V=a.locateFile(V):a.memoryInitializerPrefixURL&&(V=a.memoryInitializerPrefixURL+V),pa||wa){var Id=a.readBinary(V);T.set(Id,m.GLOBAL_BASE)}else{var gb=function(){a.readAsync(V,fb, +function(){throw"could not load memory initializer "+V;})};la("memory initializer");var fb=function(d){d.byteLength&&(d=new Uint8Array(d));T.set(d,m.GLOBAL_BASE);a.memoryInitializerRequest&&delete a.memoryInitializerRequest.response;Na("memory initializer")};if(a.memoryInitializerRequest){var hb=function(){var d=a.memoryInitializerRequest,b=d.response;200!==d.status&&0!==d.status?(console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+d.status+", retrying "+ +V),gb()):fb(b)};a.memoryInitializerRequest.response?setTimeout(hb,0):a.memoryInitializerRequest.addEventListener("load",hb)}else gb()}a.then=function(d){if(a.calledRun)d(a);else{var b=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){b&&b();d(a)}}return a};ea.prototype=Error();ea.prototype.constructor=ea;var Za=null;sa=function b(){a.calledRun||Da();a.calledRun||(sa=b)};a.run=Da;a.exit=function(b,c){if(!c||!a.noExitRuntime){if(!a.noExitRuntime&&(ua=!0,U=void 0,u(db),a.onExit))a.onExit(b);pa&& +process.exit(b);a.quit(b,new ea(b))}};var ab=[];a.abort=W;if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0=k.size?(f(0>=1;break;case 4:d>>=2;break;case 8:d>>=3}for(var b=0;b